summaryrefslogtreecommitdiff
path: root/openstackclient/tests/unit/compute/v2/test_server.py
diff options
context:
space:
mode:
authortianhui <tianhui@awcloud.com>2018-07-06 08:23:06 +0000
committerStephen Finucane <sfinucan@redhat.com>2020-10-09 17:31:14 +0100
commit1c7fe3b6bd60aa22ae525d0418729590f6429e96 (patch)
tree3fb48d0e1f0116ef37f5df858a5ccc7c1f79ecb3 /openstackclient/tests/unit/compute/v2/test_server.py
parent960004dcc733e88841d372e160b9e43669796c80 (diff)
downloadpython-openstackclient-1c7fe3b6bd60aa22ae525d0418729590f6429e96.tar.gz
Compute: Add tag support for server add volume
Change-Id: Id9f2e09426f6824e9ca672bf7808b5165c650a69 Story: 2002195 Task: 21675
Diffstat (limited to 'openstackclient/tests/unit/compute/v2/test_server.py')
-rw-r--r--openstackclient/tests/unit/compute/v2/test_server.py60
1 files changed, 56 insertions, 4 deletions
diff --git a/openstackclient/tests/unit/compute/v2/test_server.py b/openstackclient/tests/unit/compute/v2/test_server.py
index dffedc6d..d3e15915 100644
--- a/openstackclient/tests/unit/compute/v2/test_server.py
+++ b/openstackclient/tests/unit/compute/v2/test_server.py
@@ -503,8 +503,57 @@ class TestServerVolume(TestServer):
servers[0].id, self.volume.id, device='/dev/sdb')
self.assertIsNone(result)
+ def test_server_add_volume_with_tag(self):
+ # requires API 2.49 or later
+ self.app.client_manager.compute.api_version = api_versions.APIVersion(
+ '2.49')
+
+ servers = self.setup_servers_mock(count=1)
+ arglist = [
+ '--device', '/dev/sdb',
+ '--tag', 'foo',
+ servers[0].id,
+ self.volume.id,
+ ]
+ verifylist = [
+ ('server', servers[0].id),
+ ('volume', self.volume.id),
+ ('device', '/dev/sdb'),
+ ('tag', 'foo'),
+ ]
-class TestServerVolumeV279(TestServerVolume):
+ parsed_args = self.check_parser(self.cmd, arglist, verifylist)
+
+ result = self.cmd.take_action(parsed_args)
+
+ self.servers_volumes_mock.create_server_volume.assert_called_once_with(
+ servers[0].id, self.volume.id, device='/dev/sdb', tag='foo')
+ self.assertIsNone(result)
+
+ def test_server_add_volume_with_tag_pre_v249(self):
+ self.app.client_manager.compute.api_version = api_versions.APIVersion(
+ '2.48')
+
+ servers = self.setup_servers_mock(count=1)
+ arglist = [
+ servers[0].id,
+ self.volume.id,
+ '--tag', 'foo',
+ ]
+ verifylist = [
+ ('server', servers[0].id),
+ ('volume', self.volume.id),
+ ('tag', 'foo'),
+ ]
+ parsed_args = self.check_parser(self.cmd, arglist, verifylist)
+
+ ex = self.assertRaises(
+ exceptions.CommandError,
+ self.cmd.take_action,
+ parsed_args)
+ self.assertIn(
+ '--os-compute-api-version 2.49 or greater is required',
+ str(ex))
def test_server_add_volume_with_enable_delete_on_termination(self):
self.app.client_manager.compute.api_version = api_versions.APIVersion(
@@ -561,7 +610,8 @@ class TestServerVolumeV279(TestServerVolume):
self.assertIsNone(result)
def test_server_add_volume_with_enable_delete_on_termination_pre_v279(
- self):
+ self,
+ ):
self.app.client_manager.compute.api_version = api_versions.APIVersion(
'2.78')
@@ -585,7 +635,8 @@ class TestServerVolumeV279(TestServerVolume):
str(ex))
def test_server_add_volume_with_disable_delete_on_termination_pre_v279(
- self):
+ self,
+ ):
self.app.client_manager.compute.api_version = api_versions.APIVersion(
'2.78')
@@ -609,7 +660,8 @@ class TestServerVolumeV279(TestServerVolume):
str(ex))
def test_server_add_volume_with_disable_and_enable_delete_on_termination(
- self):
+ self,
+ ):
self.app.client_manager.compute.api_version = api_versions.APIVersion(
'2.79')