diff options
author | Yun Huang <yun.huang@windriver.com> | 2018-03-27 14:52:24 +0800 |
---|---|---|
committer | Yun Huang <yun.huang@windriver.com> | 2018-03-27 14:52:24 +0800 |
commit | 9a6231fea4b6d95f139af449656f11ef69c6d867 (patch) | |
tree | fd808087e40ed95f727bc63fefb8f66dc79ea5c8 | |
parent | d9ffb28b7cb39c66cb21ab2ae78dc1371e4bb068 (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.py | 64 |
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']) |