Merge "Add FakeSnapshot class and update snapshot test in VolumeV2"
This commit is contained in:
commit
02bca14a4b
|
@ -552,3 +552,56 @@ class FakeBackup(object):
|
||||||
backups.append(backup)
|
backups.append(backup)
|
||||||
|
|
||||||
return backups
|
return backups
|
||||||
|
|
||||||
|
|
||||||
|
class FakeSnapshot(object):
|
||||||
|
"""Fake one or more snapshot."""
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def create_one_snapshot(attrs=None):
|
||||||
|
"""Create a fake snapshot.
|
||||||
|
|
||||||
|
:param Dictionary attrs:
|
||||||
|
A dictionary with all attributes
|
||||||
|
:return:
|
||||||
|
A FakeResource object with id, name, description, etc.
|
||||||
|
"""
|
||||||
|
attrs = attrs or {}
|
||||||
|
|
||||||
|
# Set default attributes.
|
||||||
|
snapshot_info = {
|
||||||
|
"id": 'snapshot-id-' + uuid.uuid4().hex,
|
||||||
|
"name": 'snapshot-name-' + uuid.uuid4().hex,
|
||||||
|
"description": 'snapshot-description-' + uuid.uuid4().hex,
|
||||||
|
"size": 10,
|
||||||
|
"status": "available",
|
||||||
|
"metadata": {"foo": "bar"},
|
||||||
|
"created_at": "2015-06-03T18:49:19.000000",
|
||||||
|
"volume_id": 'vloume-id-' + uuid.uuid4().hex,
|
||||||
|
}
|
||||||
|
|
||||||
|
# Overwrite default attributes.
|
||||||
|
snapshot_info.update(attrs)
|
||||||
|
|
||||||
|
snapshot = fakes.FakeResource(
|
||||||
|
info=copy.deepcopy(snapshot_info),
|
||||||
|
loaded=True)
|
||||||
|
return snapshot
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def create_snapshots(attrs=None, count=2):
|
||||||
|
"""Create multiple fake snapshots.
|
||||||
|
|
||||||
|
:param Dictionary attrs:
|
||||||
|
A dictionary with all attributes
|
||||||
|
:param int count:
|
||||||
|
The number of snapshots to fake
|
||||||
|
:return:
|
||||||
|
A list of FakeResource objects faking the snapshots
|
||||||
|
"""
|
||||||
|
snapshots = []
|
||||||
|
for i in range(0, count):
|
||||||
|
snapshot = FakeSnapshot.create_one_snapshot(attrs)
|
||||||
|
snapshots.append(snapshot)
|
||||||
|
|
||||||
|
return snapshots
|
||||||
|
|
|
@ -12,9 +12,7 @@
|
||||||
# under the License.
|
# under the License.
|
||||||
#
|
#
|
||||||
|
|
||||||
import copy
|
from openstackclient.common import utils
|
||||||
|
|
||||||
from openstackclient.tests import fakes
|
|
||||||
from openstackclient.tests.volume.v2 import fakes as volume_fakes
|
from openstackclient.tests.volume.v2 import fakes as volume_fakes
|
||||||
from openstackclient.volume.v2 import snapshot
|
from openstackclient.volume.v2 import snapshot
|
||||||
|
|
||||||
|
@ -32,58 +30,75 @@ class TestSnapshot(volume_fakes.TestVolume):
|
||||||
|
|
||||||
class TestSnapshotCreate(TestSnapshot):
|
class TestSnapshotCreate(TestSnapshot):
|
||||||
|
|
||||||
|
columns = (
|
||||||
|
'created_at',
|
||||||
|
'description',
|
||||||
|
'id',
|
||||||
|
'name',
|
||||||
|
'properties',
|
||||||
|
'size',
|
||||||
|
'status',
|
||||||
|
'volume_id',
|
||||||
|
)
|
||||||
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
super(TestSnapshotCreate, self).setUp()
|
super(TestSnapshotCreate, self).setUp()
|
||||||
|
|
||||||
self.volumes_mock.get.return_value = fakes.FakeResource(
|
self.volume = volume_fakes.FakeVolume.create_one_volume()
|
||||||
None,
|
self.new_snapshot = volume_fakes.FakeSnapshot.create_one_snapshot(
|
||||||
copy.deepcopy(volume_fakes.VOLUME),
|
attrs={'volume_id': self.volume.id})
|
||||||
loaded=True
|
|
||||||
|
self.data = (
|
||||||
|
self.new_snapshot.created_at,
|
||||||
|
self.new_snapshot.description,
|
||||||
|
self.new_snapshot.id,
|
||||||
|
self.new_snapshot.name,
|
||||||
|
utils.format_dict(self.new_snapshot.metadata),
|
||||||
|
self.new_snapshot.size,
|
||||||
|
self.new_snapshot.status,
|
||||||
|
self.new_snapshot.volume_id,
|
||||||
)
|
)
|
||||||
|
|
||||||
self.snapshots_mock.create.return_value = fakes.FakeResource(
|
self.volumes_mock.get.return_value = self.volume
|
||||||
None,
|
self.snapshots_mock.create.return_value = self.new_snapshot
|
||||||
copy.deepcopy(volume_fakes.SNAPSHOT),
|
|
||||||
loaded=True
|
|
||||||
)
|
|
||||||
# Get the command object to test
|
# Get the command object to test
|
||||||
self.cmd = snapshot.CreateSnapshot(self.app, None)
|
self.cmd = snapshot.CreateSnapshot(self.app, None)
|
||||||
|
|
||||||
def test_snapshot_create(self):
|
def test_snapshot_create(self):
|
||||||
arglist = [
|
arglist = [
|
||||||
volume_fakes.volume_id,
|
"--name", self.new_snapshot.name,
|
||||||
"--name", volume_fakes.snapshot_name,
|
"--description", self.new_snapshot.description,
|
||||||
"--description", volume_fakes.snapshot_description,
|
"--force",
|
||||||
"--force"
|
self.new_snapshot.volume_id,
|
||||||
]
|
]
|
||||||
verifylist = [
|
verifylist = [
|
||||||
("volume", volume_fakes.volume_id),
|
("name", self.new_snapshot.name),
|
||||||
("name", volume_fakes.snapshot_name),
|
("description", self.new_snapshot.description),
|
||||||
("description", volume_fakes.snapshot_description),
|
("force", True),
|
||||||
("force", True)
|
("volume", self.new_snapshot.volume_id),
|
||||||
]
|
]
|
||||||
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
||||||
|
|
||||||
columns, data = self.cmd.take_action(parsed_args)
|
columns, data = self.cmd.take_action(parsed_args)
|
||||||
|
|
||||||
self.snapshots_mock.create.assert_called_with(
|
self.snapshots_mock.create.assert_called_with(
|
||||||
volume_fakes.volume_id,
|
self.new_snapshot.volume_id,
|
||||||
force=True,
|
force=True,
|
||||||
name=volume_fakes.snapshot_name,
|
name=self.new_snapshot.name,
|
||||||
description=volume_fakes.snapshot_description
|
description=self.new_snapshot.description
|
||||||
)
|
)
|
||||||
self.assertEqual(columns, volume_fakes.SNAPSHOT_columns)
|
self.assertEqual(self.columns, columns)
|
||||||
self.assertEqual(data, volume_fakes.SNAPSHOT_data)
|
self.assertEqual(self.data, data)
|
||||||
|
|
||||||
def test_snapshot_create_without_name(self):
|
def test_snapshot_create_without_name(self):
|
||||||
arglist = [
|
arglist = [
|
||||||
volume_fakes.volume_id,
|
self.new_snapshot.volume_id,
|
||||||
"--description", volume_fakes.snapshot_description,
|
"--description", self.new_snapshot.description,
|
||||||
"--force"
|
"--force"
|
||||||
]
|
]
|
||||||
verifylist = [
|
verifylist = [
|
||||||
("volume", volume_fakes.volume_id),
|
("volume", self.new_snapshot.volume_id),
|
||||||
("description", volume_fakes.snapshot_description),
|
("description", self.new_snapshot.description),
|
||||||
("force", True)
|
("force", True)
|
||||||
]
|
]
|
||||||
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
||||||
|
@ -91,24 +106,23 @@ class TestSnapshotCreate(TestSnapshot):
|
||||||
columns, data = self.cmd.take_action(parsed_args)
|
columns, data = self.cmd.take_action(parsed_args)
|
||||||
|
|
||||||
self.snapshots_mock.create.assert_called_with(
|
self.snapshots_mock.create.assert_called_with(
|
||||||
volume_fakes.volume_id,
|
self.new_snapshot.volume_id,
|
||||||
force=True,
|
force=True,
|
||||||
name=None,
|
name=None,
|
||||||
description=volume_fakes.snapshot_description
|
description=self.new_snapshot.description
|
||||||
)
|
)
|
||||||
self.assertEqual(columns, volume_fakes.SNAPSHOT_columns)
|
self.assertEqual(self.columns, columns)
|
||||||
self.assertEqual(data, volume_fakes.SNAPSHOT_data)
|
self.assertEqual(self.data, data)
|
||||||
|
|
||||||
|
|
||||||
class TestSnapshotDelete(TestSnapshot):
|
class TestSnapshotDelete(TestSnapshot):
|
||||||
|
|
||||||
|
snapshot = volume_fakes.FakeSnapshot.create_one_snapshot()
|
||||||
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
super(TestSnapshotDelete, self).setUp()
|
super(TestSnapshotDelete, self).setUp()
|
||||||
|
|
||||||
self.snapshots_mock.get.return_value = fakes.FakeResource(
|
self.snapshots_mock.get.return_value = self.snapshot
|
||||||
None,
|
|
||||||
copy.deepcopy(volume_fakes.SNAPSHOT),
|
|
||||||
loaded=True)
|
|
||||||
self.snapshots_mock.delete.return_value = None
|
self.snapshots_mock.delete.return_value = None
|
||||||
|
|
||||||
# Get the command object to mock
|
# Get the command object to mock
|
||||||
|
@ -116,21 +130,25 @@ class TestSnapshotDelete(TestSnapshot):
|
||||||
|
|
||||||
def test_snapshot_delete(self):
|
def test_snapshot_delete(self):
|
||||||
arglist = [
|
arglist = [
|
||||||
volume_fakes.snapshot_id
|
self.snapshot.id
|
||||||
]
|
]
|
||||||
verifylist = [
|
verifylist = [
|
||||||
("snapshots", [volume_fakes.snapshot_id])
|
("snapshots", [self.snapshot.id])
|
||||||
]
|
]
|
||||||
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
||||||
|
|
||||||
result = self.cmd.take_action(parsed_args)
|
result = self.cmd.take_action(parsed_args)
|
||||||
|
|
||||||
self.snapshots_mock.delete.assert_called_with(volume_fakes.snapshot_id)
|
self.snapshots_mock.delete.assert_called_with(self.snapshot.id)
|
||||||
self.assertIsNone(result)
|
self.assertIsNone(result)
|
||||||
|
|
||||||
|
|
||||||
class TestSnapshotList(TestSnapshot):
|
class TestSnapshotList(TestSnapshot):
|
||||||
|
|
||||||
|
volume = volume_fakes.FakeVolume.create_one_volume()
|
||||||
|
snapshots = volume_fakes.FakeSnapshot.create_snapshots(
|
||||||
|
attrs={'volume_id': volume.name}, count=3)
|
||||||
|
|
||||||
columns = [
|
columns = [
|
||||||
"ID",
|
"ID",
|
||||||
"Name",
|
"Name",
|
||||||
|
@ -138,24 +156,39 @@ class TestSnapshotList(TestSnapshot):
|
||||||
"Status",
|
"Status",
|
||||||
"Size"
|
"Size"
|
||||||
]
|
]
|
||||||
|
columns_long = columns + [
|
||||||
|
"Created At",
|
||||||
|
"Volume",
|
||||||
|
"Properties"
|
||||||
|
]
|
||||||
|
|
||||||
|
data = []
|
||||||
|
for s in snapshots:
|
||||||
|
data.append((
|
||||||
|
s.id,
|
||||||
|
s.name,
|
||||||
|
s.description,
|
||||||
|
s.status,
|
||||||
|
s.size,
|
||||||
|
))
|
||||||
|
data_long = []
|
||||||
|
for s in snapshots:
|
||||||
|
data_long.append((
|
||||||
|
s.id,
|
||||||
|
s.name,
|
||||||
|
s.description,
|
||||||
|
s.status,
|
||||||
|
s.size,
|
||||||
|
s.created_at,
|
||||||
|
s.volume_id,
|
||||||
|
utils.format_dict(s.metadata),
|
||||||
|
))
|
||||||
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
super(TestSnapshotList, self).setUp()
|
super(TestSnapshotList, self).setUp()
|
||||||
|
|
||||||
self.volumes_mock.list.return_value = [
|
self.volumes_mock.list.return_value = [self.volume]
|
||||||
fakes.FakeResource(
|
self.snapshots_mock.list.return_value = self.snapshots
|
||||||
None,
|
|
||||||
copy.deepcopy(volume_fakes.VOLUME),
|
|
||||||
loaded=True
|
|
||||||
)
|
|
||||||
]
|
|
||||||
self.snapshots_mock.list.return_value = [
|
|
||||||
fakes.FakeResource(
|
|
||||||
None,
|
|
||||||
copy.deepcopy(volume_fakes.SNAPSHOT),
|
|
||||||
loaded=True
|
|
||||||
)
|
|
||||||
]
|
|
||||||
# Get the command to test
|
# Get the command to test
|
||||||
self.cmd = snapshot.ListSnapshot(self.app, None)
|
self.cmd = snapshot.ListSnapshot(self.app, None)
|
||||||
|
|
||||||
|
@ -169,14 +202,7 @@ class TestSnapshotList(TestSnapshot):
|
||||||
|
|
||||||
columns, data = self.cmd.take_action(parsed_args)
|
columns, data = self.cmd.take_action(parsed_args)
|
||||||
self.assertEqual(self.columns, columns)
|
self.assertEqual(self.columns, columns)
|
||||||
datalist = ((
|
self.assertEqual(self.data, list(data))
|
||||||
volume_fakes.snapshot_id,
|
|
||||||
volume_fakes.snapshot_name,
|
|
||||||
volume_fakes.snapshot_description,
|
|
||||||
"available",
|
|
||||||
volume_fakes.snapshot_size
|
|
||||||
),)
|
|
||||||
self.assertEqual(datalist, tuple(data))
|
|
||||||
|
|
||||||
def test_snapshot_list_with_options(self):
|
def test_snapshot_list_with_options(self):
|
||||||
arglist = ["--long"]
|
arglist = ["--long"]
|
||||||
|
@ -185,24 +211,8 @@ class TestSnapshotList(TestSnapshot):
|
||||||
|
|
||||||
columns, data = self.cmd.take_action(parsed_args)
|
columns, data = self.cmd.take_action(parsed_args)
|
||||||
|
|
||||||
columns = self.columns + [
|
self.assertEqual(self.columns_long, columns)
|
||||||
"Created At",
|
self.assertEqual(self.data_long, list(data))
|
||||||
"Volume",
|
|
||||||
"Properties"
|
|
||||||
]
|
|
||||||
self.assertEqual(columns, columns)
|
|
||||||
|
|
||||||
datalist = ((
|
|
||||||
volume_fakes.snapshot_id,
|
|
||||||
volume_fakes.snapshot_name,
|
|
||||||
volume_fakes.snapshot_description,
|
|
||||||
"available",
|
|
||||||
volume_fakes.snapshot_size,
|
|
||||||
"2015-06-03T18:49:19.000000",
|
|
||||||
volume_fakes.volume_name,
|
|
||||||
volume_fakes.EXPECTED_SNAPSHOT.get("properties")
|
|
||||||
),)
|
|
||||||
self.assertEqual(datalist, tuple(data))
|
|
||||||
|
|
||||||
def test_snapshot_list_all_projects(self):
|
def test_snapshot_list_all_projects(self):
|
||||||
arglist = [
|
arglist = [
|
||||||
|
@ -217,26 +227,17 @@ class TestSnapshotList(TestSnapshot):
|
||||||
columns, data = self.cmd.take_action(parsed_args)
|
columns, data = self.cmd.take_action(parsed_args)
|
||||||
|
|
||||||
self.assertEqual(self.columns, columns)
|
self.assertEqual(self.columns, columns)
|
||||||
|
self.assertEqual(self.data, list(data))
|
||||||
datalist = ((
|
|
||||||
volume_fakes.snapshot_id,
|
|
||||||
volume_fakes.snapshot_name,
|
|
||||||
volume_fakes.snapshot_description,
|
|
||||||
"available",
|
|
||||||
volume_fakes.snapshot_size
|
|
||||||
), )
|
|
||||||
self.assertEqual(datalist, tuple(data))
|
|
||||||
|
|
||||||
|
|
||||||
class TestSnapshotSet(TestSnapshot):
|
class TestSnapshotSet(TestSnapshot):
|
||||||
|
|
||||||
|
snapshot = volume_fakes.FakeSnapshot.create_one_snapshot()
|
||||||
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
super(TestSnapshotSet, self).setUp()
|
super(TestSnapshotSet, self).setUp()
|
||||||
|
|
||||||
self.snapshots_mock.get.return_value = fakes.FakeResource(
|
self.snapshots_mock.get.return_value = self.snapshot
|
||||||
None,
|
|
||||||
copy.deepcopy(volume_fakes.SNAPSHOT),
|
|
||||||
loaded=True
|
|
||||||
)
|
|
||||||
self.snapshots_mock.set_metadata.return_value = None
|
self.snapshots_mock.set_metadata.return_value = None
|
||||||
self.snapshots_mock.update.return_value = None
|
self.snapshots_mock.update.return_value = None
|
||||||
# Get the command object to mock
|
# Get the command object to mock
|
||||||
|
@ -244,16 +245,16 @@ class TestSnapshotSet(TestSnapshot):
|
||||||
|
|
||||||
def test_snapshot_set(self):
|
def test_snapshot_set(self):
|
||||||
arglist = [
|
arglist = [
|
||||||
volume_fakes.snapshot_id,
|
|
||||||
"--name", "new_snapshot",
|
"--name", "new_snapshot",
|
||||||
"--property", "x=y",
|
"--property", "x=y",
|
||||||
"--property", "foo=foo"
|
"--property", "foo=foo",
|
||||||
|
self.snapshot.id,
|
||||||
]
|
]
|
||||||
new_property = {"x": "y", "foo": "foo"}
|
new_property = {"x": "y", "foo": "foo"}
|
||||||
verifylist = [
|
verifylist = [
|
||||||
("snapshot", volume_fakes.snapshot_id),
|
|
||||||
("name", "new_snapshot"),
|
("name", "new_snapshot"),
|
||||||
("property", new_property)
|
("property", new_property),
|
||||||
|
("snapshot", self.snapshot.id),
|
||||||
]
|
]
|
||||||
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
||||||
|
|
||||||
|
@ -263,79 +264,99 @@ class TestSnapshotSet(TestSnapshot):
|
||||||
"name": "new_snapshot",
|
"name": "new_snapshot",
|
||||||
}
|
}
|
||||||
self.snapshots_mock.update.assert_called_with(
|
self.snapshots_mock.update.assert_called_with(
|
||||||
volume_fakes.snapshot_id, **kwargs)
|
self.snapshot.id, **kwargs)
|
||||||
self.snapshots_mock.set_metadata.assert_called_with(
|
self.snapshots_mock.set_metadata.assert_called_with(
|
||||||
volume_fakes.snapshot_id, new_property
|
self.snapshot.id, new_property
|
||||||
)
|
)
|
||||||
self.assertIsNone(result)
|
self.assertIsNone(result)
|
||||||
|
|
||||||
def test_snapshot_set_state_to_error(self):
|
def test_snapshot_set_state_to_error(self):
|
||||||
arglist = [
|
arglist = [
|
||||||
"--state", "error",
|
"--state", "error",
|
||||||
volume_fakes.snapshot_id
|
self.snapshot.id
|
||||||
]
|
]
|
||||||
verifylist = [
|
verifylist = [
|
||||||
("state", "error"),
|
("state", "error"),
|
||||||
("snapshot", volume_fakes.snapshot_id)
|
("snapshot", self.snapshot.id)
|
||||||
]
|
]
|
||||||
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
||||||
|
|
||||||
result = self.cmd.take_action(parsed_args)
|
result = self.cmd.take_action(parsed_args)
|
||||||
|
|
||||||
self.snapshots_mock.reset_state.assert_called_with(
|
self.snapshots_mock.reset_state.assert_called_with(
|
||||||
volume_fakes.snapshot_id, "error")
|
self.snapshot.id, "error")
|
||||||
self.assertIsNone(result)
|
self.assertIsNone(result)
|
||||||
|
|
||||||
|
|
||||||
class TestSnapshotShow(TestSnapshot):
|
class TestSnapshotShow(TestSnapshot):
|
||||||
|
|
||||||
|
columns = (
|
||||||
|
'created_at',
|
||||||
|
'description',
|
||||||
|
'id',
|
||||||
|
'name',
|
||||||
|
'properties',
|
||||||
|
'size',
|
||||||
|
'status',
|
||||||
|
'volume_id',
|
||||||
|
)
|
||||||
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
super(TestSnapshotShow, self).setUp()
|
super(TestSnapshotShow, self).setUp()
|
||||||
|
|
||||||
self.snapshots_mock.get.return_value = fakes.FakeResource(
|
self.snapshot = volume_fakes.FakeSnapshot.create_one_snapshot()
|
||||||
None,
|
|
||||||
copy.deepcopy(volume_fakes.SNAPSHOT),
|
self.data = (
|
||||||
loaded=True)
|
self.snapshot.created_at,
|
||||||
|
self.snapshot.description,
|
||||||
|
self.snapshot.id,
|
||||||
|
self.snapshot.name,
|
||||||
|
utils.format_dict(self.snapshot.metadata),
|
||||||
|
self.snapshot.size,
|
||||||
|
self.snapshot.status,
|
||||||
|
self.snapshot.volume_id,
|
||||||
|
)
|
||||||
|
|
||||||
|
self.snapshots_mock.get.return_value = self.snapshot
|
||||||
# Get the command object to test
|
# Get the command object to test
|
||||||
self.cmd = snapshot.ShowSnapshot(self.app, None)
|
self.cmd = snapshot.ShowSnapshot(self.app, None)
|
||||||
|
|
||||||
def test_snapshot_show(self):
|
def test_snapshot_show(self):
|
||||||
arglist = [
|
arglist = [
|
||||||
volume_fakes.snapshot_id
|
self.snapshot.id
|
||||||
]
|
]
|
||||||
verifylist = [
|
verifylist = [
|
||||||
("snapshot", volume_fakes.snapshot_id)
|
("snapshot", self.snapshot.id)
|
||||||
]
|
]
|
||||||
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
||||||
|
|
||||||
columns, data = self.cmd.take_action(parsed_args)
|
columns, data = self.cmd.take_action(parsed_args)
|
||||||
self.snapshots_mock.get.assert_called_with(volume_fakes.snapshot_id)
|
self.snapshots_mock.get.assert_called_with(self.snapshot.id)
|
||||||
|
|
||||||
self.assertEqual(volume_fakes.SNAPSHOT_columns, columns)
|
self.assertEqual(self.columns, columns)
|
||||||
self.assertEqual(volume_fakes.SNAPSHOT_data, data)
|
self.assertEqual(self.data, data)
|
||||||
|
|
||||||
|
|
||||||
class TestSnapshotUnset(TestSnapshot):
|
class TestSnapshotUnset(TestSnapshot):
|
||||||
|
|
||||||
|
snapshot = volume_fakes.FakeSnapshot.create_one_snapshot()
|
||||||
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
super(TestSnapshotUnset, self).setUp()
|
super(TestSnapshotUnset, self).setUp()
|
||||||
|
|
||||||
self.snapshots_mock.get.return_value = fakes.FakeResource(
|
self.snapshots_mock.get.return_value = self.snapshot
|
||||||
None,
|
|
||||||
copy.deepcopy(volume_fakes.SNAPSHOT),
|
|
||||||
loaded=True
|
|
||||||
)
|
|
||||||
self.snapshots_mock.delete_metadata.return_value = None
|
self.snapshots_mock.delete_metadata.return_value = None
|
||||||
# Get the command object to mock
|
# Get the command object to mock
|
||||||
self.cmd = snapshot.UnsetSnapshot(self.app, None)
|
self.cmd = snapshot.UnsetSnapshot(self.app, None)
|
||||||
|
|
||||||
def test_snapshot_unset(self):
|
def test_snapshot_unset(self):
|
||||||
arglist = [
|
arglist = [
|
||||||
volume_fakes.snapshot_id,
|
"--property", "foo",
|
||||||
"--property", "foo"
|
self.snapshot.id,
|
||||||
]
|
]
|
||||||
verifylist = [
|
verifylist = [
|
||||||
("snapshot", volume_fakes.snapshot_id),
|
("property", ["foo"]),
|
||||||
("property", ["foo"])
|
("snapshot", self.snapshot.id),
|
||||||
]
|
]
|
||||||
|
|
||||||
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
||||||
|
@ -343,6 +364,6 @@ class TestSnapshotUnset(TestSnapshot):
|
||||||
result = self.cmd.take_action(parsed_args)
|
result = self.cmd.take_action(parsed_args)
|
||||||
|
|
||||||
self.snapshots_mock.delete_metadata.assert_called_with(
|
self.snapshots_mock.delete_metadata.assert_called_with(
|
||||||
volume_fakes.snapshot_id, ["foo"]
|
self.snapshot.id, ["foo"]
|
||||||
)
|
)
|
||||||
self.assertIsNone(result)
|
self.assertIsNone(result)
|
||||||
|
|
Loading…
Reference in New Issue