summaryrefslogtreecommitdiff
path: root/openstackclient/tests/unit
diff options
context:
space:
mode:
authorAkihiro Motoki <amotoki@gmail.com>2017-05-15 10:19:07 +0000
committerAkihiro Motoki <amotoki@gmail.com>2017-08-16 15:41:53 +0000
commitb0dc1aa931f9d801eb0ecdc998beb13fb8fc8653 (patch)
treecbdeda775fe9400d9d8f05f595b140f50a41b35b /openstackclient/tests/unit
parentaf9eb9ca83c6a1ee66d8e368719c36c0e7ee4024 (diff)
downloadpython-openstackclient-b0dc1aa931f9d801eb0ecdc998beb13fb8fc8653.tar.gz
Use cliff formattable columns in volume v2 commands
Partial-Bug: #1687955 Partially implement blueprint osc-formattable-columns Change-Id: I8bfb95c7b1a891de00978118b80cc8d81c6729bd
Diffstat (limited to 'openstackclient/tests/unit')
-rw-r--r--openstackclient/tests/unit/volume/v2/fakes.py4
-rw-r--r--openstackclient/tests/unit/volume/v2/test_backup.py6
-rw-r--r--openstackclient/tests/unit/volume/v2/test_consistency_group.py17
-rw-r--r--openstackclient/tests/unit/volume/v2/test_qos_specs.py27
-rw-r--r--openstackclient/tests/unit/volume/v2/test_snapshot.py29
-rw-r--r--openstackclient/tests/unit/volume/v2/test_type.py75
-rw-r--r--openstackclient/tests/unit/volume/v2/test_volume.py131
7 files changed, 161 insertions, 128 deletions
diff --git a/openstackclient/tests/unit/volume/v2/fakes.py b/openstackclient/tests/unit/volume/v2/fakes.py
index d321c71a..27d636ee 100644
--- a/openstackclient/tests/unit/volume/v2/fakes.py
+++ b/openstackclient/tests/unit/volume/v2/fakes.py
@@ -17,7 +17,7 @@ import mock
import random
import uuid
-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
@@ -368,7 +368,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_backup.py b/openstackclient/tests/unit/volume/v2/test_backup.py
index a8e81c7e..9bbcc2be 100644
--- a/openstackclient/tests/unit/volume/v2/test_backup.py
+++ b/openstackclient/tests/unit/volume/v2/test_backup.py
@@ -271,7 +271,7 @@ class TestBackupList(TestBackup):
b.status,
b.size,
b.availability_zone,
- b.volume_id,
+ 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):
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 8f145a7e..7eb85781 100644
--- a/openstackclient/tests/unit/volume/v2/test_qos_specs.py
+++ b/openstackclient/tests/unit/volume/v2/test_qos_specs.py
@@ -17,6 +17,7 @@ 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 +89,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 +112,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 +133,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 +159,7 @@ class TestQosCreate(TestQos):
)
self.assertEqual(self.columns, columns)
- self.assertEqual(self.data, data)
+ self.assertItemEqual(self.data, data)
class TestQosDelete(TestQos):
@@ -318,8 +319,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 +342,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 +366,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 +417,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 +449,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_snapshot.py b/openstackclient/tests/unit/volume/v2/test_snapshot.py
index 16d0602b..3a50e6c2 100644
--- a/openstackclient/tests/unit/volume/v2/test_snapshot.py
+++ b/openstackclient/tests/unit/volume/v2/test_snapshot.py
@@ -16,6 +16,7 @@ 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
@@ -63,7 +64,7 @@ class TestSnapshotCreate(TestSnapshot):
self.new_snapshot.description,
self.new_snapshot.id,
self.new_snapshot.name,
- utils.format_dict(self.new_snapshot.metadata),
+ format_columns.DictColumn(self.new_snapshot.metadata),
self.new_snapshot.size,
self.new_snapshot.status,
self.new_snapshot.volume_id,
@@ -103,7 +104,7 @@ class TestSnapshotCreate(TestSnapshot):
metadata={'Alpha': 'a', 'Beta': 'b'},
)
self.assertEqual(self.columns, columns)
- self.assertEqual(self.data, data)
+ self.assertItemEqual(self.data, data)
def test_snapshot_create_without_name(self):
arglist = [
@@ -145,7 +146,7 @@ class TestSnapshotCreate(TestSnapshot):
metadata=None,
)
self.assertEqual(self.columns, columns)
- self.assertEqual(self.data, data)
+ self.assertItemEqual(self.data, data)
def test_snapshot_create_with_remote_source(self):
arglist = [
@@ -174,7 +175,7 @@ class TestSnapshotCreate(TestSnapshot):
)
self.snapshots_mock.create.assert_not_called()
self.assertEqual(self.columns, columns)
- self.assertEqual(self.data, data)
+ self.assertItemEqual(self.data, data)
class TestSnapshotDelete(TestSnapshot):
@@ -309,8 +310,8 @@ class TestSnapshotList(TestSnapshot):
s.status,
s.size,
s.created_at,
- s.volume_id,
- utils.format_dict(s.metadata),
+ volume_snapshot.VolumeIdColumn(s.volume_id),
+ format_columns.DictColumn(s.metadata),
))
def setUp(self):
@@ -344,7 +345,7 @@ class TestSnapshotList(TestSnapshot):
}
)
self.assertEqual(self.columns, columns)
- self.assertEqual(self.data, list(data))
+ self.assertListItemEqual(self.data, list(data))
def test_snapshot_list_with_options(self):
arglist = [
@@ -376,7 +377,7 @@ class TestSnapshotList(TestSnapshot):
}
)
self.assertEqual(self.columns_long, columns)
- self.assertEqual(self.data_long, list(data))
+ self.assertListItemEqual(self.data_long, list(data))
def test_snapshot_list_all_projects(self):
arglist = [
@@ -401,7 +402,7 @@ class TestSnapshotList(TestSnapshot):
}
)
self.assertEqual(self.columns, columns)
- self.assertEqual(self.data, list(data))
+ self.assertListItemEqual(self.data, list(data))
def test_snapshot_list_name_option(self):
arglist = [
@@ -427,7 +428,7 @@ class TestSnapshotList(TestSnapshot):
}
)
self.assertEqual(self.columns, columns)
- self.assertEqual(self.data, list(data))
+ self.assertListItemEqual(self.data, list(data))
def test_snapshot_list_status_option(self):
arglist = [
@@ -453,7 +454,7 @@ class TestSnapshotList(TestSnapshot):
}
)
self.assertEqual(self.columns, columns)
- self.assertEqual(self.data, list(data))
+ self.assertListItemEqual(self.data, list(data))
def test_snapshot_list_volumeid_option(self):
arglist = [
@@ -479,7 +480,7 @@ class TestSnapshotList(TestSnapshot):
}
)
self.assertEqual(self.columns, columns)
- self.assertEqual(self.data, list(data))
+ self.assertListItemEqual(self.data, list(data))
def test_snapshot_list_negative_limit(self):
arglist = [
@@ -683,7 +684,7 @@ class TestSnapshotShow(TestSnapshot):
self.snapshot.description,
self.snapshot.id,
self.snapshot.name,
- utils.format_dict(self.snapshot.metadata),
+ format_columns.DictColumn(self.snapshot.metadata),
self.snapshot.size,
self.snapshot.status,
self.snapshot.volume_id,
@@ -706,7 +707,7 @@ class TestSnapshotShow(TestSnapshot):
self.snapshots_mock.get.assert_called_with(self.snapshot.id)
self.assertEqual(self.columns, columns)
- self.assertEqual(self.data, data)
+ self.assertItemEqual(self.data, data)
class TestSnapshotUnset(TestSnapshot):
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 71e4ecea..a8960930 100644
--- a/openstackclient/tests/unit/volume/v2/test_volume.py
+++ b/openstackclient/tests/unit/volume/v2/test_volume.py
@@ -16,6 +16,7 @@ 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 +95,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,
@@ -139,7 +140,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 = (
@@ -191,7 +192,7 @@ class TestVolumeCreate(TestVolume):
)
self.assertEqual(self.columns, columns)
- self.assertEqual(self.datalist, data)
+ self.assertItemEqual(self.datalist, data)
def test_volume_create_user_project_id(self):
# Return a project
@@ -237,7 +238,7 @@ class TestVolumeCreate(TestVolume):
)
self.assertEqual(self.columns, columns)
- self.assertEqual(self.datalist, data)
+ self.assertItemEqual(self.datalist, data)
def test_volume_create_user_project_name(self):
# Return a project
@@ -283,7 +284,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 = [
@@ -323,7 +324,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()
@@ -365,7 +366,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()
@@ -407,7 +408,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()
@@ -448,7 +449,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 = [
@@ -490,7 +491,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(
@@ -536,7 +537,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(
@@ -592,7 +593,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(
@@ -630,7 +631,7 @@ class TestVolumeCreate(TestVolume):
)
self.assertEqual(self.columns, columns)
- self.assertEqual(self.datalist, data)
+ self.assertItemEqual(self.datalist, data)
def test_volume_create_without_size(self):
arglist = [
@@ -838,17 +839,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 = [
@@ -881,17 +879,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 = [
@@ -926,17 +921,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 = [
@@ -966,19 +958,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 = [
@@ -1013,17 +1002,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 = [
@@ -1056,17 +1042,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 = [
@@ -1099,17 +1082,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 = [
@@ -1142,17 +1122,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 = [
@@ -1196,9 +1173,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,
@@ -1206,10 +1180,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 = [
@@ -1230,15 +1204,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(
@@ -1251,7 +1222,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 = [
@@ -1633,7 +1604,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)
@@ -1716,3 +1687,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())