This Allow to include folders in jobs list when calling get_all_jobs()

method.
Closes-Bug: #1731903

Change-Id: Ib55d58c96f2bc4543db1b85336c04e4c6cd81021
This commit is contained in:
Ayoub Elhamdani 2017-11-13 13:47:56 +01:00 committed by Sorin Sbarnea
parent 16007e0185
commit b7f0f717fc
3 changed files with 14 additions and 15 deletions

View File

@ -817,6 +817,14 @@ class Jenkins(object):
if not isinstance(lvl_jobs, list):
lvl_jobs = [lvl_jobs]
for job in lvl_jobs:
# insert fullname info if it doesn't exist to
# allow callers to easily reference unambiguously
if u'fullname' not in job:
job[u'fullname'] = '/'.join(
[p for p in root.split('/')
if p and p != 'job'] +
[job[u'name']])
jobs_list.append(job)
if 'jobs' in job: # folder
if folder_depth is None or lvl < folder_depth:
path = '/job/'.join((root, job[u'name']))
@ -824,15 +832,6 @@ class Jenkins(object):
(lvl + 1, path,
self.get_info(path,
query=JOBS_QUERY)['jobs']))
else:
# insert fullname info if it doesn't exist to
# allow callers to easily reference unambiguously
if u'fullname' not in job:
job[u'fullname'] = '/'.join(
[p for p in root.split('/')
if p and p != 'job'] +
[job[u'name']])
jobs_list.append(job)
return jobs_list
def copy_job(self, from_name, to_name):

View File

@ -36,7 +36,7 @@ class JenkinsGetJobsTest(JenkinsGetJobsTestBase):
jobs_info = self.j.get_jobs()
expected_fullnames = [
u"my_job1", u"my_job2"
u"my_job1", u"my_folder1", u"my_job2"
]
self.assertEqual(len(expected_fullnames), len(jobs_info))
got_fullnames = [job[u"fullname"] for job in jobs_info]
@ -51,7 +51,7 @@ class JenkinsGetJobsTest(JenkinsGetJobsTestBase):
jobs_info = self.j.get_jobs(folder_depth=1)
expected_fullnames = [
u"my_job1", u"my_job2",
u"my_job1", u"my_folder1", u"my_job2",
u"my_folder1/my_job3", u"my_folder1/my_job4"
]
self.assertEqual(len(expected_fullnames), len(jobs_info))

View File

@ -16,7 +16,7 @@ class JenkinsGetAllJobsTest(JenkinsGetJobsTestBase):
jobs_info = self.j.get_all_jobs()
expected_fullnames = [
u"my_job1", u"my_job2",
u"my_job1", u"my_folder1", u"my_job2",
u"my_folder1/my_job3", u"my_folder1/my_job4"
]
self.assertEqual(len(expected_fullnames), len(jobs_info))
@ -32,7 +32,7 @@ class JenkinsGetAllJobsTest(JenkinsGetJobsTestBase):
jobs_info = self.j.get_all_jobs()
expected_fullnames = [
u"my_job1", u"my_job2",
u"my_job1", u"my_folder1", u"my_job2", u"my_folder1/my_folder2",
u"my_folder1/my_job3", u"my_folder1/my_job4",
u"my_folder1/my_folder2/my_job1", u"my_folder1/my_folder2/my_job2"
]
@ -53,7 +53,7 @@ class JenkinsGetAllJobsTest(JenkinsGetJobsTestBase):
jobs_info = self.j.get_all_jobs(folder_depth=1)
expected_fullnames = [
u"my_job1", u"my_job2",
u"my_job1", u"my_folder1", u"my_job2", u"my_folder1/my_folder2",
u"my_folder1/my_job3", u"my_folder1/my_job4"
]
self.assertEqual(len(expected_fullnames), len(jobs_info))
@ -69,7 +69,7 @@ class JenkinsGetAllJobsTest(JenkinsGetJobsTestBase):
jobs_info = self.j.get_all_jobs()
expected_fullnames = [
u"my_job1", u"my_job2",
u"my_job1", u"my_folder1", u"my_job2", u"my_folder1/my spaced folder",
u"my_folder1/my_job3", u"my_folder1/my_job4",
u"my_folder1/my spaced folder/my job 5"
]