summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2015-06-11 04:08:11 +0000
committerGerrit Code Review <review@openstack.org>2015-06-11 04:08:11 +0000
commit5419559836ae340eff55f2b28ce4561e25bc656c (patch)
treee935f7e13d81340fb526183f2789baaf9b5b2d34
parent72d6e66a2d7121e40498db34531d311fa2fb6e5f (diff)
parent838aa3a96dd45e06adf897946f7ab3a5d976d35b (diff)
downloadheat-5419559836ae340eff55f2b28ce4561e25bc656c.tar.gz
Merge "Add unit test case for Keystone client plug-in for project"
-rw-r--r--heat/tests/keystone/test_client.py76
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)