diff options
author | Zuul <zuul@review.opendev.org> | 2023-03-10 13:34:29 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2023-03-10 13:34:29 +0000 |
commit | 1daf06ff0da0cc684146d0c2bdfe555d6f814d74 (patch) | |
tree | 0145feeb2da41f025703647eb2e450e2c1dd886b | |
parent | acacffd29c68584b56a6e1eba58ca0597d149c13 (diff) | |
parent | 8cd439a27ac5351b04bea8b6afe7224c704a6bc7 (diff) | |
download | heat-1daf06ff0da0cc684146d0c2bdfe555d6f814d74.tar.gz |
Merge "Fix unit tests with python-novaclient 18.3.0" into stable/2023.1
-rw-r--r-- | heat/tests/openstack/nova/test_server.py | 52 |
1 files changed, 41 insertions, 11 deletions
diff --git a/heat/tests/openstack/nova/test_server.py b/heat/tests/openstack/nova/test_server.py index 1ed657ff2..5419857dd 100644 --- a/heat/tests/openstack/nova/test_server.py +++ b/heat/tests/openstack/nova/test_server.py @@ -2437,16 +2437,33 @@ class ServersTest(common.HeatTestCase): scheduler.TaskRunner(server.update, update_template)() self.assertEqual((server.UPDATE, server.COMPLETE), server.state) + # NOTE(tkajinam): python-novaclient 18.3.0 removed usage of args/kwargs + # and now all arguments are defined. To make the test + # independent from the underlying inteface as much as + # possible we inspect kwargs and check what we intend + # to define in Heat's logic. + mock_rebuild.assert_called_once() + self.assertEqual((return_server, '2'), mock_rebuild.call_args.args) if 'REBUILD' == policy: - mock_rebuild.assert_called_once_with( - return_server, '2', password=password, - preserve_ephemeral=False, - meta={}, files={}) + self.assertLessEqual( + { + 'password': password, + 'preserve_ephemeral': False, + 'meta': {}, + 'files': {} + }.items(), + mock_rebuild.call_args.kwargs.items() + ) else: - mock_rebuild.assert_called_once_with( - return_server, '2', password=password, - preserve_ephemeral=True, - meta={}, files={}) + self.assertLessEqual( + { + 'password': password, + 'preserve_ephemeral': True, + 'meta': {}, + 'files': {} + }.items(), + mock_rebuild.call_args.kwargs.items() + ) def test_server_update_image_rebuild_status_rebuild(self): # Normally we will see 'REBUILD' first and then 'ACTIVE". @@ -2502,9 +2519,22 @@ class ServersTest(common.HeatTestCase): "Rebuilding server failed, status 'ERROR'", str(error)) self.assertEqual((server.UPDATE, server.FAILED), server.state) - mock_rebuild.assert_called_once_with( - return_server, '2', password=None, preserve_ephemeral=False, - meta={}, files={}) + # NOTE(tkajinam): python-novaclient 18.3.0 removed usage of args/kwargs + # and now all arguments are defined. To make the test + # independent from the underlying inteface as much as + # possible we inspect kwargs and check what we intend + # to define in Heat's logic. + mock_rebuild.assert_called_once() + self.assertEqual((return_server, '2'), mock_rebuild.call_args.args) + self.assertLessEqual( + { + 'password': None, + 'preserve_ephemeral': False, + 'meta': {}, + 'files': {} + }.items(), + mock_rebuild.call_args.kwargs.items() + ) def test_server_update_properties(self): return_server = self.fc.servers.list()[1] |