summaryrefslogtreecommitdiff
path: root/openstackclient/tests/unit
diff options
context:
space:
mode:
authorZuul <zuul@review.opendev.org>2019-06-23 00:45:37 +0000
committerGerrit Code Review <review@openstack.org>2019-06-23 00:45:37 +0000
commit46ef850ce9f46c0650b1c4bbdd98c83df4b0554a (patch)
treef967c40e03114d10091d02210f8e889eda0a17ed /openstackclient/tests/unit
parentd3df7d67d7d038f6892526b3a0dd2f54f2b32506 (diff)
parent4cd614305fbe8b90d45ad6803bfa8b7978f19318 (diff)
downloadpython-openstackclient-46ef850ce9f46c0650b1c4bbdd98c83df4b0554a.tar.gz
Merge "Use cliff formattable columns in volume v2 commands"
Diffstat (limited to 'openstackclient/tests/unit')
-rw-r--r--openstackclient/tests/unit/volume/v2/fakes.py5
-rw-r--r--openstackclient/tests/unit/volume/v2/test_consistency_group.py17
-rw-r--r--openstackclient/tests/unit/volume/v2/test_qos_specs.py28
-rw-r--r--openstackclient/tests/unit/volume/v2/test_type.py75
-rw-r--r--openstackclient/tests/unit/volume/v2/test_volume.py126
-rw-r--r--openstackclient/tests/unit/volume/v2/test_volume_backup.py6
6 files changed, 146 insertions, 111 deletions
diff --git a/openstackclient/tests/unit/volume/v2/fakes.py b/openstackclient/tests/unit/volume/v2/fakes.py
index c245cbf6..5f976b06 100644
--- a/openstackclient/tests/unit/volume/v2/fakes.py
+++ b/openstackclient/tests/unit/volume/v2/fakes.py
@@ -17,7 +17,8 @@ import random
import uuid
import mock
-from osc_lib import utils as common_utils
+
+from osc_lib.cli import format_columns
from openstackclient.tests.unit import fakes
from openstackclient.tests.unit.identity.v3 import fakes as identity_fakes
@@ -468,7 +469,7 @@ class FakeVolume(object):
if x == 'tags':
# The 'tags' should be format_list
data_list.append(
- common_utils.format_list(volume.info.get(x)))
+ format_columns.ListColumn(volume.info.get(x)))
else:
data_list.append(volume.info.get(x))
return tuple(data_list)
diff --git a/openstackclient/tests/unit/volume/v2/test_consistency_group.py b/openstackclient/tests/unit/volume/v2/test_consistency_group.py
index 6eeeae39..d2388182 100644
--- a/openstackclient/tests/unit/volume/v2/test_consistency_group.py
+++ b/openstackclient/tests/unit/volume/v2/test_consistency_group.py
@@ -15,6 +15,7 @@
import mock
from mock import call
+from osc_lib.cli import format_columns
from osc_lib import exceptions
from osc_lib import utils
@@ -250,7 +251,7 @@ class TestConsistencyGroupCreate(TestConsistencyGroup):
)
self.assertEqual(self.columns, columns)
- self.assertEqual(self.data, data)
+ self.assertItemEqual(self.data, data)
def test_consistency_group_create_from_source(self):
arglist = [
@@ -278,7 +279,7 @@ class TestConsistencyGroupCreate(TestConsistencyGroup):
)
self.assertEqual(self.columns, columns)
- self.assertEqual(self.data, data)
+ self.assertItemEqual(self.data, data)
def test_consistency_group_create_from_snapshot(self):
arglist = [
@@ -306,7 +307,7 @@ class TestConsistencyGroupCreate(TestConsistencyGroup):
)
self.assertEqual(self.columns, columns)
- self.assertEqual(self.data, data)
+ self.assertItemEqual(self.data, data)
class TestConsistencyGroupDelete(TestConsistencyGroup):
@@ -439,7 +440,7 @@ class TestConsistencyGroupList(TestConsistencyGroup):
c.availability_zone,
c.name,
c.description,
- utils.format_list(c.volume_types)
+ format_columns.ListColumn(c.volume_types)
))
def setUp(self):
@@ -462,7 +463,7 @@ class TestConsistencyGroupList(TestConsistencyGroup):
self.consistencygroups_mock.list.assert_called_once_with(
detailed=True, search_opts={'all_tenants': False})
self.assertEqual(self.columns, columns)
- self.assertEqual(self.data, list(data))
+ self.assertListItemEqual(self.data, list(data))
def test_consistency_group_list_with_all_project(self):
arglist = [
@@ -479,7 +480,7 @@ class TestConsistencyGroupList(TestConsistencyGroup):
self.consistencygroups_mock.list.assert_called_once_with(
detailed=True, search_opts={'all_tenants': True})
self.assertEqual(self.columns, columns)
- self.assertEqual(self.data, list(data))
+ self.assertListItemEqual(self.data, list(data))
def test_consistency_group_list_with_long(self):
arglist = [
@@ -496,7 +497,7 @@ class TestConsistencyGroupList(TestConsistencyGroup):
self.consistencygroups_mock.list.assert_called_once_with(
detailed=True, search_opts={'all_tenants': False})
self.assertEqual(self.columns_long, columns)
- self.assertEqual(self.data_long, list(data))
+ self.assertListItemEqual(self.data_long, list(data))
class TestConsistencyGroupRemoveVolume(TestConsistencyGroup):
@@ -704,4 +705,4 @@ class TestConsistencyGroupShow(TestConsistencyGroup):
self.consistencygroups_mock.get.assert_called_once_with(
self.consistency_group.id)
self.assertEqual(self.columns, columns)
- self.assertEqual(self.data, data)
+ self.assertItemEqual(self.data, data)
diff --git a/openstackclient/tests/unit/volume/v2/test_qos_specs.py b/openstackclient/tests/unit/volume/v2/test_qos_specs.py
index 2b935e20..454747f5 100644
--- a/openstackclient/tests/unit/volume/v2/test_qos_specs.py
+++ b/openstackclient/tests/unit/volume/v2/test_qos_specs.py
@@ -17,6 +17,8 @@ import copy
import mock
from mock import call
+
+from osc_lib.cli import format_columns
from osc_lib import exceptions
from osc_lib import utils
@@ -88,7 +90,7 @@ class TestQosCreate(TestQos):
self.new_qos_spec.consumer,
self.new_qos_spec.id,
self.new_qos_spec.name,
- utils.format_dict(self.new_qos_spec.specs)
+ format_columns.DictColumn(self.new_qos_spec.specs)
)
# Get the command object to test
@@ -111,7 +113,7 @@ class TestQosCreate(TestQos):
)
self.assertEqual(self.columns, columns)
- self.assertEqual(self.data, data)
+ self.assertItemEqual(self.data, data)
def test_qos_create_with_consumer(self):
arglist = [
@@ -132,7 +134,7 @@ class TestQosCreate(TestQos):
)
self.assertEqual(self.columns, columns)
- self.assertEqual(self.data, data)
+ self.assertItemEqual(self.data, data)
def test_qos_create_with_properties(self):
arglist = [
@@ -158,7 +160,7 @@ class TestQosCreate(TestQos):
)
self.assertEqual(self.columns, columns)
- self.assertEqual(self.data, data)
+ self.assertItemEqual(self.data, data)
class TestQosDelete(TestQos):
@@ -318,8 +320,8 @@ class TestQosList(TestQos):
q.id,
q.name,
q.consumer,
- qos_association.name,
- utils.format_dict(q.specs),
+ format_columns.ListColumn([qos_association.name]),
+ format_columns.DictColumn(q.specs),
))
def setUp(self):
@@ -341,7 +343,7 @@ class TestQosList(TestQos):
self.qos_mock.list.assert_called_with()
self.assertEqual(self.columns, columns)
- self.assertEqual(self.data, list(data))
+ self.assertListItemEqual(self.data, list(data))
def test_qos_list_no_association(self):
self.qos_mock.reset_mock()
@@ -365,10 +367,10 @@ class TestQosList(TestQos):
self.qos_specs[1].id,
self.qos_specs[1].name,
self.qos_specs[1].consumer,
- None,
- utils.format_dict(self.qos_specs[1].specs),
+ format_columns.ListColumn(None),
+ format_columns.DictColumn(self.qos_specs[1].specs),
)
- self.assertEqual(ex_data, list(data))
+ self.assertListItemEqual(ex_data, list(data))
class TestQosSet(TestQos):
@@ -416,11 +418,11 @@ class TestQosShow(TestQos):
'properties'
)
data = (
- qos_association.name,
+ format_columns.ListColumn([qos_association.name]),
qos_spec.consumer,
qos_spec.id,
qos_spec.name,
- utils.format_dict(qos_spec.specs),
+ format_columns.DictColumn(qos_spec.specs),
)
def setUp(self):
@@ -448,7 +450,7 @@ class TestQosShow(TestQos):
)
self.assertEqual(self.columns, columns)
- self.assertEqual(self.data, tuple(data))
+ self.assertItemEqual(self.data, tuple(data))
class TestQosUnset(TestQos):
diff --git a/openstackclient/tests/unit/volume/v2/test_type.py b/openstackclient/tests/unit/volume/v2/test_type.py
index 4023d55b..17915928 100644
--- a/openstackclient/tests/unit/volume/v2/test_type.py
+++ b/openstackclient/tests/unit/volume/v2/test_type.py
@@ -15,6 +15,7 @@
import mock
from mock import call
+from osc_lib.cli import format_columns
from osc_lib import exceptions
from osc_lib import utils
@@ -92,7 +93,7 @@ class TestTypeCreate(TestType):
)
self.assertEqual(self.columns, columns)
- self.assertEqual(self.data, data)
+ self.assertItemEqual(self.data, data)
def test_type_create_private(self):
arglist = [
@@ -118,7 +119,7 @@ class TestTypeCreate(TestType):
)
self.assertEqual(self.columns, columns)
- self.assertEqual(self.data, data)
+ self.assertItemEqual(self.data, data)
def test_public_type_create_with_project(self):
arglist = [
@@ -158,7 +159,7 @@ class TestTypeCreate(TestType):
)
encryption_data = (
self.new_volume_type.description,
- utils.format_dict(encryption_info),
+ format_columns.DictColumn(encryption_info),
self.new_volume_type.id,
True,
self.new_volume_type.name,
@@ -195,7 +196,7 @@ class TestTypeCreate(TestType):
body,
)
self.assertEqual(encryption_columns, columns)
- self.assertEqual(encryption_data, data)
+ self.assertItemEqual(encryption_data, data)
class TestTypeDelete(TestType):
@@ -305,7 +306,7 @@ class TestTypeList(TestType):
t.name,
t.is_public,
t.description,
- utils.format_dict(t.extra_specs),
+ format_columns.DictColumn(t.extra_specs),
))
def setUp(self):
@@ -329,7 +330,7 @@ class TestTypeList(TestType):
columns, data = self.cmd.take_action(parsed_args)
self.types_mock.list.assert_called_once_with(is_public=None)
self.assertEqual(self.columns, columns)
- self.assertEqual(self.data, list(data))
+ self.assertListItemEqual(self.data, list(data))
def test_type_list_with_options(self):
arglist = [
@@ -347,7 +348,7 @@ class TestTypeList(TestType):
columns, data = self.cmd.take_action(parsed_args)
self.types_mock.list.assert_called_once_with(is_public=True)
self.assertEqual(self.columns_long, columns)
- self.assertEqual(self.data_long, list(data))
+ self.assertListItemEqual(self.data_long, list(data))
def test_type_list_with_private_option(self):
arglist = [
@@ -364,7 +365,7 @@ class TestTypeList(TestType):
columns, data = self.cmd.take_action(parsed_args)
self.types_mock.list.assert_called_once_with(is_public=False)
self.assertEqual(self.columns, columns)
- self.assertEqual(self.data, list(data))
+ self.assertListItemEqual(self.data, list(data))
def test_type_list_with_default_option(self):
arglist = [
@@ -382,7 +383,7 @@ class TestTypeList(TestType):
columns, data = self.cmd.take_action(parsed_args)
self.types_mock.default.assert_called_once_with()
self.assertEqual(self.columns, columns)
- self.assertEqual(self.data_with_default_type, list(data))
+ self.assertListItemEqual(self.data_with_default_type, list(data))
def test_type_list_with_encryption(self):
encryption_type = volume_fakes.FakeType.create_one_encryption_type(
@@ -401,13 +402,16 @@ class TestTypeList(TestType):
self.volume_types[0].id,
self.volume_types[0].name,
self.volume_types[0].is_public,
- utils.format_dict(encryption_info),
+ volume_type.EncryptionInfoColumn(
+ self.volume_types[0].id,
+ {self.volume_types[0].id: encryption_info}),
))
encryption_data.append((
self.volume_types[1].id,
self.volume_types[1].name,
self.volume_types[1].is_public,
- '-',
+ volume_type.EncryptionInfoColumn(
+ self.volume_types[1].id, {}),
))
self.encryption_types_mock.list.return_value = [encryption_type]
@@ -423,7 +427,7 @@ class TestTypeList(TestType):
self.encryption_types_mock.list.assert_called_once_with()
self.types_mock.list.assert_called_once_with(is_public=None)
self.assertEqual(encryption_columns, columns)
- self.assertEqual(encryption_data, list(data))
+ self.assertListItemEqual(encryption_data, list(data))
class TestTypeSet(TestType):
@@ -687,7 +691,7 @@ class TestTypeShow(TestType):
self.volume_type.id,
True,
self.volume_type.name,
- utils.format_dict(self.volume_type.extra_specs)
+ format_columns.DictColumn(self.volume_type.extra_specs)
)
self.types_mock.get.return_value = self.volume_type
@@ -709,7 +713,7 @@ class TestTypeShow(TestType):
self.types_mock.get.assert_called_with(self.volume_type.id)
self.assertEqual(self.columns, columns)
- self.assertEqual(self.data, data)
+ self.assertItemEqual(self.data, data)
def test_type_show_with_access(self):
arglist = [
@@ -735,14 +739,14 @@ class TestTypeShow(TestType):
self.assertEqual(self.columns, columns)
private_type_data = (
- utils.format_list([type_access_list.project_id]),
+ format_columns.ListColumn([type_access_list.project_id]),
private_type.description,
private_type.id,
private_type.is_public,
private_type.name,
- utils.format_dict(private_type.extra_specs)
+ format_columns.DictColumn(private_type.extra_specs)
)
- self.assertEqual(private_type_data, data)
+ self.assertItemEqual(private_type_data, data)
def test_type_show_with_list_access_exec(self):
arglist = [
@@ -772,9 +776,9 @@ class TestTypeShow(TestType):
private_type.id,
private_type.is_public,
private_type.name,
- utils.format_dict(private_type.extra_specs)
+ format_columns.DictColumn(private_type.extra_specs)
)
- self.assertEqual(private_type_data, data)
+ self.assertItemEqual(private_type_data, data)
def test_type_show_with_encryption(self):
encryption_type = volume_fakes.FakeType.create_one_encryption_type()
@@ -800,11 +804,11 @@ class TestTypeShow(TestType):
encryption_data = (
None,
self.volume_type.description,
- utils.format_dict(encryption_info),
+ format_columns.DictColumn(encryption_info),
self.volume_type.id,
True,
self.volume_type.name,
- utils.format_dict(self.volume_type.extra_specs)
+ format_columns.DictColumn(self.volume_type.extra_specs)
)
arglist = [
'--encryption-type',
@@ -820,7 +824,7 @@ class TestTypeShow(TestType):
self.types_mock.get.assert_called_with(self.volume_type.id)
self.encryption_types_mock.get.assert_called_with(self.volume_type.id)
self.assertEqual(encryption_columns, columns)
- self.assertEqual(encryption_data, data)
+ self.assertItemEqual(encryption_data, data)
class TestTypeUnset(TestType):
@@ -923,3 +927,30 @@ class TestTypeUnset(TestType):
result = self.cmd.take_action(parsed_args)
self.encryption_types_mock.delete.assert_called_with(self.volume_type)
self.assertIsNone(result)
+
+
+class TestColumns(TestType):
+
+ def test_encryption_info_column_with_info(self):
+ fake_volume_type = volume_fakes.FakeType.create_one_type()
+ type_id = fake_volume_type.id
+
+ encryption_info = {
+ 'provider': 'LuksEncryptor',
+ 'cipher': None,
+ 'key_size': None,
+ 'control_location': 'front-end',
+ }
+ col = volume_type.EncryptionInfoColumn(type_id,
+ {type_id: encryption_info})
+ self.assertEqual(utils.format_dict(encryption_info),
+ col.human_readable())
+ self.assertEqual(encryption_info, col.machine_readable())
+
+ def test_encryption_info_column_without_info(self):
+ fake_volume_type = volume_fakes.FakeType.create_one_type()
+ type_id = fake_volume_type.id
+
+ col = volume_type.EncryptionInfoColumn(type_id, {})
+ self.assertEqual('-', col.human_readable())
+ self.assertIsNone(col.machine_readable())
diff --git a/openstackclient/tests/unit/volume/v2/test_volume.py b/openstackclient/tests/unit/volume/v2/test_volume.py
index 97da1601..332b50a7 100644
--- a/openstackclient/tests/unit/volume/v2/test_volume.py
+++ b/openstackclient/tests/unit/volume/v2/test_volume.py
@@ -16,6 +16,8 @@ import argparse
import mock
from mock import call
+
+from osc_lib.cli import format_columns
from osc_lib import exceptions
from osc_lib import utils
@@ -94,7 +96,7 @@ class TestVolumeCreate(TestVolume):
self.new_volume.description,
self.new_volume.id,
self.new_volume.name,
- utils.format_dict(self.new_volume.metadata),
+ format_columns.DictColumn(self.new_volume.metadata),
self.new_volume.size,
self.new_volume.snapshot_id,
self.new_volume.status,
@@ -135,7 +137,7 @@ class TestVolumeCreate(TestVolume):
)
self.assertEqual(self.columns, columns)
- self.assertEqual(self.datalist, data)
+ self.assertItemEqual(self.datalist, data)
def test_volume_create_options(self):
consistency_group = (
@@ -181,7 +183,7 @@ class TestVolumeCreate(TestVolume):
)
self.assertEqual(self.columns, columns)
- self.assertEqual(self.datalist, data)
+ self.assertItemEqual(self.datalist, data)
def test_volume_create_properties(self):
arglist = [
@@ -217,7 +219,7 @@ class TestVolumeCreate(TestVolume):
)
self.assertEqual(self.columns, columns)
- self.assertEqual(self.datalist, data)
+ self.assertItemEqual(self.datalist, data)
def test_volume_create_image_id(self):
image = image_fakes.FakeImage.create_one_image()
@@ -255,7 +257,7 @@ class TestVolumeCreate(TestVolume):
)
self.assertEqual(self.columns, columns)
- self.assertEqual(self.datalist, data)
+ self.assertItemEqual(self.datalist, data)
def test_volume_create_image_name(self):
image = image_fakes.FakeImage.create_one_image()
@@ -293,7 +295,7 @@ class TestVolumeCreate(TestVolume):
)
self.assertEqual(self.columns, columns)
- self.assertEqual(self.datalist, data)
+ self.assertItemEqual(self.datalist, data)
def test_volume_create_with_snapshot(self):
snapshot = volume_fakes.FakeSnapshot.create_one_snapshot()
@@ -330,7 +332,7 @@ class TestVolumeCreate(TestVolume):
)
self.assertEqual(self.columns, columns)
- self.assertEqual(self.datalist, data)
+ self.assertItemEqual(self.datalist, data)
def test_volume_create_with_bootable_and_readonly(self):
arglist = [
@@ -368,7 +370,7 @@ class TestVolumeCreate(TestVolume):
)
self.assertEqual(self.columns, columns)
- self.assertEqual(self.datalist, data)
+ self.assertItemEqual(self.datalist, data)
self.volumes_mock.set_bootable.assert_called_with(
self.new_volume.id, True)
self.volumes_mock.update_readonly_flag.assert_called_with(
@@ -410,7 +412,7 @@ class TestVolumeCreate(TestVolume):
)
self.assertEqual(self.columns, columns)
- self.assertEqual(self.datalist, data)
+ self.assertItemEqual(self.datalist, data)
self.volumes_mock.set_bootable.assert_called_with(
self.new_volume.id, False)
self.volumes_mock.update_readonly_flag.assert_called_with(
@@ -462,7 +464,7 @@ class TestVolumeCreate(TestVolume):
self.assertEqual(2, mock_error.call_count)
self.assertEqual(self.columns, columns)
- self.assertEqual(self.datalist, data)
+ self.assertItemEqual(self.datalist, data)
self.volumes_mock.set_bootable.assert_called_with(
self.new_volume.id, True)
self.volumes_mock.update_readonly_flag.assert_called_with(
@@ -672,17 +674,14 @@ class TestVolumeList(TestVolume):
self.assertEqual(self.columns, columns)
- server = self.mock_volume.attachments[0]['server_id']
- device = self.mock_volume.attachments[0]['device']
- msg = 'Attached to %s on %s ' % (server, device)
datalist = ((
self.mock_volume.id,
self.mock_volume.name,
self.mock_volume.status,
self.mock_volume.size,
- msg,
+ volume.AttachmentsColumn(self.mock_volume.attachments),
), )
- self.assertEqual(datalist, tuple(data))
+ self.assertListItemEqual(datalist, tuple(data))
def test_volume_list_project(self):
arglist = [
@@ -715,17 +714,14 @@ class TestVolumeList(TestVolume):
self.assertEqual(self.columns, columns)
- server = self.mock_volume.attachments[0]['server_id']
- device = self.mock_volume.attachments[0]['device']
- msg = 'Attached to %s on %s ' % (server, device)
datalist = ((
self.mock_volume.id,
self.mock_volume.name,
self.mock_volume.status,
self.mock_volume.size,
- msg,
+ volume.AttachmentsColumn(self.mock_volume.attachments),
), )
- self.assertEqual(datalist, tuple(data))
+ self.assertListItemEqual(datalist, tuple(data))
def test_volume_list_project_domain(self):
arglist = [
@@ -760,17 +756,14 @@ class TestVolumeList(TestVolume):
self.assertEqual(self.columns, columns)
- server = self.mock_volume.attachments[0]['server_id']
- device = self.mock_volume.attachments[0]['device']
- msg = 'Attached to %s on %s ' % (server, device)
datalist = ((
self.mock_volume.id,
self.mock_volume.name,
self.mock_volume.status,
self.mock_volume.size,
- msg,
+ volume.AttachmentsColumn(self.mock_volume.attachments),
), )
- self.assertEqual(datalist, tuple(data))
+ self.assertListItemEqual(datalist, tuple(data))
def test_volume_list_user(self):
arglist = [
@@ -800,19 +793,16 @@ class TestVolumeList(TestVolume):
marker=None,
limit=None,
)
-
self.assertEqual(self.columns, columns)
- server = self.mock_volume.attachments[0]['server_id']
- device = self.mock_volume.attachments[0]['device']
- msg = 'Attached to %s on %s ' % (server, device)
+
datalist = ((
self.mock_volume.id,
self.mock_volume.name,
self.mock_volume.status,
self.mock_volume.size,
- msg,
+ volume.AttachmentsColumn(self.mock_volume.attachments),
), )
- self.assertEqual(datalist, tuple(data))
+ self.assertListItemEqual(datalist, tuple(data))
def test_volume_list_user_domain(self):
arglist = [
@@ -847,17 +837,14 @@ class TestVolumeList(TestVolume):
self.assertEqual(self.columns, columns)
- server = self.mock_volume.attachments[0]['server_id']
- device = self.mock_volume.attachments[0]['device']
- msg = 'Attached to %s on %s ' % (server, device)
datalist = ((
self.mock_volume.id,
self.mock_volume.name,
self.mock_volume.status,
self.mock_volume.size,
- msg,
+ volume.AttachmentsColumn(self.mock_volume.attachments),
), )
- self.assertEqual(datalist, tuple(data))
+ self.assertListItemEqual(datalist, tuple(data))
def test_volume_list_name(self):
arglist = [
@@ -890,17 +877,14 @@ class TestVolumeList(TestVolume):
self.assertEqual(self.columns, columns)
- server = self.mock_volume.attachments[0]['server_id']
- device = self.mock_volume.attachments[0]['device']
- msg = 'Attached to %s on %s ' % (server, device)
datalist = ((
self.mock_volume.id,
self.mock_volume.name,
self.mock_volume.status,
self.mock_volume.size,
- msg,
+ volume.AttachmentsColumn(self.mock_volume.attachments),
), )
- self.assertEqual(datalist, tuple(data))
+ self.assertListItemEqual(datalist, tuple(data))
def test_volume_list_status(self):
arglist = [
@@ -933,17 +917,14 @@ class TestVolumeList(TestVolume):
self.assertEqual(self.columns, columns)
- server = self.mock_volume.attachments[0]['server_id']
- device = self.mock_volume.attachments[0]['device']
- msg = 'Attached to %s on %s ' % (server, device)
datalist = ((
self.mock_volume.id,
self.mock_volume.name,
self.mock_volume.status,
self.mock_volume.size,
- msg,
+ volume.AttachmentsColumn(self.mock_volume.attachments),
), )
- self.assertEqual(datalist, tuple(data))
+ self.assertListItemEqual(datalist, tuple(data))
def test_volume_list_all_projects(self):
arglist = [
@@ -976,17 +957,14 @@ class TestVolumeList(TestVolume):
self.assertEqual(self.columns, columns)
- server = self.mock_volume.attachments[0]['server_id']
- device = self.mock_volume.attachments[0]['device']
- msg = 'Attached to %s on %s ' % (server, device)
datalist = ((
self.mock_volume.id,
self.mock_volume.name,
self.mock_volume.status,
self.mock_volume.size,
- msg,
+ volume.AttachmentsColumn(self.mock_volume.attachments),
), )
- self.assertEqual(datalist, tuple(data))
+ self.assertListItemEqual(datalist, tuple(data))
def test_volume_list_long(self):
arglist = [
@@ -1030,9 +1008,6 @@ class TestVolumeList(TestVolume):
]
self.assertEqual(collist, columns)
- server = self.mock_volume.attachments[0]['server_id']
- device = self.mock_volume.attachments[0]['device']
- msg = 'Attached to %s on %s ' % (server, device)
datalist = ((
self.mock_volume.id,
self.mock_volume.name,
@@ -1040,10 +1015,10 @@ class TestVolumeList(TestVolume):
self.mock_volume.size,
self.mock_volume.volume_type,
self.mock_volume.bootable,
- msg,
- utils.format_dict(self.mock_volume.metadata),
+ volume.AttachmentsColumn(self.mock_volume.attachments),
+ format_columns.DictColumn(self.mock_volume.metadata),
), )
- self.assertEqual(datalist, tuple(data))
+ self.assertListItemEqual(datalist, tuple(data))
def test_volume_list_with_marker_and_limit(self):
arglist = [
@@ -1064,15 +1039,12 @@ class TestVolumeList(TestVolume):
self.assertEqual(self.columns, columns)
- server = self.mock_volume.attachments[0]['server_id']
- device = self.mock_volume.attachments[0]['device']
- msg = 'Attached to %s on %s ' % (server, device)
datalist = ((
self.mock_volume.id,
self.mock_volume.name,
self.mock_volume.status,
self.mock_volume.size,
- msg,
+ volume.AttachmentsColumn(self.mock_volume.attachments),
), )
self.volumes_mock.list.assert_called_once_with(
@@ -1085,7 +1057,7 @@ class TestVolumeList(TestVolume):
'name': None,
'all_tenants': False, }
)
- self.assertEqual(datalist, tuple(data))
+ self.assertListItemEqual(datalist, tuple(data))
def test_volume_list_negative_limit(self):
arglist = [
@@ -1479,7 +1451,7 @@ class TestVolumeShow(TestVolume):
volume_fakes.FakeVolume.get_volume_columns(self._volume),
columns)
- self.assertEqual(
+ self.assertItemEqual(
volume_fakes.FakeVolume.get_volume_data(self._volume),
data)
@@ -1562,3 +1534,31 @@ class TestVolumeUnset(TestVolume):
self.new_volume.id, parsed_args.image_property)
self.volumes_mock.delete_metadata.assert_called_with(
self.new_volume.id, parsed_args.property)
+
+
+class TestColumns(TestVolume):
+
+ def test_attachments_column_without_server_cache(self):
+ _volume = volume_fakes.FakeVolume.create_one_volume()
+ server_id = _volume.attachments[0]['server_id']
+ device = _volume.attachments[0]['device']
+
+ col = volume.AttachmentsColumn(_volume.attachments, {})
+ self.assertEqual('Attached to %s on %s ' % (server_id, device),
+ col.human_readable())
+ self.assertEqual(_volume.attachments, col.machine_readable())
+
+ def test_attachments_column_with_server_cache(self):
+ _volume = volume_fakes.FakeVolume.create_one_volume()
+
+ server_id = _volume.attachments[0]['server_id']
+ device = _volume.attachments[0]['device']
+ fake_server = mock.Mock()
+ fake_server.name = 'fake-server-name'
+ server_cache = {server_id: fake_server}
+
+ col = volume.AttachmentsColumn(_volume.attachments, server_cache)
+ self.assertEqual(
+ 'Attached to %s on %s ' % ('fake-server-name', device),
+ col.human_readable())
+ self.assertEqual(_volume.attachments, col.machine_readable())
diff --git a/openstackclient/tests/unit/volume/v2/test_volume_backup.py b/openstackclient/tests/unit/volume/v2/test_volume_backup.py
index d0d1da3b..30c7915d 100644
--- a/openstackclient/tests/unit/volume/v2/test_volume_backup.py
+++ b/openstackclient/tests/unit/volume/v2/test_volume_backup.py
@@ -271,7 +271,7 @@ class TestBackupList(TestBackup):
b.status,
b.size,
b.availability_zone,
- b.volume_id,
+ volume_backup.VolumeIdColumn(b.volume_id),
b.container,
))
@@ -314,7 +314,7 @@ class TestBackupList(TestBackup):
limit=None,
)
self.assertEqual(self.columns, columns)
- self.assertEqual(self.data, list(data))
+ self.assertListItemEqual(self.data, list(data))
def test_backup_list_with_options(self):
arglist = [
@@ -353,7 +353,7 @@ class TestBackupList(TestBackup):
limit=3,
)
self.assertEqual(self.columns_long, columns)
- self.assertEqual(self.data_long, list(data))
+ self.assertListItemEqual(self.data_long, list(data))
class TestBackupRestore(TestBackup):