summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYun Huang <yun.huang@windriver.com>2018-03-27 14:52:24 +0800
committerYun Huang <yun.huang@windriver.com>2018-03-27 14:52:24 +0800
commit9a6231fea4b6d95f139af449656f11ef69c6d867 (patch)
treefd808087e40ed95f727bc63fefb8f66dc79ea5c8
parentd9ffb28b7cb39c66cb21ab2ae78dc1371e4bb068 (diff)
Add UT for token request with project name
Change-Id: I2eaad79b0890eb7c04074b0f23b27ea09e2a8e74 Issue-ID: MULTICLOUD-203 Signed-off-by: Yun Huang <yun.huang@windriver.com>
-rw-r--r--newton/newton/proxy/tests/test_identity_proxy.py64
1 files changed, 63 insertions, 1 deletions
diff --git a/newton/newton/proxy/tests/test_identity_proxy.py b/newton/newton/proxy/tests/test_identity_proxy.py
index adece80b..720ca13a 100644
--- a/newton/newton/proxy/tests/test_identity_proxy.py
+++ b/newton/newton/proxy/tests/test_identity_proxy.py
@@ -520,6 +520,68 @@ class TestIdentityService(unittest.TestCase):
@mock.patch.object(VimDriverUtils, 'get_session')
@mock.patch.object(VimDriverUtils, 'get_auth_state')
@mock.patch.object(VimDriverUtils, 'update_token_cache')
+ def test_token_with_tenantname(self, mock_update_token_cache, mock_get_auth_state,
+ mock_get_session, mock_get_vim_info):
+ '''
+ test API: get token
+ :param mock_update_token_cache:
+ :param mock_get_auth_state:
+ :param mock_get_session:
+ :param mock_get_vim_info:
+ :return:
+ '''
+
+ # mock VimDriverUtils APIs
+ mock_session_specs = ["get"]
+ mock_session_get_response = {'status': 200}
+ mock_session = mock.Mock(name='mock_session',
+ spec=mock_session_specs)
+ mock_session.get.return_value = mock_session_get_response
+
+ mock_get_vim_info.return_value = mock_info.MOCK_VIM_INFO
+ mock_get_session.return_value = mock_session
+ mock_get_auth_state.return_value = json.dumps(mock_auth_state)
+ mock_update_token_cache.return_value = mock_info.MOCK_TOKEN_ID
+
+ # simulate client to make the request
+ token_data = {
+ "auth": {
+ "identity": {
+ "methods": ["password"],
+ "password": {
+ "user": {
+ "name": "demo",
+ "domain": {"name": "Default"},
+ "password": "demo"
+ }
+ }
+ },
+ "scope": {
+ "project": {
+ "domain": {"name":"Default"},
+ "name": "Integration"
+ }
+ }
+ }
+ }
+
+ response = self.client.post(
+ "/api/%s/v0/windriver-hudson-dc_RegionOne/identity/v3/"
+ "auth/tokens" % test_base.MULTIVIM_VERSION,
+ data=json.dumps(token_data), content_type='application/json')
+ self.failUnlessEqual(status.HTTP_201_CREATED,
+ response.status_code)
+ context = response.json()
+
+ self.assertEqual(mock_info.MOCK_TOKEN_ID,
+ response['X-Subject-Token'])
+ self.assertIsNotNone(context['token']['catalog'])
+
+
+ @mock.patch.object(VimDriverUtils, 'get_vim_info')
+ @mock.patch.object(VimDriverUtils, 'get_session')
+ @mock.patch.object(VimDriverUtils, 'get_auth_state')
+ @mock.patch.object(VimDriverUtils, 'update_token_cache')
def test_tokensV2(self, mock_update_token_cache, mock_get_auth_state,
mock_get_session, mock_get_vim_info):
'''
@@ -556,4 +618,4 @@ class TestIdentityService(unittest.TestCase):
self.assertIsNotNone(context['access']['token'])
self.assertEqual(mock_info.MOCK_TOKEN_ID,
context['access']['token']["id"])
- self.assertIsNotNone(context['access']['serviceCatalog']) \ No newline at end of file
+ self.assertIsNotNone(context['access']['serviceCatalog'])