summaryrefslogtreecommitdiff
path: root/openstackclient/tests/identity/v3/test_group.py
diff options
context:
space:
mode:
Diffstat (limited to 'openstackclient/tests/identity/v3/test_group.py')
-rw-r--r--openstackclient/tests/identity/v3/test_group.py569
1 files changed, 0 insertions, 569 deletions
diff --git a/openstackclient/tests/identity/v3/test_group.py b/openstackclient/tests/identity/v3/test_group.py
deleted file mode 100644
index a678dee9..00000000
--- a/openstackclient/tests/identity/v3/test_group.py
+++ /dev/null
@@ -1,569 +0,0 @@
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
-#
-
-import mock
-from mock import call
-
-from keystoneauth1 import exceptions as ks_exc
-from osc_lib import exceptions
-
-from openstackclient.identity.v3 import group
-from openstackclient.tests.identity.v3 import fakes as identity_fakes
-
-
-class TestGroup(identity_fakes.TestIdentityv3):
-
- def setUp(self):
- super(TestGroup, self).setUp()
-
- # Get a shortcut to the DomainManager Mock
- self.domains_mock = self.app.client_manager.identity.domains
- self.domains_mock.reset_mock()
-
- # Get a shortcut to the GroupManager Mock
- self.groups_mock = self.app.client_manager.identity.groups
- self.groups_mock.reset_mock()
-
- # Get a shortcut to the UserManager Mock
- self.users_mock = self.app.client_manager.identity.users
- self.users_mock.reset_mock()
-
-
-class TestGroupAddUser(TestGroup):
-
- group = identity_fakes.FakeGroup.create_one_group()
- user = identity_fakes.FakeUser.create_one_user()
-
- def setUp(self):
- super(TestGroupAddUser, self).setUp()
-
- self.groups_mock.get.return_value = self.group
- self.users_mock.get.return_value = self.user
- self.users_mock.add_to_group.return_value = None
-
- self.cmd = group.AddUserToGroup(self.app, None)
-
- def test_group_add_user(self):
- 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)
-
- result = self.cmd.take_action(parsed_args)
- self.users_mock.add_to_group.assert_called_once_with(
- self.user.id, self.group.id)
- self.assertIsNone(result)
-
-
-class TestGroupCheckUser(TestGroup):
-
- group = identity_fakes.FakeGroup.create_one_group()
- user = identity_fakes.FakeUser.create_one_user()
-
- def setUp(self):
- super(TestGroupCheckUser, self).setUp()
-
- self.groups_mock.get.return_value = self.group
- self.users_mock.get.return_value = self.user
- self.users_mock.check_in_group.return_value = None
-
- self.cmd = group.CheckUserInGroup(self.app, None)
-
- def test_group_check_user(self):
- 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)
-
- result = self.cmd.take_action(parsed_args)
- self.users_mock.check_in_group.assert_called_once_with(
- self.user.id, self.group.id)
- self.assertIsNone(result)
-
-
-class TestGroupCreate(TestGroup):
-
- domain = identity_fakes.FakeDomain.create_one_domain()
-
- columns = (
- 'description',
- 'domain_id',
- 'id',
- 'name',
- )
-
- def setUp(self):
- super(TestGroupCreate, self).setUp()
- self.group = identity_fakes.FakeGroup.create_one_group(
- attrs={'domain_id': self.domain.id})
- self.data = (
- self.group.description,
- self.group.domain_id,
- self.group.id,
- self.group.name,
- )
-
- self.groups_mock.create.return_value = self.group
- self.groups_mock.get.return_value = self.group
- self.domains_mock.get.return_value = self.domain
-
- self.cmd = group.CreateGroup(self.app, None)
-
- def test_group_create(self):
- arglist = [
- self.group.name,
- ]
- verifylist = [
- ('name', self.group.name),
- ]
- parsed_args = self.check_parser(self.cmd, arglist, verifylist)
-
- columns, data = self.cmd.take_action(parsed_args)
- self.groups_mock.create.assert_called_once_with(
- name=self.group.name,
- domain=None,
- description=None,
- )
- self.assertEqual(self.columns, columns)
- self.assertEqual(self.data, data)
-
- def test_group_create_with_options(self):
- arglist = [
- '--domain', self.domain.name,
- '--description', self.group.description,
- self.group.name,
- ]
- verifylist = [
- ('domain', self.domain.name),
- ('description', self.group.description),
- ('name', self.group.name),
- ]
- parsed_args = self.check_parser(self.cmd, arglist, verifylist)
-
- columns, data = self.cmd.take_action(parsed_args)
- self.groups_mock.create.assert_called_once_with(
- name=self.group.name,
- domain=self.domain.id,
- description=self.group.description,
- )
- self.assertEqual(self.columns, columns)
- self.assertEqual(self.data, data)
-
- def test_group_create_or_show(self):
- self.groups_mock.create.side_effect = ks_exc.Conflict()
- arglist = [
- '--or-show',
- self.group.name,
- ]
- verifylist = [
- ('or_show', True),
- ('name', self.group.name),
- ]
- parsed_args = self.check_parser(self.cmd, arglist, verifylist)
-
- columns, data = self.cmd.take_action(parsed_args)
- self.groups_mock.get.assert_called_once_with(self.group.name)
- self.assertEqual(self.columns, columns)
- self.assertEqual(self.data, data)
-
-
-class TestGroupDelete(TestGroup):
-
- domain = identity_fakes.FakeDomain.create_one_domain()
- groups = identity_fakes.FakeGroup.create_groups(
- attrs={'domain_id': domain.id}, count=2)
-
- def setUp(self):
- super(TestGroupDelete, self).setUp()
-
- self.groups_mock.get = (
- identity_fakes.FakeGroup.get_groups(self.groups))
- self.groups_mock.delete.return_value = None
- self.domains_mock.get.return_value = self.domain
-
- self.cmd = group.DeleteGroup(self.app, None)
-
- def test_group_delete(self):
- arglist = [
- self.groups[0].id,
- ]
- verifylist = [
- ('groups', [self.groups[0].id]),
- ]
- parsed_args = self.check_parser(self.cmd, arglist, verifylist)
-
- result = self.cmd.take_action(parsed_args)
- self.groups_mock.get.assert_called_once_with(self.groups[0].id)
- self.groups_mock.delete.assert_called_once_with(self.groups[0].id)
- self.assertIsNone(result)
-
- def test_group_multi_delete(self):
- arglist = []
- verifylist = []
-
- for g in self.groups:
- arglist.append(g.id)
- verifylist = [
- ('groups', arglist),
- ]
- parsed_args = self.check_parser(self.cmd, arglist, verifylist)
-
- result = self.cmd.take_action(parsed_args)
-
- calls = []
- for g in self.groups:
- calls.append(call(g.id))
- self.groups_mock.delete.assert_has_calls(calls)
- self.assertIsNone(result)
-
- def test_group_delete_with_domain(self):
- get_mock_result = [exceptions.CommandError, self.groups[0]]
- self.groups_mock.get = (
- mock.MagicMock(side_effect=get_mock_result))
-
- arglist = [
- '--domain', self.domain.id,
- self.groups[0].id,
- ]
- verifylist = [
- ('domain', self.groups[0].domain_id),
- ('groups', [self.groups[0].id]),
- ]
- parsed_args = self.check_parser(self.cmd, arglist, verifylist)
-
- result = self.cmd.take_action(parsed_args)
- self.groups_mock.get.assert_any_call(
- self.groups[0].id, domain_id=self.domain.id)
- self.groups_mock.delete.assert_called_once_with(self.groups[0].id)
- self.assertIsNone(result)
-
-
-class TestGroupList(TestGroup):
-
- domain = identity_fakes.FakeDomain.create_one_domain()
- group = identity_fakes.FakeGroup.create_one_group()
- user = identity_fakes.FakeUser.create_one_user()
-
- columns = (
- 'ID',
- 'Name',
- )
- datalist = (
- (
- group.id,
- group.name,
- ),
- )
-
- def setUp(self):
- super(TestGroupList, self).setUp()
-
- self.groups_mock.get.return_value = self.group
- self.groups_mock.list.return_value = [self.group]
-
- self.domains_mock.get.return_value = self.domain
-
- self.users_mock.get.return_value = self.user
-
- # Get the command object to test
- self.cmd = group.ListGroup(self.app, None)
-
- def test_group_list_no_options(self):
- arglist = []
- verifylist = []
- parsed_args = self.check_parser(self.cmd, arglist, verifylist)
-
- # In base command class Lister in cliff, abstract method take_action()
- # returns a tuple containing the column names and an iterable
- # containing the data to be listed.
- columns, data = self.cmd.take_action(parsed_args)
-
- # Set expected values
- kwargs = {
- 'domain': None,
- 'user': None,
- }
-
- self.groups_mock.list.assert_called_with(
- **kwargs
- )
-
- self.assertEqual(self.columns, columns)
- self.assertEqual(self.datalist, tuple(data))
-
- def test_group_list_domain(self):
- arglist = [
- '--domain', self.domain.id,
- ]
- verifylist = [
- ('domain', self.domain.id),
- ]
- parsed_args = self.check_parser(self.cmd, arglist, verifylist)
-
- # In base command class Lister in cliff, abstract method take_action()
- # returns a tuple containing the column names and an iterable
- # containing the data to be listed.
- columns, data = self.cmd.take_action(parsed_args)
-
- # Set expected values
- kwargs = {
- 'domain': self.domain.id,
- 'user': None,
- }
-
- self.groups_mock.list.assert_called_with(
- **kwargs
- )
-
- self.assertEqual(self.columns, columns)
- self.assertEqual(self.datalist, tuple(data))
-
- def test_group_list_user(self):
- arglist = [
- '--user', self.user.name,
- ]
- verifylist = [
- ('user', self.user.name),
- ]
- parsed_args = self.check_parser(self.cmd, arglist, verifylist)
-
- # In base command class Lister in cliff, abstract method take_action()
- # returns a tuple containing the column names and an iterable
- # containing the data to be listed.
- columns, data = self.cmd.take_action(parsed_args)
-
- # Set expected values
- kwargs = {
- 'domain': None,
- 'user': self.user.id,
- }
-
- self.groups_mock.list.assert_called_with(
- **kwargs
- )
-
- self.assertEqual(self.columns, columns)
- self.assertEqual(self.datalist, tuple(data))
-
- def test_group_list_long(self):
- arglist = [
- '--long',
- ]
- verifylist = [
- ('long', True),
- ]
- parsed_args = self.check_parser(self.cmd, arglist, verifylist)
-
- # In base command class Lister in cliff, abstract method take_action()
- # returns a tuple containing the column names and an iterable
- # containing the data to be listed.
- columns, data = self.cmd.take_action(parsed_args)
-
- # Set expected values
- kwargs = {
- 'domain': None,
- 'user': None,
- }
-
- self.groups_mock.list.assert_called_with(
- **kwargs
- )
-
- columns = self.columns + (
- 'Domain ID',
- 'Description',
- )
- datalist = ((
- self.group.id,
- self.group.name,
- self.group.domain_id,
- self.group.description,
- ), )
- self.assertEqual(columns, columns)
- self.assertEqual(datalist, tuple(data))
-
-
-class TestGroupRemoveUser(TestGroup):
-
- group = identity_fakes.FakeGroup.create_one_group()
- user = identity_fakes.FakeUser.create_one_user()
-
- def setUp(self):
- super(TestGroupRemoveUser, self).setUp()
-
- self.groups_mock.get.return_value = self.group
- self.users_mock.get.return_value = self.user
- self.users_mock.remove_from_group.return_value = None
-
- self.cmd = group.RemoveUserFromGroup(self.app, None)
-
- def test_group_remove_user(self):
- 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)
-
- result = self.cmd.take_action(parsed_args)
- self.users_mock.remove_from_group.assert_called_once_with(
- self.user.id, self.group.id)
- self.assertIsNone(result)
-
-
-class TestGroupSet(TestGroup):
-
- domain = identity_fakes.FakeDomain.create_one_domain()
- group = identity_fakes.FakeGroup.create_one_group(
- attrs={'domain_id': domain.id})
-
- def setUp(self):
- super(TestGroupSet, self).setUp()
-
- self.groups_mock.get.return_value = self.group
- self.domains_mock.get.return_value = self.domain
- self.groups_mock.update.return_value = None
-
- self.cmd = group.SetGroup(self.app, None)
-
- def test_group_set_nothing(self):
- arglist = [
- self.group.id,
- ]
- verifylist = [
- ('group', self.group.id),
- ]
- parsed_args = self.check_parser(self.cmd, arglist, verifylist)
-
- result = self.cmd.take_action(parsed_args)
- self.groups_mock.update.assert_called_once_with(self.group.id)
- self.assertIsNone(result)
-
- def test_group_set_name_and_description(self):
- arglist = [
- '--name', 'new_name',
- '--description', 'new_description',
- self.group.id,
- ]
- verifylist = [
- ('name', 'new_name'),
- ('description', 'new_description'),
- ('group', self.group.id),
- ]
- parsed_args = self.check_parser(self.cmd, arglist, verifylist)
-
- result = self.cmd.take_action(parsed_args)
- kwargs = {
- 'name': 'new_name',
- 'description': 'new_description',
- }
- self.groups_mock.update.assert_called_once_with(
- self.group.id, **kwargs)
- self.assertIsNone(result)
-
- def test_group_set_with_domain(self):
- get_mock_result = [exceptions.CommandError, self.group]
- self.groups_mock.get = (
- mock.MagicMock(side_effect=get_mock_result))
-
- arglist = [
- '--domain', self.domain.id,
- self.group.id,
- ]
- verifylist = [
- ('domain', self.domain.id),
- ('group', self.group.id),
- ]
- parsed_args = self.check_parser(self.cmd, arglist, verifylist)
-
- result = self.cmd.take_action(parsed_args)
- self.groups_mock.get.assert_any_call(
- self.group.id, domain_id=self.domain.id)
- self.groups_mock.update.assert_called_once_with(self.group.id)
- self.assertIsNone(result)
-
-
-class TestGroupShow(TestGroup):
-
- domain = identity_fakes.FakeDomain.create_one_domain()
-
- columns = (
- 'description',
- 'domain_id',
- 'id',
- 'name',
- )
-
- def setUp(self):
- super(TestGroupShow, self).setUp()
- self.group = identity_fakes.FakeGroup.create_one_group(
- attrs={'domain_id': self.domain.id})
- self.data = (
- self.group.description,
- self.group.domain_id,
- self.group.id,
- self.group.name,
- )
-
- self.groups_mock.get.return_value = self.group
- self.domains_mock.get.return_value = self.domain
-
- self.cmd = group.ShowGroup(self.app, None)
-
- def test_group_show(self):
- arglist = [
- self.group.id,
- ]
- verifylist = [
- ('group', self.group.id),
- ]
- parsed_args = self.check_parser(self.cmd, arglist, verifylist)
-
- columns, data = self.cmd.take_action(parsed_args)
- self.groups_mock.get.assert_called_once_with(self.group.id)
- self.assertEqual(self.columns, columns)
- self.assertEqual(self.data, data)
-
- def test_group_show_with_domain(self):
- get_mock_result = [exceptions.CommandError, self.group]
- self.groups_mock.get = (
- mock.MagicMock(side_effect=get_mock_result))
-
- arglist = [
- '--domain', self.domain.id,
- self.group.id,
- ]
- verifylist = [
- ('domain', self.domain.id),
- ('group', self.group.id),
- ]
- parsed_args = self.check_parser(self.cmd, arglist, verifylist)
-
- columns, data = self.cmd.take_action(parsed_args)
- self.groups_mock.get.assert_any_call(
- self.group.id, domain_id=self.domain.id)
- self.assertEqual(self.columns, columns)
- self.assertEqual(self.data, data)