summaryrefslogtreecommitdiff
path: root/openstackclient/tests/unit
diff options
context:
space:
mode:
authorStephen Finucane <sfinucan@redhat.com>2020-12-03 13:07:03 +0000
committerStephen Finucane <sfinucan@redhat.com>2021-01-12 17:07:23 +0000
commit262e525aada8bfaedb4545be5d2bbd27edcc55fd (patch)
tree8ae7d80b546202705406702bb1e88c5197fda198 /openstackclient/tests/unit
parentca7f23d0d1876dc53ef4d5ecbf2c5f367aafe13e (diff)
downloadpython-openstackclient-262e525aada8bfaedb4545be5d2bbd27edcc55fd.tar.gz
compute: Add missing options for 'hypervisor list'
Yet more pagination parameters. Change-Id: I9f0145c89ddc49c1d907e6e6e294319cf80fc6ff Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
Diffstat (limited to 'openstackclient/tests/unit')
-rw-r--r--openstackclient/tests/unit/compute/v2/test_hypervisor.py96
1 files changed, 96 insertions, 0 deletions
diff --git a/openstackclient/tests/unit/compute/v2/test_hypervisor.py b/openstackclient/tests/unit/compute/v2/test_hypervisor.py
index 518109c6..3220a764 100644
--- a/openstackclient/tests/unit/compute/v2/test_hypervisor.py
+++ b/openstackclient/tests/unit/compute/v2/test_hypervisor.py
@@ -173,6 +173,30 @@ class TestHypervisorList(TestHypervisor):
self.cmd.take_action,
parsed_args)
+ def test_hypervisor_list_with_matching_and_pagination_options(self):
+ self.app.client_manager.compute.api_version = \
+ api_versions.APIVersion('2.32')
+
+ arglist = [
+ '--matching', self.hypervisors[0].hypervisor_hostname,
+ '--limit', '1',
+ '--marker', self.hypervisors[0].hypervisor_hostname,
+ ]
+ verifylist = [
+ ('matching', self.hypervisors[0].hypervisor_hostname),
+ ('limit', 1),
+ ('marker', self.hypervisors[0].hypervisor_hostname),
+ ]
+
+ parsed_args = self.check_parser(self.cmd, arglist, verifylist)
+ ex = self.assertRaises(
+ exceptions.CommandError,
+ self.cmd.take_action,
+ parsed_args)
+
+ self.assertIn(
+ '--matching is not compatible with --marker or --limit', str(ex))
+
def test_hypervisor_list_long_option(self):
arglist = [
'--long',
@@ -191,6 +215,78 @@ class TestHypervisorList(TestHypervisor):
self.assertEqual(self.columns_long, columns)
self.assertEqual(self.data_long, tuple(data))
+ def test_hypervisor_list_with_limit(self):
+ self.app.client_manager.compute.api_version = \
+ api_versions.APIVersion('2.33')
+
+ arglist = [
+ '--limit', '1',
+ ]
+ verifylist = [
+ ('limit', 1),
+ ]
+
+ parsed_args = self.check_parser(self.cmd, arglist, verifylist)
+ self.cmd.take_action(parsed_args)
+
+ self.hypervisors_mock.list.assert_called_with(limit=1)
+
+ def test_hypervisor_list_with_limit_pre_v233(self):
+ self.app.client_manager.compute.api_version = \
+ api_versions.APIVersion('2.32')
+
+ arglist = [
+ '--limit', '1',
+ ]
+ verifylist = [
+ ('limit', 1),
+ ]
+
+ 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.33 or greater is required', str(ex))
+
+ def test_hypervisor_list_with_marker(self):
+ self.app.client_manager.compute.api_version = \
+ api_versions.APIVersion('2.33')
+
+ arglist = [
+ '--marker', 'test_hyp',
+ ]
+ verifylist = [
+ ('marker', 'test_hyp'),
+ ]
+
+ parsed_args = self.check_parser(self.cmd, arglist, verifylist)
+ self.cmd.take_action(parsed_args)
+
+ self.hypervisors_mock.list.assert_called_with(marker='test_hyp')
+
+ def test_hypervisor_list_with_marker_pre_v233(self):
+ self.app.client_manager.compute.api_version = \
+ api_versions.APIVersion('2.32')
+
+ arglist = [
+ '--marker', 'test_hyp',
+ ]
+ verifylist = [
+ ('marker', 'test_hyp'),
+ ]
+
+ 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.33 or greater is required', str(ex))
+
class TestHypervisorShow(TestHypervisor):