summaryrefslogtreecommitdiff
path: root/openstackclient/tests/unit/compute
diff options
context:
space:
mode:
Diffstat (limited to 'openstackclient/tests/unit/compute')
-rw-r--r--openstackclient/tests/unit/compute/v2/test_flavor.py57
-rw-r--r--openstackclient/tests/unit/compute/v2/test_server.py38
2 files changed, 83 insertions, 12 deletions
diff --git a/openstackclient/tests/unit/compute/v2/test_flavor.py b/openstackclient/tests/unit/compute/v2/test_flavor.py
index 14dd3df2..33ebf546 100644
--- a/openstackclient/tests/unit/compute/v2/test_flavor.py
+++ b/openstackclient/tests/unit/compute/v2/test_flavor.py
@@ -523,6 +523,7 @@ class TestFlavorList(TestFlavor):
self.sdk_client.flavors.assert_called_with(
**kwargs
)
+ self.sdk_client.fetch_flavor_extra_specs.assert_not_called()
self.assertEqual(self.columns, columns)
self.assertEqual(self.data, tuple(data))
@@ -550,6 +551,7 @@ class TestFlavorList(TestFlavor):
self.sdk_client.flavors.assert_called_with(
**kwargs
)
+ self.sdk_client.fetch_flavor_extra_specs.assert_not_called()
self.assertEqual(self.columns, columns)
self.assertEqual(self.data, tuple(data))
@@ -577,6 +579,7 @@ class TestFlavorList(TestFlavor):
self.sdk_client.flavors.assert_called_with(
**kwargs
)
+ self.sdk_client.fetch_flavor_extra_specs.assert_not_called()
self.assertEqual(self.columns, columns)
self.assertEqual(self.data, tuple(data))
@@ -604,6 +607,7 @@ class TestFlavorList(TestFlavor):
self.sdk_client.flavors.assert_called_with(
**kwargs
)
+ self.sdk_client.fetch_flavor_extra_specs.assert_not_called()
self.assertEqual(self.columns, columns)
self.assertEqual(self.data, tuple(data))
@@ -631,6 +635,58 @@ class TestFlavorList(TestFlavor):
self.sdk_client.flavors.assert_called_with(
**kwargs
)
+ self.sdk_client.fetch_flavor_extra_specs.assert_not_called()
+
+ self.assertEqual(self.columns_long, columns)
+ self.assertCountEqual(self.data_long, tuple(data))
+
+ def test_flavor_list_long_no_extra_specs(self):
+ # use flavor with no extra specs for this test
+ flavor = compute_fakes.FakeFlavor.create_one_flavor(
+ attrs={"extra_specs": {}})
+ self.data = ((
+ flavor.id,
+ flavor.name,
+ flavor.ram,
+ flavor.disk,
+ flavor.ephemeral,
+ flavor.vcpus,
+ flavor.is_public,
+ ),)
+ self.data_long = (self.data[0] + (
+ flavor.swap,
+ flavor.rxtx_factor,
+ format_columns.DictColumn(flavor.extra_specs)
+ ),)
+ self.api_mock.side_effect = [[flavor], [], ]
+
+ self.sdk_client.flavors = self.api_mock
+ self.sdk_client.fetch_flavor_extra_specs = mock.Mock(return_value=None)
+
+ arglist = [
+ '--long',
+ ]
+ verifylist = [
+ ('long', True),
+ ]
+
+ parsed_args = self.check_parser(self.cmd, arglist, verifylist)
+
+ # In base command class Lister in cliff, abstract method take_action()
+ # returns a tuple containing the column names and an iterable
+ # containing the data to be listed.
+ columns, data = self.cmd.take_action(parsed_args)
+
+ # Set expected values
+ kwargs = {
+ 'is_public': True,
+ }
+
+ self.sdk_client.flavors.assert_called_with(
+ **kwargs
+ )
+ self.sdk_client.fetch_flavor_extra_specs.assert_called_once_with(
+ flavor)
self.assertEqual(self.columns_long, columns)
self.assertCountEqual(self.data_long, tuple(data))
@@ -662,6 +718,7 @@ class TestFlavorList(TestFlavor):
self.sdk_client.flavors.assert_called_with(
**kwargs
)
+ self.sdk_client.fetch_flavor_extra_specs.assert_not_called()
self.assertEqual(self.columns, columns)
self.assertEqual(tuple(self.data), tuple(data))
diff --git a/openstackclient/tests/unit/compute/v2/test_server.py b/openstackclient/tests/unit/compute/v2/test_server.py
index d393acda..2e64e071 100644
--- a/openstackclient/tests/unit/compute/v2/test_server.py
+++ b/openstackclient/tests/unit/compute/v2/test_server.py
@@ -4449,8 +4449,8 @@ class TestServerList(_TestServerList):
columns, data = self.cmd.take_action(parsed_args)
self.servers_mock.list.assert_called_with(**self.kwargs)
- self.assertEqual(0, self.images_mock.list.call_count)
- self.assertEqual(0, self.flavors_mock.list.call_count)
+ self.images_mock.assert_not_called()
+ self.flavors_mock.list.assert_not_called()
self.assertEqual(self.columns, columns)
self.assertEqual(self.data, tuple(data))
@@ -4473,7 +4473,8 @@ class TestServerList(_TestServerList):
getattr(s, 'OS-EXT-AZ:availability_zone'),
getattr(s, 'OS-EXT-SRV-ATTR:host'),
s.Metadata,
- ) for s in self.servers)
+ ) for s in self.servers
+ )
arglist = [
'--long',
]
@@ -4485,6 +4486,11 @@ class TestServerList(_TestServerList):
columns, data = self.cmd.take_action(parsed_args)
self.servers_mock.list.assert_called_with(**self.kwargs)
+ image_ids = {s.image['id'] for s in self.servers if s.image}
+ self.images_mock.assert_called_once_with(
+ id=f'in:{",".join(image_ids)}',
+ )
+ self.flavors_mock.list.assert_called_once_with(is_public=None)
self.assertEqual(self.columns_long, columns)
self.assertEqual(self.data, tuple(data))
@@ -4548,6 +4554,8 @@ class TestServerList(_TestServerList):
columns, data = self.cmd.take_action(parsed_args)
self.servers_mock.list.assert_called_with(**self.kwargs)
+ self.images_mock.assert_not_called()
+ self.flavors_mock.list.assert_not_called()
self.assertEqual(self.columns, columns)
self.assertEqual(self.data, tuple(data))
@@ -4576,6 +4584,8 @@ class TestServerList(_TestServerList):
columns, data = self.cmd.take_action(parsed_args)
self.servers_mock.list.assert_called_with(**self.kwargs)
+ self.images_mock.assert_not_called()
+ self.flavors_mock.list.assert_not_called()
self.assertEqual(self.columns, columns)
self.assertEqual(self.data, tuple(data))
@@ -4593,8 +4603,8 @@ class TestServerList(_TestServerList):
columns, data = self.cmd.take_action(parsed_args)
self.servers_mock.list.assert_called_with(**self.kwargs)
- self.assertFalse(self.images_mock.list.call_count)
- self.assertFalse(self.flavors_mock.list.call_count)
+ self.images_mock.assert_not_called()
+ self.flavors_mock.list.assert_not_called()
self.get_image_mock.assert_called()
self.flavors_mock.get.assert_called()
@@ -4618,6 +4628,8 @@ class TestServerList(_TestServerList):
self.search_opts['image'] = self.image.id
self.servers_mock.list.assert_called_with(**self.kwargs)
+ self.images_mock.assert_not_called()
+ self.flavors_mock.list.assert_called_once()
self.assertEqual(self.columns, columns)
self.assertEqual(self.data, tuple(data))
@@ -4634,10 +4646,12 @@ class TestServerList(_TestServerList):
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
columns, data = self.cmd.take_action(parsed_args)
- self.flavors_mock.get.has_calls(self.flavor.id)
+ self.flavors_mock.get.assert_has_calls([mock.call(self.flavor.id)])
self.search_opts['flavor'] = self.flavor.id
self.servers_mock.list.assert_called_with(**self.kwargs)
+ self.images_mock.assert_called_once()
+ self.flavors_mock.list.assert_not_called()
self.assertEqual(self.columns, columns)
self.assertEqual(self.data, tuple(data))
@@ -5101,8 +5115,8 @@ class TestServerListV273(_TestServerList):
self.search_opts['locked'] = True
self.servers_mock.list.assert_called_with(**self.kwargs)
- self.assertItemsEqual(self.columns, columns)
- self.assertItemsEqual(self.data, tuple(data))
+ self.assertCountEqual(self.columns, columns)
+ self.assertCountEqual(self.data, tuple(data))
def test_server_list_with_unlocked_v273(self):
@@ -5121,8 +5135,8 @@ class TestServerListV273(_TestServerList):
self.search_opts['locked'] = False
self.servers_mock.list.assert_called_with(**self.kwargs)
- self.assertItemsEqual(self.columns, columns)
- self.assertItemsEqual(self.data, tuple(data))
+ self.assertCountEqual(self.columns, columns)
+ self.assertCountEqual(self.data, tuple(data))
def test_server_list_with_locked_and_unlocked(self):
@@ -5162,8 +5176,8 @@ class TestServerListV273(_TestServerList):
self.servers_mock.list.assert_called_with(**self.kwargs)
- self.assertItemsEqual(self.columns, columns)
- self.assertItemsEqual(self.data, tuple(data))
+ self.assertCountEqual(self.columns, columns)
+ self.assertCountEqual(self.data, tuple(data))
@mock.patch.object(iso8601, 'parse_date', side_effect=iso8601.ParseError)
def test_server_list_with_invalid_changes_before(