From 03f8a54fdda384d1c2f43a85dd3483a59008ca87 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Kadl=C4=8D=C3=ADk?= Date: Mon, 24 Apr 2017 21:17:41 +0200 Subject: [PATCH] Test allow_custom_urls config option --- tests/test_views/test_views.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/tests/test_views/test_views.py b/tests/test_views/test_views.py index dd0330b7..57bbbe79 100644 --- a/tests/test_views/test_views.py +++ b/tests/test_views/test_views.py @@ -744,3 +744,25 @@ class TestViews(unittest.TestCase): data['message']) self.assertEquals(data['status'], 422) self.assertEquals(data['error'], 'Unprocessable Entity') + + @patch('module_build_service.auth.get_user', return_value=user) + @patch('module_build_service.scm.SCM') + @patch("module_build_service.config.Config.allow_custom_urls", new_callable=PropertyMock) + def test_submit_custom_scmurl(self, allow_custom_urls, mocked_scm, mocked_get_user): + MockedSCM(mocked_scm, 'testmodule', 'testmodule.yaml', + '620ec77321b2ea7b0d67d82992dda3e1d67055b4') + + def submit(scmurl): + return self.client.post('/module-build-service/1/module-builds/', data=json.dumps( + {'branch': 'master', 'scmurl': scmurl})) + + allow_custom_urls.return_value = False + res1 = submit('git://some.custom.url.org/modules/testmodule.git?#68931c9') + data = json.loads(res1.data) + self.assertEquals(data['status'], 403) + self.assertTrue(data['message'].startswith('The submitted scmurl')) + self.assertTrue(data['message'].endswith('is not allowed')) + + allow_custom_urls.return_value = True + res2 = submit('git://some.custom.url.org/modules/testmodule.git?#68931c9') + self.assertEquals(res2.status_code, 201)