def test_releases_get_module_author(self): """ Test getting module author from path """ releases_view = ModulesView() module_name = 'test/module' author = 'test' author_name = releases_view._get_module_author(module_name) self.assertEqual(author, author_name)
def test_releases_get_bad_credentials(self): """ Test getting improperly formatted credentials from header """ releases_view = ModulesView() encoded_creds = base64.encodestring('blah') headers = {'HTTP_AUTHORIZATION': encoded_creds} creds = releases_view._get_credentials(headers) self.assertEqual(creds, None)
def test_releases_get_module_name(self): """ Test getting module name from path """ releases_view = ModulesView() module = 'test/module' path = '/v3/modules/test-module' module_name = releases_view._get_module_name(path) self.assertEqual(module, module_name)
def test_releases_get_credentials(self): """ Test getting credentials from header """ releases_view = ModulesView() real_creds = ('test', '123') encoded_creds = base64.encodestring('test:123') headers = {'HTTP_AUTHORIZATION': encoded_creds} creds = releases_view._get_credentials(headers) self.assertEqual(real_creds, creds)
def test_releases_bad_resource_type(self, mock_get_credentials, mock_get_module_name): """ Test that only consumer or repository resource type is allowed """ mock_get_module_name.return_value = 'fake-module' mock_get_credentials.return_value = () mock_request = mock.MagicMock() releases_view = ModulesView() response = releases_view.get(mock_request, resource_type='foo') self.assertEqual(response.status_code, 404)
def test_releases_missing_auth(self, mock_get_credentials, mock_get_module_name): """ Test that 401 is returned when basic auth is not used for pre 3.3 """ mock_get_module_name.return_value = 'fake-module' mock_get_credentials.return_value = () mock_request = mock.MagicMock() releases_view = ModulesView() response = releases_view.get(mock_request) self.assertEqual(response.status_code, 401)
def test_releases_missing_module(self, mock_get_credentials, mock_get_module_name): """ Test that proper response is returned when module name is not specified """ mock_get_module_name.return_value = '' mock_get_credentials.return_value = () mock_request = mock.MagicMock() releases_view = ModulesView() response = releases_view.get(mock_request, resource_type='repository', resource='repo-id') self.assertEqual(response.status_code, 400) self.assertEqual(response.content, 'Module name is missing.')