From 0ab6388e30c3005876a8ae0a7a599df9c7ad28d6 Mon Sep 17 00:00:00 2001 From: Joseph Schorr Date: Tue, 7 Mar 2017 20:39:42 -0500 Subject: [PATCH] Add support for null ref, as that can be the value if a default branch is not chosen --- endpoints/api/trigger.py | 2 +- test/test_api_usage.py | 17 ++++++++++++----- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/endpoints/api/trigger.py b/endpoints/api/trigger.py index 3dec076b6..95328818d 100644 --- a/endpoints/api/trigger.py +++ b/endpoints/api/trigger.py @@ -404,7 +404,7 @@ class ActivateBuildTrigger(RepositoryParamResource): 'description': '(Custom Only) If specified, the ref/SHA1 used to checkout a git repository.' }, 'refs': { - 'type': 'object', + 'type': ['object', 'null'], 'description': '(SCM Only) If specified, the ref to build.' } }, diff --git a/test/test_api_usage.py b/test/test_api_usage.py index eead6487f..0291fba4c 100644 --- a/test/test_api_usage.py +++ b/test/test_api_usage.py @@ -4059,11 +4059,18 @@ class TestBuildTriggers(ApiTestCase): self.assertEquals('bar', py_json.loads(build_obj.job_config)['trigger_metadata']['foo']) # Start another manual build, with a ref. - start_json = self.postJsonResponse(ActivateBuildTrigger, - params=dict(repository=ADMIN_ACCESS_USER + '/simple', - trigger_uuid=trigger.uuid), - data=dict(refs={'kind': 'branch', 'name': 'foobar'}), - expected_code=201) + self.postJsonResponse(ActivateBuildTrigger, + params=dict(repository=ADMIN_ACCESS_USER + '/simple', + trigger_uuid=trigger.uuid), + data=dict(refs={'kind': 'branch', 'name': 'foobar'}), + expected_code=201) + + # Start another manual build with a null ref. + self.postJsonResponse(ActivateBuildTrigger, + params=dict(repository=ADMIN_ACCESS_USER + '/simple', + trigger_uuid=trigger.uuid), + data=dict(refs=None), + expected_code=201) def test_invalid_robot_account(self): self.login(ADMIN_ACCESS_USER)