summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZuul <zuul@review.opendev.org>2023-03-10 13:34:29 +0000
committerGerrit Code Review <review@openstack.org>2023-03-10 13:34:29 +0000
commit1daf06ff0da0cc684146d0c2bdfe555d6f814d74 (patch)
tree0145feeb2da41f025703647eb2e450e2c1dd886b
parentacacffd29c68584b56a6e1eba58ca0597d149c13 (diff)
parent8cd439a27ac5351b04bea8b6afe7224c704a6bc7 (diff)
downloadheat-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.py52
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]