From f6556f56365a94a44120c576af4300110d0de76e Mon Sep 17 00:00:00 2001 From: wangdonghui <977675308@qq.com> Date: Mon, 25 Apr 2022 18:28:27 +0800 Subject: [PATCH] ListSubCommand: return job fullname Change-Id: Id1e53d05383efad191ad254ff0f17e3c573aeb65 --- jenkins_jobs/cli/subcommand/list.py | 4 ++-- tests/cmd/subcommands/test_list.py | 10 +++++++++- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/jenkins_jobs/cli/subcommand/list.py b/jenkins_jobs/cli/subcommand/list.py index d00d958d8..234715861 100644 --- a/jenkins_jobs/cli/subcommand/list.py +++ b/jenkins_jobs/cli/subcommand/list.py @@ -58,9 +58,9 @@ class ListSubCommand(base.BaseSubCommand): jobs = [j["name"] for j in p.jobs] else: jobs = [ - j["name"] + j["fullname"] for j in self.jenkins.get_jobs() - if not jobs_glob or parser.matches(j["name"], jobs_glob) + if not jobs_glob or parser.matches(j["fullname"], jobs_glob) ] jobs = sorted(jobs) diff --git a/tests/cmd/subcommands/test_list.py b/tests/cmd/subcommands/test_list.py index 4f3ebd7a0..94ce88cb7 100644 --- a/tests/cmd/subcommands/test_list.py +++ b/tests/cmd/subcommands/test_list.py @@ -27,6 +27,14 @@ class ListFromJenkinsTests(TestWithScenarios, CmdTestsBase): scenarios = [ ("single", dict(jobs=["job1"], globs=[], found=["job1"])), ("multiple", dict(jobs=["job1", "job2"], globs=[], found=["job1", "job2"])), + ( + "multiple_with_folder", + dict( + jobs=["folder1", "folder1/job1", "folder1/job2"], + globs=[], + found=["folder1", "folder1/job1", "folder1/job2"] + ) + ), ( "multiple_with_glob", dict( @@ -48,7 +56,7 @@ class ListFromJenkinsTests(TestWithScenarios, CmdTestsBase): @mock.patch("jenkins_jobs.builder.JenkinsManager.get_jobs") def test_list(self, get_jobs_mock): def _get_jobs(): - return [{"name": name} for name in self.jobs] + return [{"fullname": fullname} for fullname in self.jobs] get_jobs_mock.side_effect = _get_jobs console_out = io.BytesIO()