This repository has been archived by the owner on Sep 26, 2019. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 164
/
base.py
59 lines (47 loc) · 1.42 KB
/
base.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
import copy
import json
from tests.base import JenkinsTestBase
class JenkinsJobsTestBase(JenkinsTestBase):
config_xml = """
<matrix-project>
<actions/>
<description>Foo</description>
</matrix-project>"""
class JenkinsGetJobsTestBase(JenkinsJobsTestBase):
jobs_in_folder = [
[
{'name': 'my_job1'},
{'name': 'my_folder1', 'jobs': None},
{'name': 'my_job2'}
],
# my_folder1 jobs
[
{'name': 'my_job3'},
{'name': 'my_job4'}
]
]
jobs_in_multiple_folders = copy.deepcopy(jobs_in_folder)
jobs_in_multiple_folders[1].insert(
0, {'name': 'my_folder2', 'jobs': None})
jobs_in_multiple_folders.append(
# my_folder1/my_folder2 jobs
[
{'name': 'my_job1'},
{'name': 'my_job2'}
]
)
def build_jobs_list_responses(jobs_list, server_url):
responses = []
for jobs in jobs_list:
get_jobs_response = []
for job in jobs:
job_json = {
u'url': u'%s/job/%s' % (server_url.rstrip('/'), job['name']),
u'name': job['name'],
u'color': u'blue'
}
if 'jobs' in job:
job_json[u'jobs'] = "null"
get_jobs_response.append(job_json)
responses.append(json.dumps({u'jobs': get_jobs_response}))
return responses