diff options
author | Jenkins <jenkins@review.openstack.org> | 2015-06-11 04:08:11 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2015-06-11 04:08:11 +0000 |
commit | 5419559836ae340eff55f2b28ce4561e25bc656c (patch) | |
tree | e935f7e13d81340fb526183f2789baaf9b5b2d34 | |
parent | 72d6e66a2d7121e40498db34531d311fa2fb6e5f (diff) | |
parent | 838aa3a96dd45e06adf897946f7ab3a5d976d35b (diff) | |
download | heat-5419559836ae340eff55f2b28ce4561e25bc656c.tar.gz |
Merge "Add unit test case for Keystone client plug-in for project"
-rw-r--r-- | heat/tests/keystone/test_client.py | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/heat/tests/keystone/test_client.py b/heat/tests/keystone/test_client.py index e18ebb4ec..c2b1cfe5a 100644 --- a/heat/tests/keystone/test_client.py +++ b/heat/tests/keystone/test_client.py @@ -289,3 +289,79 @@ class KeystoneClientPluginRoleTest(common.HeatTestCase): self.sample_name) self._client.client.roles.list.assert_called_once_with( name=self.sample_name) + + +class KeystoneClientPluginProjectTest(common.HeatTestCase): + + sample_uuid = '477e8273-60a7-4c41-b683-fdb0bc7cd152' + sample_name = 'sample_project' + + def _get_mock_project(self): + project = mock.MagicMock() + project.id = self.sample_uuid + project.name = self.sample_name + return project + + def setUp(self): + super(KeystoneClientPluginProjectTest, self).setUp() + self._client = mock.MagicMock() + + @mock.patch.object(client.KeystoneClientPlugin, 'client') + def test_get_project_id(self, client_keystone): + self._client.client.projects.get.return_value = (self + ._get_mock_project()) + + client_keystone.return_value = self._client + client_plugin = client.KeystoneClientPlugin( + context=mock.MagicMock() + ) + + self.assertEqual(self.sample_uuid, + client_plugin.get_project_id(self.sample_uuid)) + self._client.client.projects.get.assert_called_once_with( + self.sample_uuid) + + @mock.patch.object(client.KeystoneClientPlugin, 'client') + def test_get_project_id_with_name(self, client_keystone): + self._client.client.projects.get.side_effect = (keystone_exceptions + .NotFound) + self._client.client.projects.list.return_value = [ + self._get_mock_project() + ] + + client_keystone.return_value = self._client + client_plugin = client.KeystoneClientPlugin( + context=mock.MagicMock() + ) + + self.assertEqual(self.sample_uuid, + client_plugin.get_project_id(self.sample_name)) + self.assertRaises(keystone_exceptions.NotFound, + self._client.client.projects.get, + self.sample_name) + self._client.client.projects.list.assert_called_once_with( + name=self.sample_name) + + @mock.patch.object(client.KeystoneClientPlugin, 'client') + def test_get_project_id_not_found(self, client_keystone): + self._client.client.projects.get.side_effect = (keystone_exceptions + .NotFound) + self._client.client.projects.list.return_value = [ + ] + + client_keystone.return_value = self._client + client_plugin = client.KeystoneClientPlugin( + context=mock.MagicMock() + ) + + ex = self.assertRaises(exception.EntityNotFound, + client_plugin.get_project_id, + self.sample_name) + msg = ("The KeystoneProject (%(name)s) could not be found." % + {'name': self.sample_name}) + self.assertEqual(msg, six.text_type(ex)) + self.assertRaises(keystone_exceptions.NotFound, + self._client.client.projects.get, + self.sample_name) + self._client.client.projects.list.assert_called_once_with( + name=self.sample_name) |