diff --git a/resources/keystone_service_endpoint/test.py b/resources/keystone_service_endpoint/test.py index 5418d6c..34f7b66 100644 --- a/resources/keystone_service_endpoint/test.py +++ b/resources/keystone_service_endpoint/test.py @@ -7,6 +7,24 @@ from solar.core.log import log def test(resource): log.debug('Testing keystone_service_endpoint %s', resource.name) + + resp = requests.get( + 'http://%s:%s/v3/services' % (resource.args['ip'].value, resource.args['keystone_admin_port'].value), + headers={ + 'X-Auth-Token': resource.args['admin_token'].value, + } + ) + + resp_json = resp.json() + assert 'services' in resp_json + + service = [s for s in resp_json['services'] if s['name'] == resource.name][0] + service_id = service['id'] + + assert service['description'] == resource.args['description'].value + + log.debug('%s service: %s', resource.name, json.dumps(service, indent=2)) + resp = requests.get( 'http://%s:%s/v3/endpoints' % (resource.args['ip'].value, resource.args['keystone_admin_port'].value), headers={ @@ -20,10 +38,12 @@ def test(resource): endpoints = {} for endpoint in resp_json['endpoints']: - endpoints[endpoint['interface']] = endpoint['url'] + if endpoint['service_id'] == service_id: + endpoints[endpoint['interface']] = endpoint - assert jinja2.Template(resource.args['adminurl'].value).render(**resource.args_dict()) == endpoints['admin'] - assert jinja2.Template(resource.args['internalurl'].value).render(**resource.args_dict()) == endpoints['internal'] - assert jinja2.Template(resource.args['publicurl'].value).render(**resource.args_dict()) == endpoints['public'] + assert jinja2.Template(resource.args['adminurl'].value).render(**resource.args_dict()) == endpoints['admin']['url'] + assert jinja2.Template(resource.args['internalurl'].value).render(**resource.args_dict()) == endpoints['internal']['url'] + assert jinja2.Template(resource.args['publicurl'].value).render(**resource.args_dict()) == endpoints['public']['url'] + + log.debug('%s endpoints: %s', resource.name, json.dumps(endpoints, indent=2)) - log.debug('%s endpoints: %s', resource.name, json.dumps(resp_json, indent=2))