From 9081ce369e6c2cb4c87bd8b16d866ed861e83864 Mon Sep 17 00:00:00 2001 From: Szymon Wroblewski Date: Tue, 6 Sep 2022 11:40:10 +0200 Subject: [PATCH] Fix test_nova_send_events_* tests mock().foo.bar and mock.foo.bar generate different mocks. Fix mocks to reflect actual use of nova client and add assert to verify create function was actually called. Change-Id: I0bec5ceb0dac5d233ca371865e99f93cbe417b68 --- neutron/tests/unit/notifiers/test_nova.py | 28 +++++++++++++++-------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/neutron/tests/unit/notifiers/test_nova.py b/neutron/tests/unit/notifiers/test_nova.py index 4ebcdd09f92..88c9690c2dd 100644 --- a/neutron/tests/unit/notifiers/test_nova.py +++ b/neutron/tests/unit/notifiers/test_nova.py @@ -239,15 +239,17 @@ class TestNovaNotify(base.BaseTestCase): @mock.patch('novaclient.client.Client') def test_nova_send_events_returns_bad_list(self, mock_client): - mock_client.server_external_events.create.return_value = ( - 'i am a string!') + create = mock_client().server_external_events.create + create.return_value = 'i am a string!' self.nova_notifier.send_events([]) + create.assert_called() @mock.patch('novaclient.client.Client') def test_nova_send_event_rasies_404(self, mock_client): - mock_client.server_external_events.create.return_value = ( - nova_exceptions.NotFound) + create = mock_client().server_external_events.create + create.return_value = nova_exceptions.NotFound self.nova_notifier.send_events([]) + create.assert_called() @mock.patch('novaclient.client.Client') def test_nova_send_events_raises_connect_exc(self, mock_client): @@ -259,33 +261,40 @@ class TestNovaNotify(base.BaseTestCase): @mock.patch('novaclient.client.Client') def test_nova_send_events_raises(self, mock_client): - mock_client.server_external_events.create.return_value = Exception + create = mock_client().server_external_events.create + create.return_value = Exception self.nova_notifier.send_events([]) + create.assert_called() @mock.patch('novaclient.client.Client') def test_nova_send_events_returns_non_200(self, mock_client): device_id = '32102d7b-1cf4-404d-b50a-97aae1f55f87' - mock_client.server_external_events.create.return_value = [ + create = mock_client().server_external_events.create + create.return_value = [ {'code': 404, 'name': 'network-changed', 'server_uuid': device_id}] self.nova_notifier.send_events([{'name': 'network-changed', 'server_uuid': device_id}]) + create.assert_called() @mock.patch('novaclient.client.Client') def test_nova_send_events_return_200(self, mock_client): device_id = '32102d7b-1cf4-404d-b50a-97aae1f55f87' - mock_client.server_external_events.create.return_value = [ + create = mock_client().server_external_events.create + create.return_value = [ {'code': 200, 'name': 'network-changed', 'server_uuid': device_id}] self.nova_notifier.send_events([{'name': 'network-changed', 'server_uuid': device_id}]) + create.assert_called() @mock.patch('novaclient.client.Client') - def test_nova_send_events_multiple(self, mock_create): + def test_nova_send_events_multiple(self, mock_client): device_id = '32102d7b-1cf4-404d-b50a-97aae1f55f87' - mock_create.server_external_events.create.return_value = [ + create = mock_client().server_external_events.create + create.return_value = [ {'code': 200, 'name': 'network-changed', 'server_uuid': device_id}, @@ -295,6 +304,7 @@ class TestNovaNotify(base.BaseTestCase): self.nova_notifier.send_events([ {'name': 'network-changed', 'server_uuid': device_id}, {'name': 'network-changed', 'server_uuid': device_id}]) + create.assert_called() def test_reassociate_floatingip_without_disassociate_event(self): returned_obj = {'floatingip':