summaryrefslogtreecommitdiff
path: root/openstackclient/tests/unit
diff options
context:
space:
mode:
Diffstat (limited to 'openstackclient/tests/unit')
-rw-r--r--openstackclient/tests/unit/compute/v2/test_flavor.py17
-rw-r--r--openstackclient/tests/unit/compute/v2/test_server_group.py37
-rw-r--r--openstackclient/tests/unit/identity/v3/test_group.py29
-rw-r--r--openstackclient/tests/unit/identity/v3/test_role.py43
-rw-r--r--openstackclient/tests/unit/network/v2/fakes.py3
-rw-r--r--openstackclient/tests/unit/network/v2/test_port.py87
6 files changed, 181 insertions, 35 deletions
diff --git a/openstackclient/tests/unit/compute/v2/test_flavor.py b/openstackclient/tests/unit/compute/v2/test_flavor.py
index 632fcda1..4cdbb25b 100644
--- a/openstackclient/tests/unit/compute/v2/test_flavor.py
+++ b/openstackclient/tests/unit/compute/v2/test_flavor.py
@@ -528,6 +528,23 @@ class TestFlavorSet(TestFlavor):
self.flavor.set_keys.assert_called_with({'FOO': '"B A R"'})
self.assertIsNone(result)
+ def test_flavor_set_no_property(self):
+ arglist = [
+ '--no-property',
+ 'baremetal'
+ ]
+ verifylist = [
+ ('no_property', True),
+ ('flavor', 'baremetal')
+ ]
+ parsed_args = self.check_parser(self.cmd, arglist, verifylist)
+
+ result = self.cmd.take_action(parsed_args)
+ self.flavors_mock.find.assert_called_with(name=parsed_args.flavor,
+ is_public=None)
+ self.flavor.unset_keys.assert_called_with(['property'])
+ self.assertIsNone(result)
+
def test_flavor_set_project(self):
arglist = [
'--project', self.project.id,
diff --git a/openstackclient/tests/unit/compute/v2/test_server_group.py b/openstackclient/tests/unit/compute/v2/test_server_group.py
index d474f41d..088497da 100644
--- a/openstackclient/tests/unit/compute/v2/test_server_group.py
+++ b/openstackclient/tests/unit/compute/v2/test_server_group.py
@@ -63,54 +63,23 @@ class TestServerGroupCreate(TestServerGroup):
def test_server_group_create(self):
arglist = [
- '--policy', 'affinity',
+ '--policy', 'anti-affinity',
'affinity_group',
]
verifylist = [
- ('policy', ['affinity']),
+ ('policy', 'anti-affinity'),
('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,
- policies=parsed_args.policy,
+ policies=[parsed_args.policy],
)
self.assertEqual(self.columns, columns)
self.assertEqual(self.data, data)
- def test_server_group_create_with_multiple_policies(self):
- arglist = [
- '--policy', 'affinity',
- '--policy', 'soft-affinity',
- 'affinity_group',
- ]
- verifylist = [
- ('policy', ['affinity', 'soft-affinity']),
- ('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,
- policies=parsed_args.policy,
- )
-
- self.assertEqual(self.columns, columns)
- self.assertEqual(self.data, data)
-
- def test_server_group_create_no_policy(self):
- arglist = [
- 'affinity_group',
- ]
- verifylist = None
- self.assertRaises(tests_utils.ParserException,
- self.check_parser,
- self.cmd,
- arglist,
- verifylist)
-
class TestServerGroupDelete(TestServerGroup):
diff --git a/openstackclient/tests/unit/identity/v3/test_group.py b/openstackclient/tests/unit/identity/v3/test_group.py
index 8558de95..00bd217d 100644
--- a/openstackclient/tests/unit/identity/v3/test_group.py
+++ b/openstackclient/tests/unit/identity/v3/test_group.py
@@ -70,6 +70,20 @@ class TestGroupAddUser(TestGroup):
self.user.id, self.group.id)
self.assertIsNone(result)
+ def test_group_add_user_with_error(self):
+ self.users_mock.add_to_group.side_effect = exceptions.CommandError()
+ arglist = [
+ self.group.name,
+ self.user.name,
+ ]
+ verifylist = [
+ ('group', self.group.name),
+ ('user', self.user.name),
+ ]
+ parsed_args = self.check_parser(self.cmd, arglist, verifylist)
+ self.assertRaises(exceptions.CommandError,
+ self.cmd.take_action, parsed_args)
+
class TestGroupCheckUser(TestGroup):
@@ -460,6 +474,21 @@ class TestGroupRemoveUser(TestGroup):
self.user.id, self.group.id)
self.assertIsNone(result)
+ def test_group_remove_user_with_error(self):
+ self.users_mock.remove_from_group.side_effect = (
+ exceptions.CommandError())
+ arglist = [
+ self.group.id,
+ self.user.id,
+ ]
+ verifylist = [
+ ('group', self.group.id),
+ ('user', self.user.id),
+ ]
+ parsed_args = self.check_parser(self.cmd, arglist, verifylist)
+ self.assertRaises(exceptions.CommandError,
+ self.cmd.take_action, parsed_args)
+
class TestGroupSet(TestGroup):
diff --git a/openstackclient/tests/unit/identity/v3/test_role.py b/openstackclient/tests/unit/identity/v3/test_role.py
index c0b68bdf..39dbd244 100644
--- a/openstackclient/tests/unit/identity/v3/test_role.py
+++ b/openstackclient/tests/unit/identity/v3/test_role.py
@@ -273,6 +273,22 @@ class TestRoleAdd(TestRole):
)
self.assertIsNone(result)
+ def test_role_add_with_error(self):
+ arglist = [
+ identity_fakes.role_name,
+ ]
+ verifylist = [
+ ('user', None),
+ ('group', None),
+ ('domain', None),
+ ('project', None),
+ ('role', identity_fakes.role_name),
+ ('inherited', False),
+ ]
+ parsed_args = self.check_parser(self.cmd, arglist, verifylist)
+ self.assertRaises(exceptions.CommandError,
+ self.cmd.take_action, parsed_args)
+
class TestRoleAddInherited(TestRoleAdd, TestRoleInherited):
pass
@@ -771,6 +787,17 @@ class TestRoleList(TestRole):
), )
self.assertEqual(datalist, tuple(data))
+ def test_role_list_group_with_error(self):
+ arglist = [
+ '--group', identity_fakes.group_id,
+ ]
+ verifylist = [
+ ('group', identity_fakes.group_id),
+ ]
+ parsed_args = self.check_parser(self.cmd, arglist, verifylist)
+ self.assertRaises(exceptions.CommandError,
+ self.cmd.take_action, parsed_args)
+
class TestRoleRemove(TestRole):
@@ -982,6 +1009,22 @@ class TestRoleRemove(TestRole):
)
self.assertIsNone(result)
+ def test_role_remove_with_error(self):
+ arglist = [
+ identity_fakes.role_name,
+ ]
+ verifylist = [
+ ('user', None),
+ ('group', None),
+ ('domain', None),
+ ('project', None),
+ ('role', identity_fakes.role_name),
+ ('inherited', False),
+ ]
+ parsed_args = self.check_parser(self.cmd, arglist, verifylist)
+ self.assertRaises(exceptions.CommandError,
+ self.cmd.take_action, parsed_args)
+
class TestRoleSet(TestRole):
diff --git a/openstackclient/tests/unit/network/v2/fakes.py b/openstackclient/tests/unit/network/v2/fakes.py
index eb965339..4b266efb 100644
--- a/openstackclient/tests/unit/network/v2/fakes.py
+++ b/openstackclient/tests/unit/network/v2/fakes.py
@@ -470,7 +470,8 @@ class FakePort(object):
'dns_assignment': [{}],
'dns_name': 'dns-name-' + uuid.uuid4().hex,
'extra_dhcp_opts': [{}],
- 'fixed_ips': [{}],
+ 'fixed_ips': [{'ip_address': '10.0.0.3',
+ 'subnet_id': 'subnet-id-' + uuid.uuid4().hex}],
'id': 'port-id-' + uuid.uuid4().hex,
'mac_address': 'fa:16:3e:a9:4e:72',
'name': 'port-name-' + uuid.uuid4().hex,
diff --git a/openstackclient/tests/unit/network/v2/test_port.py b/openstackclient/tests/unit/network/v2/test_port.py
index fc626685..bfffc5c0 100644
--- a/openstackclient/tests/unit/network/v2/test_port.py
+++ b/openstackclient/tests/unit/network/v2/test_port.py
@@ -727,6 +727,92 @@ class TestListPort(TestPort):
self.assertEqual(self.columns, columns)
self.assertEqual(self.data, list(data))
+ def test_port_list_fixed_ip_opt_ip_address(self):
+ ip_address = self._ports[0].fixed_ips[0]['ip_address']
+ arglist = [
+ '--fixed-ip', "ip-address=%s" % ip_address,
+ ]
+ verifylist = [
+ ('fixed_ip', [{'ip-address': ip_address}])
+ ]
+
+ parsed_args = self.check_parser(self.cmd, arglist, verifylist)
+
+ columns, data = self.cmd.take_action(parsed_args)
+
+ self.network.ports.assert_called_once_with(**{
+ 'fixed_ips': ['ip_address=%s' % ip_address]})
+ self.assertEqual(self.columns, columns)
+ self.assertEqual(self.data, list(data))
+
+ def test_port_list_fixed_ip_opt_subnet_id(self):
+ subnet_id = self._ports[0].fixed_ips[0]['subnet_id']
+ arglist = [
+ '--fixed-ip', "subnet=%s" % subnet_id,
+ ]
+ verifylist = [
+ ('fixed_ip', [{'subnet': subnet_id}])
+ ]
+
+ self.fake_subnet = network_fakes.FakeSubnet.create_one_subnet(
+ {'id': subnet_id})
+ self.network.find_subnet = mock.Mock(return_value=self.fake_subnet)
+ parsed_args = self.check_parser(self.cmd, arglist, verifylist)
+ columns, data = self.cmd.take_action(parsed_args)
+
+ self.network.ports.assert_called_once_with(**{
+ 'fixed_ips': ['subnet_id=%s' % subnet_id]})
+ self.assertEqual(self.columns, columns)
+ self.assertEqual(self.data, list(data))
+
+ def test_port_list_fixed_ip_opts(self):
+ subnet_id = self._ports[0].fixed_ips[0]['subnet_id']
+ ip_address = self._ports[0].fixed_ips[0]['ip_address']
+ arglist = [
+ '--fixed-ip', "subnet=%s,ip-address=%s" % (subnet_id,
+ ip_address)
+ ]
+ verifylist = [
+ ('fixed_ip', [{'subnet': subnet_id,
+ 'ip-address': ip_address}])
+ ]
+
+ self.fake_subnet = network_fakes.FakeSubnet.create_one_subnet(
+ {'id': subnet_id})
+ self.network.find_subnet = mock.Mock(return_value=self.fake_subnet)
+ parsed_args = self.check_parser(self.cmd, arglist, verifylist)
+ columns, data = self.cmd.take_action(parsed_args)
+
+ self.network.ports.assert_called_once_with(**{
+ 'fixed_ips': ['subnet_id=%s' % subnet_id,
+ 'ip_address=%s' % ip_address]})
+ self.assertEqual(self.columns, columns)
+ self.assertEqual(self.data, list(data))
+
+ def test_port_list_fixed_ips(self):
+ subnet_id = self._ports[0].fixed_ips[0]['subnet_id']
+ ip_address = self._ports[0].fixed_ips[0]['ip_address']
+ arglist = [
+ '--fixed-ip', "subnet=%s" % subnet_id,
+ '--fixed-ip', "ip-address=%s" % ip_address,
+ ]
+ verifylist = [
+ ('fixed_ip', [{'subnet': subnet_id},
+ {'ip-address': ip_address}])
+ ]
+
+ self.fake_subnet = network_fakes.FakeSubnet.create_one_subnet(
+ {'id': subnet_id})
+ self.network.find_subnet = mock.Mock(return_value=self.fake_subnet)
+ parsed_args = self.check_parser(self.cmd, arglist, verifylist)
+ columns, data = self.cmd.take_action(parsed_args)
+
+ self.network.ports.assert_called_once_with(**{
+ 'fixed_ips': ['subnet_id=%s' % subnet_id,
+ 'ip_address=%s' % ip_address]})
+ self.assertEqual(self.columns, columns)
+ self.assertEqual(self.data, list(data))
+
def test_list_port_with_long(self):
arglist = [
'--long',
@@ -801,6 +887,7 @@ class TestSetPort(TestPort):
arglist = [
'--fixed-ip', 'ip-address=10.0.0.11',
self._port.name,
+ '--no-fixed-ip',
]
verifylist = [
('fixed_ip', [{'ip-address': '10.0.0.11'}]),