From 794b101a000a8d1dd484995dca900f32410e273b Mon Sep 17 00:00:00 2001 From: Akihiro Motoki Date: Tue, 24 Apr 2018 04:23:12 +0900 Subject: [PATCH] Convert identity.identity_providers tests into mock blueprint mock-framework-in-unit-tests Change-Id: I289488f6ccded28ea0d0f4098c615f0b76e73085 --- .../identity_providers/protocols/tests.py | 44 +++----- .../identity/identity_providers/tests.py | 104 +++++++++--------- 2 files changed, 70 insertions(+), 78 deletions(-) diff --git a/openstack_dashboard/dashboards/identity/identity_providers/protocols/tests.py b/openstack_dashboard/dashboards/identity/identity_providers/protocols/tests.py index 9fb7b4c170..4919406f81 100644 --- a/openstack_dashboard/dashboards/identity/identity_providers/protocols/tests.py +++ b/openstack_dashboard/dashboards/identity/identity_providers/protocols/tests.py @@ -12,12 +12,8 @@ # License for the specific language governing permissions and limitations # under the License. -from django import http from django.urls import reverse -from mox3.mox import IgnoreArg -from mox3.mox import IsA - from openstack_dashboard import api from openstack_dashboard.test import helpers as test @@ -31,23 +27,14 @@ PROTOCOLS_CREATE_URL = reverse( class ProtocolsViewTests(test.BaseAdminViewTests): - use_mox = True - - @test.create_stubs({api.keystone: ('mapping_list', + @test.create_mocks({api.keystone: ('mapping_list', 'protocol_create', )}) def test_create(self): idp = self.identity_providers.first() protocol = self.idp_protocols.first() - api.keystone.mapping_list(IgnoreArg()). \ - AndReturn(self.idp_mappings.list()) - api.keystone.protocol_create(IgnoreArg(), - protocol.id, - idp.id, - protocol.mapping_id). \ - AndReturn(protocol) - - self.mox.ReplayAll() + self.mock_mapping_list.return_value = self.idp_mappings.list() + self.mock_protocol_create.return_value = protocol formData = {'method': 'AddProtocolForm', 'id': protocol.id, @@ -58,24 +45,29 @@ class ProtocolsViewTests(test.BaseAdminViewTests): self.assertNoFormErrors(res) self.assertMessageCount(success=1) - @test.create_stubs({api.keystone: ('identity_provider_get', + self.mock_mapping_list.assert_called_once_with(test.IsHttpRequest()) + self.mock_protocol_create.assert_called_once_with( + test.IsHttpRequest(), protocol.id, idp.id, protocol.mapping_id) + + @test.create_mocks({api.keystone: ('identity_provider_get', 'protocol_list', 'protocol_delete')}) def test_delete(self): idp = self.identity_providers.first() protocol = self.idp_protocols.first() - api.keystone.identity_provider_get(IsA(http.HttpRequest), idp.id). \ - AndReturn(idp) - api.keystone.protocol_list(IsA(http.HttpRequest), idp.id). \ - AndReturn(self.idp_protocols.list()) - api.keystone.protocol_delete(IsA(http.HttpRequest), - idp.id, - protocol.id).AndReturn(None) - - self.mox.ReplayAll() + self.mock_identity_provider_get.return_value = idp + self.mock_protocol_list.return_value = self.idp_protocols.list() + self.mock_protocol_delete.return_value = None formData = {'action': 'idp_protocols__delete__%s' % protocol.id} res = self.client.post(IDPS_DETAIL_URL, formData) self.assertNoFormErrors(res) + + self.mock_identity_provider_get.assert_called_once_with( + test.IsHttpRequest(), idp.id) + self.mock_protocol_list.assert_called_once_with( + test.IsHttpRequest(), idp.id) + self.mock_protocol_delete.assert_called_once_with( + test.IsHttpRequest(), idp.id, protocol.id) diff --git a/openstack_dashboard/dashboards/identity/identity_providers/tests.py b/openstack_dashboard/dashboards/identity/identity_providers/tests.py index 1e7b125829..bf216e55f7 100644 --- a/openstack_dashboard/dashboards/identity/identity_providers/tests.py +++ b/openstack_dashboard/dashboards/identity/identity_providers/tests.py @@ -12,12 +12,8 @@ # License for the specific language governing permissions and limitations # under the License. -from django import http from django.urls import reverse -from mox3.mox import IgnoreArg -from mox3.mox import IsA - from openstack_dashboard import api from openstack_dashboard.test import helpers as test @@ -32,14 +28,10 @@ IDPS_DETAIL_URL = reverse('horizon:identity:identity_providers:detail', class IdPsViewTests(test.BaseAdminViewTests): - use_mox = True - - @test.create_stubs({api.keystone: ('identity_provider_list',)}) + @test.create_mocks({api.keystone: ('identity_provider_list',)}) def test_index(self): - api.keystone.identity_provider_list(IgnoreArg()). \ - AndReturn(self.identity_providers.list()) - - self.mox.ReplayAll() + self.mock_identity_provider_list.return_value = \ + self.identity_providers.list() res = self.client.get(IDPS_INDEX_URL) @@ -47,18 +39,14 @@ class IdPsViewTests(test.BaseAdminViewTests): self.assertItemsEqual(res.context['table'].data, self.identity_providers.list()) - @test.create_stubs({api.keystone: ('identity_provider_create', )}) + self.mock_identity_provider_list.assert_called_once_with( + test.IsHttpRequest()) + + @test.create_mocks({api.keystone: ('identity_provider_create', )}) def test_create(self): idp = self.identity_providers.first() - api.keystone.identity_provider_create(IgnoreArg(), - idp.id, - description=idp.description, - enabled=idp.enabled, - remote_ids=idp.remote_ids). \ - AndReturn(idp) - - self.mox.ReplayAll() + self.mock_identity_provider_create.return_value = idp formData = {'method': 'RegisterIdPForm', 'id': idp.id, @@ -70,22 +58,21 @@ class IdPsViewTests(test.BaseAdminViewTests): self.assertNoFormErrors(res) self.assertMessageCount(success=1) - @test.create_stubs({api.keystone: ('identity_provider_get', + self.mock_identity_provider_create.assert_called_once_with( + test.IsHttpRequest(), + idp.id, + description=idp.description, + enabled=idp.enabled, + remote_ids=idp.remote_ids) + + @test.create_mocks({api.keystone: ('identity_provider_get', 'identity_provider_update')}) def test_update(self): idp = self.identity_providers.first() new_description = 'new_idp_desc' - api.keystone.identity_provider_get(IsA(http.HttpRequest), idp.id). \ - AndReturn(idp) - api.keystone.identity_provider_update(IsA(http.HttpRequest), - idp.id, - description=new_description, - enabled=idp.enabled, - remote_ids=idp.remote_ids). \ - AndReturn(None) - - self.mox.ReplayAll() + self.mock_identity_provider_get.return_value = idp + self.mock_identity_provider_update.return_value = None formData = {'method': 'UpdateIdPForm', 'id': idp.id, @@ -98,34 +85,41 @@ class IdPsViewTests(test.BaseAdminViewTests): self.assertNoFormErrors(res) self.assertMessageCount(success=1) - @test.create_stubs({api.keystone: ('identity_provider_list', + self.mock_identity_provider_get.assert_called_once_with( + test.IsHttpRequest(), idp.id) + self.mock_identity_provider_update.assert_called_once_with( + test.IsHttpRequest(), + idp.id, + description=new_description, + enabled=idp.enabled, + remote_ids=idp.remote_ids) + + @test.create_mocks({api.keystone: ('identity_provider_list', 'identity_provider_delete')}) def test_delete(self): idp = self.identity_providers.first() - api.keystone.identity_provider_list(IsA(http.HttpRequest)) \ - .AndReturn(self.identity_providers.list()) - api.keystone.identity_provider_delete(IsA(http.HttpRequest), - idp.id).AndReturn(None) - - self.mox.ReplayAll() + self.mock_identity_provider_list.return_value = \ + self.identity_providers.list() + self.mock_identity_provider_delete.return_value = None formData = {'action': 'identity_providers__delete__%s' % idp.id} res = self.client.post(IDPS_INDEX_URL, formData) self.assertNoFormErrors(res) - @test.create_stubs({api.keystone: ('identity_provider_get', + self.mock_identity_provider_list.assert_called_once_with( + test.IsHttpRequest()) + self.mock_identity_provider_delete.assert_called_once_with( + test.IsHttpRequest(), idp.id) + + @test.create_mocks({api.keystone: ('identity_provider_get', 'protocol_list')}) def test_detail(self): idp = self.identity_providers.first() - api.keystone.identity_provider_get(IsA(http.HttpRequest), idp.id). \ - AndReturn(idp) - api.keystone.protocol_list(IsA(http.HttpRequest), idp.id). \ - AndReturn(self.idp_protocols.list()) - - self.mox.ReplayAll() + self.mock_identity_provider_get.return_value = idp + self.mock_protocol_list.return_value = self.idp_protocols.list() res = self.client.get(IDPS_DETAIL_URL) @@ -133,17 +127,18 @@ class IdPsViewTests(test.BaseAdminViewTests): res, 'identity/identity_providers/_detail_overview.html') self.assertTemplateUsed(res, 'horizon/common/_detail_table.html') - @test.create_stubs({api.keystone: ('identity_provider_get', + self.mock_identity_provider_get.assert_called_once_with( + test.IsHttpRequest(), idp.id) + self.mock_protocol_list.assert_called_once_with( + test.IsHttpRequest(), idp.id) + + @test.create_mocks({api.keystone: ('identity_provider_get', 'protocol_list')}) def test_detail_protocols(self): idp = self.identity_providers.first() - api.keystone.identity_provider_get(IsA(http.HttpRequest), idp.id). \ - AndReturn(idp) - api.keystone.protocol_list(IsA(http.HttpRequest), idp.id). \ - AndReturn(self.idp_protocols.list()) - - self.mox.ReplayAll() + self.mock_identity_provider_get.return_value = idp + self.mock_protocol_list.return_value = self.idp_protocols.list() res = self.client.get(IDPS_DETAIL_URL + '?tab=idp_details__protocols') @@ -152,3 +147,8 @@ class IdPsViewTests(test.BaseAdminViewTests): self.assertTemplateUsed(res, 'horizon/common/_detail_table.html') self.assertItemsEqual(res.context['idp_protocols_table'].data, self.idp_protocols.list()) + + self.mock_identity_provider_get.assert_called_once_with( + test.IsHttpRequest(), idp.id) + self.mock_protocol_list.assert_called_once_with( + test.IsHttpRequest(), idp.id)