Changes to support endpointTemplate operations as per new API.Fixed issues with command line manage stuff.
Change-Id: Iff495917cc6101aa4d43ab023b96333d29cc1496
This commit is contained in:
parent
8af1a2252a
commit
c3aabe4595
@ -172,3 +172,6 @@ class EndpointTemplates(Base, KeystoneBase):
|
||||
internal_url = Column(String(2000))
|
||||
enabled = Column(Boolean)
|
||||
is_global = Column(Boolean)
|
||||
version_id = Column(String(20))
|
||||
version_list = Column(String(2000))
|
||||
version_info = Column(String(500))
|
||||
|
@ -826,6 +826,9 @@ class IdentityService(object):
|
||||
dendpoint_template.internal_url = endpoint_template.internal_url
|
||||
dendpoint_template.enabled = endpoint_template.enabled
|
||||
dendpoint_template.is_global = endpoint_template.is_global
|
||||
dendpoint_template.version_id = endpoint_template.version_id
|
||||
dendpoint_template.version_list = endpoint_template.version_list
|
||||
dendpoint_template.version_info = endpoint_template.version_info
|
||||
dendpoint_template = api.ENDPOINT_TEMPLATE.create(dendpoint_template)
|
||||
endpoint_template.id = dendpoint_template.id
|
||||
return endpoint_template
|
||||
@ -854,6 +857,9 @@ class IdentityService(object):
|
||||
dendpoint_template.internal_url = endpoint_template.internal_url
|
||||
dendpoint_template.enabled = endpoint_template.enabled
|
||||
dendpoint_template.is_global = endpoint_template.is_global
|
||||
dendpoint_template.version_id = endpoint_template.version_id
|
||||
dendpoint_template.version_list = endpoint_template.version_list
|
||||
dendpoint_template.version_info = endpoint_template.version_info
|
||||
dendpoint_template = api.ENDPOINT_TEMPLATE.update(
|
||||
endpoint_template_id, dendpoint_template)
|
||||
return EndpointTemplate(
|
||||
@ -864,7 +870,11 @@ class IdentityService(object):
|
||||
dendpoint_template.admin_url,
|
||||
dendpoint_template.internal_url,
|
||||
dendpoint_template.enabled,
|
||||
dendpoint_template.is_global)
|
||||
dendpoint_template.is_global,
|
||||
dendpoint_template.version_id,
|
||||
dendpoint_template.version_list,
|
||||
dendpoint_template.version_info
|
||||
)
|
||||
|
||||
def delete_endpoint_template(self, admin_token, endpoint_template_id):
|
||||
self.__validate_service_or_keystone_admin_token(admin_token)
|
||||
@ -894,7 +904,11 @@ class IdentityService(object):
|
||||
dendpoint_template.admin_url,
|
||||
dendpoint_template.internal_url,
|
||||
dendpoint_template.enabled,
|
||||
dendpoint_template.is_global))
|
||||
dendpoint_template.is_global,
|
||||
dendpoint_template.version_id,
|
||||
dendpoint_template.version_list,
|
||||
dendpoint_template.version_info
|
||||
))
|
||||
prev, next = api.ENDPOINT_TEMPLATE.get_page_markers(marker, limit)
|
||||
links = []
|
||||
if prev:
|
||||
@ -920,7 +934,11 @@ class IdentityService(object):
|
||||
dendpoint_template.admin_url,
|
||||
dendpoint_template.internal_url,
|
||||
dendpoint_template.enabled,
|
||||
dendpoint_template.is_global)
|
||||
dendpoint_template.is_global,
|
||||
dendpoint_template.version_id,
|
||||
dendpoint_template.version_list,
|
||||
dendpoint_template.version_info
|
||||
)
|
||||
|
||||
def get_tenant_endpoints(self, admin_token, marker, limit, url, tenant_id):
|
||||
self.__validate_service_or_keystone_admin_token(admin_token)
|
||||
|
@ -27,8 +27,10 @@ class EndpointTemplate(object):
|
||||
try:
|
||||
dom = etree.Element("root")
|
||||
dom.append(etree.fromstring(xml_str))
|
||||
root = dom.find("{http://docs.openstack.org/identity/api/v2.0}" \
|
||||
"endpointTemplate")
|
||||
root = dom.find(
|
||||
"{http://docs.openstack.org/identity"\
|
||||
"/api/ext/OSKSCATALOG/v1.0}" \
|
||||
"endpointTemplate")
|
||||
if root == None:
|
||||
raise fault.BadRequestFault("Expecting endpointTemplate")
|
||||
id = root.get("id")
|
||||
@ -39,8 +41,24 @@ class EndpointTemplate(object):
|
||||
internal_url = root.get("internalURL")
|
||||
enabled = root.get("enabled")
|
||||
is_global = root.get("global")
|
||||
version = root.find(
|
||||
"{http://docs.openstack.org/identity/"\
|
||||
"api/ext/OSKSCATALOG/v1.0}" \
|
||||
"version")
|
||||
version_id = None
|
||||
version_info = None
|
||||
version_list = None
|
||||
if version is not None:
|
||||
if version.get('id'):
|
||||
version_id = version.get("id")
|
||||
if version.get('info'):
|
||||
version_info = version.get("info")
|
||||
if version.get('list'):
|
||||
version_list = version.get("list")
|
||||
|
||||
return EndpointTemplate(id, region, service, public_url, admin_url,
|
||||
internal_url, enabled, is_global)
|
||||
internal_url, enabled, is_global,
|
||||
version_id, version_list, version_info)
|
||||
except etree.LxmlError as e:
|
||||
raise fault.BadRequestFault("Cannot parse endpointTemplate",
|
||||
str(e))
|
||||
@ -56,15 +74,19 @@ class EndpointTemplate(object):
|
||||
internal_url = None
|
||||
enabled = None
|
||||
is_global = None
|
||||
|
||||
if not "endpointTemplate" in obj:
|
||||
raise fault.BadRequestFault("Expecting endpointTemplate")
|
||||
endpoint_template = obj["endpointTemplate"]
|
||||
version_id = None
|
||||
version_list = None
|
||||
version_info = None
|
||||
if not "OS-KSCATALOG:endpointTemplate" in obj:
|
||||
raise fault.BadRequestFault(
|
||||
"Expecting OS-KSCATALOG:endpointTemplate")
|
||||
endpoint_template = obj["OS-KSCATALOG:endpointTemplate"]
|
||||
|
||||
# Check that fields are valid
|
||||
invalid = [key for key in endpoint_template if key not in
|
||||
['id', 'region', 'serviceId', 'publicURL',
|
||||
'adminURL', 'internalURL', 'enabled', 'global']]
|
||||
'adminURL', 'internalURL', 'enabled', 'global',
|
||||
'versionId', 'versionInfo', 'versionList']]
|
||||
if invalid != []:
|
||||
raise fault.BadRequestFault("Invalid attribute(s): %s"
|
||||
% invalid)
|
||||
@ -88,15 +110,30 @@ class EndpointTemplate(object):
|
||||
enabled = endpoint_template["enabled"]
|
||||
if 'global' in endpoint_template:
|
||||
is_global = endpoint_template["global"]
|
||||
if 'versionId' in endpoint_template:
|
||||
version_id = endpoint_template["versionId"]
|
||||
else:
|
||||
version_id = None
|
||||
if 'versionInfo' in endpoint_template:
|
||||
version_info = endpoint_template["versionInfo"]
|
||||
else:
|
||||
version_info = None
|
||||
if 'versionList' in endpoint_template:
|
||||
version_list = endpoint_template["versionList"]
|
||||
else:
|
||||
version_list = None
|
||||
|
||||
return EndpointTemplate(id, region, service, public_url, admin_url,
|
||||
internal_url, enabled, is_global)
|
||||
return EndpointTemplate(
|
||||
id, region, service, public_url, admin_url,
|
||||
internal_url, enabled, is_global, version_id,
|
||||
version_list, version_info)
|
||||
except (ValueError, TypeError) as e:
|
||||
raise fault.BadRequestFault(\
|
||||
"Cannot parse endpointTemplate", str(e))
|
||||
|
||||
def __init__(self, id, region, service, public_url, admin_url,
|
||||
internal_url, enabled, is_global):
|
||||
internal_url, enabled, is_global,
|
||||
version_id=None, version_list=None, version_info=None):
|
||||
self.id = id
|
||||
self.region = region
|
||||
self.service = service
|
||||
@ -105,10 +142,14 @@ class EndpointTemplate(object):
|
||||
self.internal_url = internal_url
|
||||
self.enabled = bool(enabled)
|
||||
self.is_global = bool(is_global)
|
||||
self.version_id = version_id
|
||||
self.version_list = version_list
|
||||
self.version_info = version_info
|
||||
|
||||
def to_dom(self):
|
||||
dom = etree.Element("endpointTemplate",
|
||||
xmlns="http://docs.openstack.org/identity/api/v2.0")
|
||||
xmlns="http://docs.openstack.org/"
|
||||
"identity/api/ext/OSKSCATALOG/v1.0")
|
||||
if self.id:
|
||||
dom.set("id", str(self.id))
|
||||
if self.region:
|
||||
@ -125,6 +166,16 @@ class EndpointTemplate(object):
|
||||
dom.set("enabled", str(self.enabled).lower())
|
||||
if self.is_global:
|
||||
dom.set("global", str(self.is_global).lower())
|
||||
version = etree.Element("version",
|
||||
xmlns="http://docs.openstack.org"
|
||||
"/identity/api/ext/OSKSCATALOG/v1.0")
|
||||
if self.version_id:
|
||||
version.set("id", self.version_id)
|
||||
if self.version_info:
|
||||
version.set("info", self.version_info)
|
||||
if self.version_list:
|
||||
version.set("list", self.version_list)
|
||||
dom.append(version)
|
||||
return dom
|
||||
|
||||
def to_xml(self):
|
||||
@ -148,7 +199,13 @@ class EndpointTemplate(object):
|
||||
endpoint_template["enabled"] = self.enabled
|
||||
if self.is_global:
|
||||
endpoint_template["global"] = self.is_global
|
||||
return {'endpointTemplate': endpoint_template}
|
||||
if self.version_id:
|
||||
endpoint_template["versionId"] = self.version_id
|
||||
if self.version_info:
|
||||
endpoint_template["versionInfo"] = self.version_info
|
||||
if self.version_list:
|
||||
endpoint_template["versionList"] = self.version_list
|
||||
return {'OS-KSCATALOG:endpointTemplate': endpoint_template}
|
||||
|
||||
def to_json(self):
|
||||
return json.dumps(self.to_dict())
|
||||
@ -163,7 +220,8 @@ class EndpointTemplates(object):
|
||||
|
||||
def to_xml(self):
|
||||
dom = etree.Element("endpointTemplates")
|
||||
dom.set(u"xmlns", "http://docs.openstack.org/identity/api/v2.0")
|
||||
dom.set(u"xmlns",
|
||||
"http://docs.openstack.org/identity/api/ext/OSKSCATALOG/v1.0")
|
||||
|
||||
for t in self.values:
|
||||
dom.append(t.to_dom())
|
||||
@ -174,10 +232,12 @@ class EndpointTemplates(object):
|
||||
return etree.tostring(dom)
|
||||
|
||||
def to_json(self):
|
||||
values = [t.to_dict()["endpointTemplate"] for t in self.values]
|
||||
values = [t.to_dict()["OS-KSCATALOG:endpointTemplate"]
|
||||
for t in self.values]
|
||||
links = [t.to_dict()["links"] for t in self.links]
|
||||
return json.dumps({"endpointTemplates":\
|
||||
{"values": values, "links": links}})
|
||||
return json.dumps({"OS-KSCATALOG:endpointTemplates":\
|
||||
{"OS-KSCATALOG:endpointTemplates": values,
|
||||
"OS-KSCATALOG:endpointTemplates_links": links}})
|
||||
|
||||
|
||||
class Endpoint(object):
|
||||
@ -189,7 +249,8 @@ class Endpoint(object):
|
||||
|
||||
def to_dom(self):
|
||||
dom = etree.Element("endpoint",
|
||||
xmlns="http://docs.openstack.org/identity/api/v2.0")
|
||||
xmlns="http://docs.openstack.org/"
|
||||
"identity/api/ext/OSKSCATALOG/v1.0")
|
||||
if self.id:
|
||||
dom.set("id", str(self.id))
|
||||
if self.href:
|
||||
@ -220,7 +281,8 @@ class Endpoints(object):
|
||||
|
||||
def to_xml(self):
|
||||
dom = etree.Element("endpoints")
|
||||
dom.set(u"xmlns", "http://docs.openstack.org/identity/api/v2.0")
|
||||
dom.set(u"xmlns",
|
||||
"http://docs.openstack.org/identity/api/ext/OSKSCATALOG/v1.0")
|
||||
|
||||
for t in self.values:
|
||||
dom.append(t.to_dom())
|
||||
|
@ -108,17 +108,17 @@ def process(*args):
|
||||
|
||||
if len(args) == 2 and action not in ['list']:
|
||||
raise optparse.OptParseError(ID_NOT_SPECIFIED)
|
||||
else:
|
||||
elif action not in ['list']:
|
||||
object_id = args[2]
|
||||
|
||||
# Helper functions
|
||||
|
||||
def require_args(args, min, msg):
|
||||
"""Ensure there are at least `min` arguments"""
|
||||
if len(args) < min:
|
||||
raise optparse.OptParseError(msg)
|
||||
|
||||
optional_arg = (lambda args, x: len(args) > x and args[x] or None)
|
||||
optional_arg = (lambda args, x:
|
||||
len(args) > x and str(args[x]).strip() or None)
|
||||
|
||||
def print_table(header_row, rows):
|
||||
"""Prints a lists of lists as table in a human readable format"""
|
||||
@ -187,9 +187,14 @@ def process(*args):
|
||||
require_args(args, 9, "Missing arguments: endpointTemplates add "
|
||||
"'region' 'service' 'publicURL' 'adminURL' 'internalURL' "
|
||||
"'enabled' 'global'")
|
||||
version_id = optional_arg(args, 9)
|
||||
version_list = optional_arg(args, 10)
|
||||
version_info = optional_arg(args, 11)
|
||||
if api.add_endpoint_template(region=args[2], service=args[3],
|
||||
public_url=args[4], admin_url=args[5], internal_url=args[6],
|
||||
enabled=args[7], is_global=args[8]):
|
||||
enabled=args[7], is_global=args[8],
|
||||
version_id=version_id, version_list=version_list,
|
||||
version_info=version_info):
|
||||
print("SUCCESS: Created EndpointTemplates for %s pointing to %s." %
|
||||
(args[3], args[4]))
|
||||
|
||||
|
@ -95,7 +95,7 @@ def grant_role(role, user, tenant=None):
|
||||
|
||||
|
||||
def add_endpoint_template(region, service, public_url, admin_url, internal_url,
|
||||
enabled, is_global):
|
||||
enabled, is_global, version_id, version_list, version_info):
|
||||
db_service = db_api.SERVICE.get_by_name(service)
|
||||
if db_service is None:
|
||||
raise IndexError("Service %s not found" % service)
|
||||
@ -107,6 +107,9 @@ def add_endpoint_template(region, service, public_url, admin_url, internal_url,
|
||||
obj.internal_url = internal_url
|
||||
obj.enabled = enabled
|
||||
obj.is_global = is_global
|
||||
obj.version_id = version_id
|
||||
obj.version_list = version_list
|
||||
obj.version_info = version_info
|
||||
return db_api.ENDPOINT_TEMPLATE.create(obj)
|
||||
|
||||
|
||||
|
@ -488,6 +488,8 @@ class FunctionalTestCase(ApiTestCase):
|
||||
|
||||
xmlns = 'http://docs.openstack.org/identity/api/v2.0'
|
||||
xmlns_ksadm = 'http://docs.openstack.org/identity/api/ext/OS-KSADM/v1.0'
|
||||
xmlns_kscatalog = "http://docs.openstack.org/identity/api/ext"\
|
||||
+ "/OSKSCATALOG/v1.0"
|
||||
|
||||
def setUp(self):
|
||||
"""Prepare keystone for system tests"""
|
||||
@ -736,7 +738,7 @@ class FunctionalTestCase(ApiTestCase):
|
||||
tenant_id = optional_str(tenant_id)
|
||||
endpoint_template_id = optional_str(endpoint_template_id)
|
||||
|
||||
data = {"endpointTemplate": {"id": endpoint_template_id}}
|
||||
data = {"OS-KSCATALOG:endpointTemplate": {"id": endpoint_template_id}}
|
||||
|
||||
return self.post_tenant_endpoint(tenant_id, as_json=data, **kwargs)
|
||||
|
||||
@ -765,24 +767,31 @@ class FunctionalTestCase(ApiTestCase):
|
||||
|
||||
def create_endpoint_template(self, region=None, service_id=None,
|
||||
public_url=None, admin_url=None, internal_url=None, enabled=True,
|
||||
is_global=True, **kwargs):
|
||||
is_global=True, version_id=None,
|
||||
version_list=None, version_info=None, **kwargs):
|
||||
|
||||
region = optional_str(region)
|
||||
service_id = optional_str(service_id)
|
||||
public_url = optional_url(public_url)
|
||||
admin_url = optional_url(admin_url)
|
||||
internal_url = optional_url(internal_url)
|
||||
version_id = optional_url(version_id)
|
||||
version_list = optional_url(version_list)
|
||||
version_info = optional_url(version_info)
|
||||
|
||||
data = {
|
||||
"endpointTemplate": {
|
||||
"OS-KSCATALOG:endpointTemplate": {
|
||||
"region": region,
|
||||
"serviceId": service_id,
|
||||
"publicURL": public_url,
|
||||
"adminURL": admin_url,
|
||||
"internalURL": internal_url,
|
||||
"enabled": enabled,
|
||||
"global": is_global}}
|
||||
|
||||
"global": is_global,
|
||||
"versionId": version_id,
|
||||
"versionInfo": version_info,
|
||||
"versionList": version_list
|
||||
}}
|
||||
return self.post_endpoint_template(as_json=data, **kwargs)
|
||||
|
||||
def remove_endpoint_template(self, endpoint_template_id=None, **kwargs):
|
||||
@ -795,30 +804,40 @@ class FunctionalTestCase(ApiTestCase):
|
||||
|
||||
def update_endpoint_template(self, endpoint_template_id=None, region=None,
|
||||
service_id=None, public_url=None, admin_url=None,
|
||||
internal_url=None, enabled=None, is_global=None, **kwargs):
|
||||
internal_url=None, enabled=None, is_global=None,
|
||||
version_id=None, version_list=None, version_info=None, **kwargs):
|
||||
|
||||
data = {"endpointTemplate": {}}
|
||||
data = {"OS-KSCATALOG:endpointTemplate": {}}
|
||||
|
||||
if region is not None:
|
||||
data['endpointTemplate']['region'] = region
|
||||
data['OS-KSCATALOG:endpointTemplate']['region'] = region
|
||||
|
||||
if service_id is not None:
|
||||
data['endpointTemplate']['serviceId'] = service_id
|
||||
data['OS-KSCATALOG:endpointTemplate']['serviceId'] = service_id
|
||||
|
||||
if public_url is not None:
|
||||
data['endpointTemplate']['publicURL'] = public_url
|
||||
data['OS-KSCATALOG:endpointTemplate']['publicURL'] = public_url
|
||||
|
||||
if admin_url is not None:
|
||||
data['endpointTemplate']['adminURL'] = admin_url
|
||||
data['OS-KSCATALOG:endpointTemplate']['adminURL'] = admin_url
|
||||
|
||||
if internal_url is not None:
|
||||
data['endpointTemplate']['internalURL'] = internal_url
|
||||
data['OS-KSCATALOG:endpointTemplate']['internalURL'] = internal_url
|
||||
|
||||
if enabled is not None:
|
||||
data['endpointTemplate']['enabled'] = enabled
|
||||
data['OS-KSCATALOG:endpointTemplate']['enabled'] = enabled
|
||||
|
||||
if is_global is not None:
|
||||
data['endpointTemplate']['global'] = is_global
|
||||
data['OS-KSCATALOG:endpointTemplate']['global'] = is_global
|
||||
|
||||
if version_id is not None:
|
||||
data['OS-KSCATALOG:endpointTemplate']['versionId'] = version_id
|
||||
|
||||
if version_list is not None:
|
||||
data['OS-KSCATALOG:endpointTemplate']['versionList'] = version_list
|
||||
|
||||
if version_info is not None:
|
||||
data['OS-KSCATALOG:endpointTemplate']['versionInfo'] = version_info
|
||||
|
||||
return self.put_endpoint_template(endpoint_template_id, as_json=data,
|
||||
**kwargs)
|
||||
|
@ -35,7 +35,8 @@ class AuthenticationTest(common.FunctionalTestCase):
|
||||
for x in range(0, 5):
|
||||
self.services[x] = self.create_service().json['OS-KSADM:service']
|
||||
self.endpoint_templates[x] = self.create_endpoint_template(
|
||||
service_id=self.services[x]['id']).json['endpointTemplate']
|
||||
service_id=self.services[x]['id']).\
|
||||
json['OS-KSCATALOG:endpointTemplate']
|
||||
self.create_endpoint_for_tenant(self.tenant['id'],
|
||||
self.endpoint_templates[x]['id'])
|
||||
|
||||
|
@ -25,14 +25,15 @@ class EndpointTemplatesTest(common.FunctionalTestCase):
|
||||
self.service = self.create_service().json['OS-KSADM:service']
|
||||
|
||||
self.endpoint_template = self.create_endpoint_template(
|
||||
service_id=self.service['id']).json['endpointTemplate']
|
||||
service_id=self.service['id']).\
|
||||
json['OS-KSCATALOG:endpointTemplate']
|
||||
|
||||
|
||||
class CreateEndpointTemplatesTest(EndpointTemplatesTest):
|
||||
def test_create_endpoint_template(self):
|
||||
endpoint_template = self.create_endpoint_template(
|
||||
service_id=self.service['id'], assert_status=201).\
|
||||
json['endpointTemplate']
|
||||
json['OS-KSCATALOG:endpointTemplate']
|
||||
|
||||
self.assertIsNotNone(endpoint_template['id'], endpoint_template)
|
||||
self.assertIsNotNone(endpoint_template['serviceId'], endpoint_template)
|
||||
@ -47,12 +48,14 @@ class CreateEndpointTemplatesTest(EndpointTemplatesTest):
|
||||
|
||||
data = ('<?xml version="1.0" encoding="UTF-8"?> '
|
||||
'<endpointTemplate xmlns="%s" region="%s" serviceId="%s" '
|
||||
'publicURL="%s" adminURL="%s" internalURL="%s" enabled="%s" '
|
||||
'global="%s"/>') % (self.xmlns, region, self.service['id'],
|
||||
'publicURL="%s" adminURL="%s" '
|
||||
'internalURL="%s" enabled="%s" global="%s"/>'
|
||||
) % (self.xmlns_kscatalog, region, self.service['id'],
|
||||
public_url, admin_url, internal_url, enabled, is_global)
|
||||
r = self.post_endpoint_template(as_xml=data, assert_status=201)
|
||||
|
||||
self.assertEqual(r.xml.tag, '{%s}endpointTemplate' % self.xmlns)
|
||||
self.assertEqual(r.xml.tag,
|
||||
'{%s}endpointTemplate' % self.xmlns_kscatalog)
|
||||
|
||||
self.assertIsNotNone(r.xml.get("id"))
|
||||
self.assertEqual(r.xml.get("serviceId"), self.service['id'])
|
||||
@ -76,7 +79,7 @@ class CreateEndpointTemplatesTest(EndpointTemplatesTest):
|
||||
self.admin_token = self.service_admin_token
|
||||
endpoint_template = self.create_endpoint_template(
|
||||
service_id=self.service['id'], assert_status=201).\
|
||||
json['endpointTemplate']
|
||||
json['OS-KSCATALOG:endpointTemplate']
|
||||
|
||||
self.assertIsNotNone(endpoint_template['id'])
|
||||
self.assertEqual(endpoint_template['serviceId'], self.service['id'])
|
||||
@ -85,12 +88,12 @@ class CreateEndpointTemplatesTest(EndpointTemplatesTest):
|
||||
class GetEndpointTemplatesTest(EndpointTemplatesTest):
|
||||
def test_get_endpoint_templates(self):
|
||||
r = self.list_endpoint_templates(assert_status=200)
|
||||
self.assertIsNotNone(r.json['endpointTemplates'])
|
||||
self.assertIsNotNone(r.json['OS-KSCATALOG:endpointTemplates'])
|
||||
|
||||
def test_get_endpoint_templates_using_service_admin_token(self):
|
||||
self.admin_token = self.service_admin_token
|
||||
r = self.list_endpoint_templates(assert_status=200)
|
||||
self.assertIsNotNone(r.json['endpointTemplates'])
|
||||
self.assertIsNotNone(r.json['OS-KSCATALOG:endpointTemplates'])
|
||||
|
||||
def test_get_endpoint_templates_using_expired_auth_token(self):
|
||||
self.admin_token = self.expired_admin_token
|
||||
@ -111,7 +114,8 @@ class GetEndpointTemplatesTest(EndpointTemplatesTest):
|
||||
def test_get_endpoint_templates_xml(self):
|
||||
r = self.get_endpoint_templates(assert_status=200, headers={
|
||||
'Accept': 'application/xml'})
|
||||
self.assertEqual(r.xml.tag, "{%s}endpointTemplates" % self.xmlns)
|
||||
self.assertEqual(r.xml.tag,
|
||||
"{%s}endpointTemplates" % self.xmlns_kscatalog)
|
||||
|
||||
def test_get_endpoint_templates_xml_expired_auth_token(self):
|
||||
self.admin_token = self.expired_admin_token
|
||||
@ -137,7 +141,7 @@ class GetEndpointTemplatesTest(EndpointTemplatesTest):
|
||||
class GetEndpointTemplateTest(EndpointTemplatesTest):
|
||||
def test_get_endpoint(self):
|
||||
r = self.fetch_endpoint_template(self.endpoint_template['id'])
|
||||
self.assertIsNotNone(r.json['endpointTemplate'])
|
||||
self.assertIsNotNone(r.json['OS-KSCATALOG:endpointTemplate'])
|
||||
|
||||
# def test_get_endpoint_using_service_admin_token(self):
|
||||
# self.admin_token = service_admin_token
|
||||
@ -168,7 +172,8 @@ class GetEndpointTemplateTest(EndpointTemplatesTest):
|
||||
r = self.get_endpoint_template(self.endpoint_template['id'],
|
||||
headers={'Accept': 'application/xml'}, assert_status=200)
|
||||
|
||||
self.assertEqual(r.xml.tag, "{%s}endpointTemplate" % self.xmlns)
|
||||
self.assertEqual(r.xml.tag,
|
||||
"{%s}endpointTemplate" % self.xmlns_kscatalog)
|
||||
|
||||
|
||||
class UpdateEndpointTemplateTest(EndpointTemplatesTest):
|
||||
@ -188,7 +193,8 @@ class UpdateEndpointTemplateTest(EndpointTemplatesTest):
|
||||
|
||||
data = ('<?xml version="1.0" encoding="UTF-8"?> '
|
||||
'<endpointTemplate '
|
||||
'xmlns="http://docs.openstack.org/identity/api/v2.0" '
|
||||
'xmlns="http://docs.openstack.org'
|
||||
'/identity/api/ext/OSKSCATALOG/v1.0" '
|
||||
'region="%s" serviceId="%s" publicURL="%s" adminURL="%s" '
|
||||
'internalURL="%s" enabled="%s" global="%s"/>') % (region,
|
||||
self.service['id'], public_url, admin_url, internal_url,
|
||||
@ -197,7 +203,8 @@ class UpdateEndpointTemplateTest(EndpointTemplatesTest):
|
||||
as_xml=data, assert_status=201, headers={
|
||||
'Accept': 'application/xml'})
|
||||
|
||||
self.assertEqual(r.xml.tag, '{%s}endpointTemplate' % self.xmlns)
|
||||
self.assertEqual(r.xml.tag,
|
||||
'{%s}endpointTemplate' % self.xmlns_kscatalog)
|
||||
|
||||
self.assertIsNotNone(r.xml.get("id"))
|
||||
self.assertEqual(r.xml.get("serviceId"), self.service['id'])
|
||||
@ -300,18 +307,25 @@ class CreateEndpointRefsTest(EndpointTemplatesTest):
|
||||
internal_url = common.unique_url()
|
||||
enabled = True
|
||||
is_global = True
|
||||
version_id = common.unique_url()
|
||||
version_info = common.unique_url()
|
||||
version_list = common.unique_url()
|
||||
|
||||
data = ('<?xml version="1.0" encoding="UTF-8"?> '
|
||||
'<endpointTemplate '
|
||||
'xmlns="http://docs.openstack.org/identity/api/v2.0" '
|
||||
'xmlns="http://docs.openstack.org/'
|
||||
'identity/api/ext/OSKSCATALOG/v1.0" '
|
||||
'region="%s" serviceId="%s" publicURL="%s" adminURL="%s" '
|
||||
'internalURL="%s" enabled="%s" global="%s"/>') % (region,
|
||||
'internalURL="%s" enabled="%s" global="%s">'
|
||||
'<version id="%s" info="%s" list="%s"/>'
|
||||
'</endpointTemplate>') % (region,
|
||||
self.service['id'], public_url, admin_url, internal_url,
|
||||
enabled, is_global)
|
||||
enabled, is_global, version_id, version_info, version_list)
|
||||
r = self.post_endpoint_template(as_xml=data, assert_status=201,
|
||||
headers={'Accept': 'application/xml'})
|
||||
|
||||
self.assertEqual(r.xml.tag, '{%s}endpointTemplate' % self.xmlns)
|
||||
self.assertEqual(r.xml.tag,
|
||||
'{%s}endpointTemplate' % self.xmlns_kscatalog)
|
||||
|
||||
self.assertIsNotNone(r.xml.get("id"))
|
||||
self.assertEqual(r.xml.get("serviceId"), self.service['id'])
|
||||
@ -321,12 +335,20 @@ class CreateEndpointRefsTest(EndpointTemplatesTest):
|
||||
self.assertEqual(r.xml.get("internalURL"), internal_url)
|
||||
self.assertEqual(r.xml.get("enabled"), str(enabled).lower())
|
||||
self.assertEqual(r.xml.get("global"), str(is_global).lower())
|
||||
version = r.xml.find(
|
||||
"{http://docs.openstack.org/identity/"\
|
||||
"api/ext/OSKSCATALOG/v1.0}" \
|
||||
"version")
|
||||
self.assertEqual(version.get("id"), version_id)
|
||||
self.assertEqual(version.get("info"), version_info)
|
||||
self.assertEqual(version.get("list"), version_list)
|
||||
|
||||
def test_endpoint_create_xml_using_expired_token(self):
|
||||
self.admin_token = self.expired_admin_token
|
||||
data = ('<?xml version="1.0" encoding="UTF-8"?> '
|
||||
'<endpointTemplate '
|
||||
'xmlns="http://docs.openstack.org/identity/api/v2.0" '
|
||||
'xmlns="http://docs.openstack.org/identity'
|
||||
'/api/ext/OSKSCATALOG/v1.0" '
|
||||
'region="%s" serviceId="%s" publicURL="%s" adminURL="%s" '
|
||||
'internalURL="%s" enabled="%s" global="%s"/>') % (
|
||||
common.unique_str(), self.service['id'], common.unique_url(),
|
||||
@ -338,7 +360,8 @@ class CreateEndpointRefsTest(EndpointTemplatesTest):
|
||||
self.admin_token = self.disabled_admin_token
|
||||
data = ('<?xml version="1.0" encoding="UTF-8"?> '
|
||||
'<endpointTemplate '
|
||||
'xmlns="http://docs.openstack.org/identity/api/v2.0" '
|
||||
'xmlns="http://docs.openstack.org/identity'
|
||||
'/api/ext/OSKSCATALOG/v1.0" '
|
||||
'region="%s" serviceId="%s" publicURL="%s" adminURL="%s" '
|
||||
'internalURL="%s" enabled="%s" global="%s"/>') % (
|
||||
common.unique_str(), self.service['id'], common.unique_url(),
|
||||
@ -350,7 +373,8 @@ class CreateEndpointRefsTest(EndpointTemplatesTest):
|
||||
self.admin_token = ''
|
||||
data = ('<?xml version="1.0" encoding="UTF-8"?> '
|
||||
'<endpointTemplate '
|
||||
'xmlns="http://docs.openstack.org/identity/api/v2.0" '
|
||||
'xmlns="http://docs.openstack.org'
|
||||
'/identity/api/ext/OSKSCATALOG/v1.0" '
|
||||
'region="%s" serviceId="%s" publicURL="%s" adminURL="%s" '
|
||||
'internalURL="%s" enabled="%s" global="%s"/>') % (
|
||||
common.unique_str(), self.service['id'], common.unique_url(),
|
||||
@ -362,7 +386,8 @@ class CreateEndpointRefsTest(EndpointTemplatesTest):
|
||||
self.admin_token = common.unique_str()
|
||||
data = ('<?xml version="1.0" encoding="UTF-8"?> '
|
||||
'<endpointTemplate '
|
||||
'xmlns="http://docs.openstack.org/identity/api/v2.0" '
|
||||
'xmlns="http://docs.openstack.org/'
|
||||
'identity/api/ext/OSKSCATALOG/v1.0" '
|
||||
'region="%s" serviceId="%s" publicURL="%s" adminURL="%s" '
|
||||
'internalURL="%s" enabled="%s" global="%s"/>') % (
|
||||
common.unique_str(), self.service['id'], common.unique_url(),
|
||||
|
@ -62,7 +62,8 @@ DEFAULT_FIXTURE = [
|
||||
('endpointTemplates', 'add', 'RegionOne', 'cdn',
|
||||
'http://cdn.publicinternets.com/v1.1/%tenant_id%',
|
||||
'http://cdn.admin-nets.local/v1.1/%tenant_id%',
|
||||
'http://127.0.0.1:7777/v1.1/%tenant_id%', '1', '0'),
|
||||
'http://127.0.0.1:7777/v1.1/%tenant_id%', '1',
|
||||
'0', '1.1', 'http://127.0.0.1:7777/', 'http://127.0.0.1:7777/v1.1'),
|
||||
# endpointTemplates
|
||||
('endpointTemplates', 'add', 'RegionOne', 'swift',
|
||||
'http://swift.publicinternets.com/v1/AUTH_%tenant_id%',
|
||||
|
Loading…
Reference in New Issue
Block a user