summaryrefslogtreecommitdiff
path: root/openstackclient/tests
diff options
context:
space:
mode:
authorStephen Finucane <sfinucan@redhat.com>2020-11-05 11:49:11 +0000
committerStephen Finucane <sfinucan@redhat.com>2021-01-06 12:02:25 +0000
commita5c6470f2d76afb9ac87d05c4326bebf925a55da (patch)
tree8c7103d88c6efe213111e17eb356eb067ea7a4ae /openstackclient/tests
parentbf834f6d7582009672fc65aa983f314684dc4380 (diff)
downloadpython-openstackclient-a5c6470f2d76afb9ac87d05c4326bebf925a55da.tar.gz
compute: Add 'server group create --rule' option
This closes the remaining gap with the 2.64 compute API microversion. Change-Id: Ia42b23d813b7af6ddb1a41f4e9bdc8a6160b908c Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
Diffstat (limited to 'openstackclient/tests')
-rw-r--r--openstackclient/tests/unit/compute/v2/test_server_group.py31
1 files changed, 29 insertions, 2 deletions
diff --git a/openstackclient/tests/unit/compute/v2/test_server_group.py b/openstackclient/tests/unit/compute/v2/test_server_group.py
index 8de7492c..732c1881 100644
--- a/openstackclient/tests/unit/compute/v2/test_server_group.py
+++ b/openstackclient/tests/unit/compute/v2/test_server_group.py
@@ -152,28 +152,55 @@ class TestServerGroupCreate(TestServerGroup):
'--os-compute-api-version 2.15 or greater is required',
str(ex))
- def test_server_group_create_v264(self):
+ def test_server_group_create_with_rules(self):
self.app.client_manager.compute.api_version = api_versions.APIVersion(
'2.64')
arglist = [
'--policy', 'soft-anti-affinity',
+ '--rule', 'max_server_per_host=2',
'affinity_group',
]
verifylist = [
('policy', 'soft-anti-affinity'),
+ ('rules', {'max_server_per_host': '2'}),
('name', 'affinity_group'),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
columns, data = self.cmd.take_action(parsed_args)
self.server_groups_mock.create.assert_called_once_with(
name=parsed_args.name,
- policy=parsed_args.policy,
+ policy=parsed_args.policy, # should be 'policy', not 'policies'
+ rules=parsed_args.rules,
)
self.assertCountEqual(self.columns, columns)
self.assertCountEqual(self.data, data)
+ def test_server_group_create_with_rules_pre_v264(self):
+ self.app.client_manager.compute.api_version = api_versions.APIVersion(
+ '2.63')
+
+ arglist = [
+ '--policy', 'soft-anti-affinity',
+ '--rule', 'max_server_per_host=2',
+ 'affinity_group',
+ ]
+ verifylist = [
+ ('policy', 'soft-anti-affinity'),
+ ('rules', {'max_server_per_host': '2'}),
+ ('name', 'affinity_group'),
+ ]
+ 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.64 or greater is required',
+ str(ex))
+
class TestServerGroupDelete(TestServerGroup):