diff options
| author | Jenkins <jenkins@review.openstack.org> | 2016-08-03 12:54:03 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2016-08-03 12:54:03 +0000 |
| commit | a42664ccaa9860c34fcd91cb4c3dbdf6805b3eb0 (patch) | |
| tree | acc389ec96467607cf8bbab438105302127ea103 /openstackclient/tests | |
| parent | ab32f37e6715c15b9b6fb195f273c7672ef2a532 (diff) | |
| parent | fac321458166cccffc0eb1d13a986a01c9e6d33e (diff) | |
| download | python-openstackclient-a42664ccaa9860c34fcd91cb4c3dbdf6805b3eb0.tar.gz | |
Merge "Implement "network rbac set" command"
Diffstat (limited to 'openstackclient/tests')
| -rw-r--r-- | openstackclient/tests/network/v2/test_network_rbac.py | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/openstackclient/tests/network/v2/test_network_rbac.py b/openstackclient/tests/network/v2/test_network_rbac.py index 5d6e9cfa..6255ada7 100644 --- a/openstackclient/tests/network/v2/test_network_rbac.py +++ b/openstackclient/tests/network/v2/test_network_rbac.py @@ -317,6 +317,62 @@ class TestListNetworkRABC(TestNetworkRBAC): self.assertEqual(self.data, list(data)) +class TestSetNetworkRBAC(TestNetworkRBAC): + + project = identity_fakes_v3.FakeProject.create_one_project() + rbac_policy = network_fakes.FakeNetworkRBAC.create_one_network_rbac( + attrs={'target_tenant': project.id}) + + def setUp(self): + super(TestSetNetworkRBAC, self).setUp() + + # Get the command object to test + self.cmd = network_rbac.SetNetworkRBAC(self.app, self.namespace) + + self.network.find_rbac_policy = mock.Mock( + return_value=self.rbac_policy) + self.network.update_rbac_policy = mock.Mock(return_value=None) + self.projects_mock.get.return_value = self.project + + def test_network_rbac_set_nothing(self): + arglist = [ + self.rbac_policy.id, + ] + verifylist = [ + ('rbac_policy', self.rbac_policy.id), + ] + parsed_args = self.check_parser(self.cmd, arglist, verifylist) + + result = self.cmd.take_action(parsed_args) + self.network.find_rbac_policy.assert_called_once_with( + self.rbac_policy.id, ignore_missing=False + ) + attrs = {} + self.network.update_rbac_policy.assert_called_once_with( + self.rbac_policy, **attrs) + self.assertIsNone(result) + + def test_network_rbac_set(self): + arglist = [ + '--target-project', self.project.id, + self.rbac_policy.id, + ] + verifylist = [ + ('target_project', self.project.id), + ('rbac_policy', self.rbac_policy.id), + ] + parsed_args = self.check_parser(self.cmd, arglist, verifylist) + + result = self.cmd.take_action(parsed_args) + self.network.find_rbac_policy.assert_called_once_with( + self.rbac_policy.id, ignore_missing=False + ) + attrs = {'target_tenant': self.project.id} + self.network.update_rbac_policy.assert_called_once_with( + self.rbac_policy, **attrs) + self.assertIsNone(result) + + class TestShowNetworkRBAC(TestNetworkRBAC): rbac_policy = network_fakes.FakeNetworkRBAC.create_one_network_rbac() |
