def test_project_get_list_with_filters(self): filters = {'name': 'Ni!'} request = self.mock_rest_request(**{'GET': dict(**filters)}) self.mock_tenant_list.return_value = ([ mock.Mock(**{'to_dict.return_value': { 'name': 'Ni!' }}), mock.Mock(**{'to_dict.return_value': { 'name': 'Ni!' }}) ], False) with mock.patch.object(settings, 'DEBUG', True): response = keystone.Projects().get(request) self.assertStatusCode(response, 200) self.assertEqual(response.json, { "has_more": False, "items": [{ "name": "Ni!" }, { "name": "Ni!" }] }) self.mock_tenant_list.assert_called_once_with(request, paginate=False, marker=None, domain=None, user=None, admin=True, filters=filters)
def _test_project_get_list(self, params, expected_call, kc): request = self.mock_rest_request(**{'GET': dict(**params)}) kc.tenant_list.return_value = ([ mock.Mock(**{'to_dict.return_value': {'name': 'Ni!'}}), mock.Mock(**{'to_dict.return_value': {'name': 'Ptang!'}}) ], False) with mock.patch.object(settings, 'DEBUG', True): response = keystone.Projects().get(request) self.assertStatusCode(response, 200) self.assertEqual(response.content, '{"has_more": false, ' '"items": [{"name": "Ni!"}, {"name": "Ptang!"}]}') kc.tenant_list.assert_called_once_with(request, **expected_call)
def test_project_delete_many(self, kc): request = self.mock_rest_request(body=''' ["id1", "id2", "id3"] ''') response = keystone.Projects().delete(request) self.assertStatusCode(response, 204) self.assertEqual(response.content, '') kc.tenant_delete.assert_has_calls([ mock.call(request, 'id1'), mock.call(request, 'id2'), mock.call(request, 'id3'), ])
def _test_project_create(self, supplied_body, expected_args): request = self.mock_rest_request(body=supplied_body) self.mock_tenant_create.return_value.id = 'project123' self.mock_tenant_create.return_value.to_dict.return_value = { 'id': 'project123', 'name': 'bob' } response = keystone.Projects().post(request) self.assertStatusCode(response, 201) self.assertEqual(response['location'], '/api/keystone/projects/project123') self.assertEqual(response.json, {"id": "project123", "name": "bob"}) self.mock_tenant_create.assert_called_once_with( request, **expected_args)
def test_project_get_list(self, kc): request = self.mock_rest_request(**{'GET': {}}) kc.tenant_list.return_value = ([ mock.Mock(**{'to_dict.return_value': {'name': 'Ni!'}}), mock.Mock(**{'to_dict.return_value': {'name': 'Ptang!'}}) ], False) with mock.patch.object(settings, 'DEBUG', True): response = keystone.Projects().get(request) self.assertStatusCode(response, 200) self.assertEqual(response.content, '{"has_more": false, ' '"items": [{"name": "Ni!"}, {"name": "Ptang!"}]}') kc.tenant_list.assert_called_once_with(request, paginate=False, marker=None, domain=None, user=None, admin=True, filters=None)
def test_project_delete_many(self, kc): request = construct_request(body=''' { "action": "delete", "data": ["id1", "id2", "id3"] } ''') response = keystone.Projects().post(request) self.assertStatusCode(response, 204) self.assertEqual(response.content, '') kc.tenant_delete.assert_has_mock.calls([ mock.call(request, 'id1'), mock.call(request, 'id2'), mock.call(request, 'id3'), ])
def _test_project_create(self, supplied_body, expected_call, kc): request = construct_request(body=supplied_body) kc.tenant_create.return_value.id = 'project123' kc.tenant_create.return_value.to_dict.return_value = { 'id': 'project123', 'name': 'bob' } response = keystone.Projects().post(request) self.assertStatusCode(response, 201) self.assertEqual(response['location'], '/api/keystone/projects/project123') self.assertEqual(response.content, '{"id": "project123", ' '"name": "bob"}') kc.tenant_create.assert_called_once_with(request, 'bob', **expected_call)