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
This commit is contained in:
Szymon Wroblewski 2022-09-06 11:40:10 +02:00
parent cd475f9af8
commit 9081ce369e
1 changed files with 19 additions and 9 deletions

View File

@ -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':