Merge "tests the Keystone extensions V2 API"

This commit is contained in:
Jenkins 2014-06-13 13:46:48 +00:00 committed by Gerrit Code Review
commit a88165af90
3 changed files with 50 additions and 1 deletions

View File

@ -0,0 +1,37 @@
# Copyright 2014 NEC Corporation
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
from tempest.api.identity import base
from tempest import test
class ExtensionTestJSON(base.BaseIdentityV2AdminTest):
_interface = 'json'
@test.attr(type='gate')
def test_list_extensions(self):
# List all the extensions
resp, body = self.non_admin_client.list_extensions()
self.assertEqual(200, resp.status)
self.assertNotEmpty(body)
keys = ['name', 'updated', 'alias', 'links',
'namespace', 'description']
for value in body:
for key in keys:
self.assertIn(key, value)
class ExtensionTestXML(ExtensionTestJSON):
_interface = 'xml'

View File

@ -27,7 +27,8 @@ class IdentityClientJSON(rest_client.RestClient):
self.endpoint_url = 'adminURL'
# Needed for xml service client
self.list_tags = ["roles", "tenants", "users", "services"]
self.list_tags = ["roles", "tenants", "users", "services",
"extensions"]
def has_admin_extensions(self):
"""
@ -237,6 +238,12 @@ class IdentityClientJSON(rest_client.RestClient):
resp, body = self.put('users/%s/OS-KSADM/password' % user_id, put_body)
return resp, self._parse_resp(body)
def list_extensions(self):
"""List all the extensions."""
resp, body = self.get('/extensions')
body = json.loads(body)
return resp, body['extensions']['values']
class TokenClientJSON(IdentityClientJSON):

View File

@ -127,6 +127,11 @@ class IdentityClientXML(identity_client.IdentityClientJSON):
str(xml.Document(put_body)))
return resp, self._parse_resp(body)
def list_extensions(self):
"""List all the extensions."""
resp, body = self.get('/extensions')
return resp, self._parse_resp(body)
class TokenClientXML(identity_client.TokenClientJSON):
TYPE = "xml"