diff options
author | Zuul <zuul@review.openstack.org> | 2019-03-25 22:25:33 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2019-03-25 22:25:33 +0000 |
commit | 65596aaafd54f690410eb80b1abea28ef6f9c0f0 (patch) | |
tree | c776a86f5f319f4a46303a335e2a13080e34e55f /tests | |
parent | 570a8ead7a6d7c9810a126bc69ca7b65d59881fb (diff) | |
parent | 4bf0fb03d823e0018734f4549b11663524ae2536 (diff) | |
download | zuul-65596aaafd54f690410eb80b1abea28ef6f9c0f0.tar.gz |
Merge "Add API endpoint to get frozen jobs"
Diffstat (limited to 'tests')
-rwxr-xr-x | tests/unit/test_web.py | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/tests/unit/test_web.py b/tests/unit/test_web.py index 7fb8fe495..211f7cb1d 100755 --- a/tests/unit/test_web.py +++ b/tests/unit/test_web.py @@ -710,6 +710,53 @@ class TestWeb(BaseTestWeb): job = self.get_url("api/tenant/tenant-one/job/noop").json() self.assertEqual("noop", job[0]["name"]) + def test_freeze_jobs(self): + # Test can get a list of the jobs for a given project+pipeline+branch. + resp = self.get_url( + "api/tenant/tenant-one/pipeline/check" + "/project/org/project1/branch/master/freeze-jobs") + + freeze_jobs = [{ + 'name': 'project-merge', + 'dependencies': [], + }, { + 'name': 'project-test1', + 'dependencies': [{ + 'name': 'project-merge', + 'soft': False, + }], + }, { + 'name': 'project-test2', + 'dependencies': [{ + 'name': 'project-merge', + 'soft': False, + }], + }, { + 'name': 'project1-project2-integration', + 'dependencies': [{ + 'name': 'project-merge', + 'soft': False, + }], + }] + self.assertEqual(freeze_jobs, resp.json()) + + def test_freeze_jobs_set_includes_all_jobs(self): + # When freezing a job set we want to include all jobs even if they + # have certain matcher requirements (such as required files) since we + # can't otherwise evaluate them. + + resp = self.get_url( + "api/tenant/tenant-one/pipeline/gate" + "/project/org/project/branch/master/freeze-jobs") + expected = { + 'name': 'project-testfile', + 'dependencies': [{ + 'name': 'project-merge', + 'soft': False, + }], + } + self.assertIn(expected, resp.json()) + class TestWebSecrets(BaseTestWeb): tenant_config_file = 'config/secrets/main.yaml' |