Change visibility to interface

Change-Id: I984dc2e9ae362c5d9dcf6bc9ef9f9d5e3b356679
Closes-Bug: #1479421
This commit is contained in:
Terry Howe 2015-07-31 11:51:24 -06:00
parent c725e6eae7
commit 594f2479ca
25 changed files with 113 additions and 113 deletions

View File

@ -139,8 +139,8 @@ class ProfileAction(argparse.Action):
cls.prof.set_region(service, value) cls.prof.set_region(service, value)
elif var == 'version': elif var == 'version':
cls.prof.set_version(service, value) cls.prof.set_version(service, value)
elif var == 'visibility': elif var == 'interface':
cls.prof.set_visibility(service, value) cls.prof.set_interface(service, value)
def __call__(self, parser, namespace, values, option_string=None): def __call__(self, parser, namespace, values, option_string=None):
if getattr(namespace, self.dest, None) is None: if getattr(namespace, self.dest, None) is None:
@ -283,12 +283,12 @@ def option_parser():
help='Desired API versions defaults to env[OS_API_VERSION]', help='Desired API versions defaults to env[OS_API_VERSION]',
) )
parser.add_argument( parser.add_argument(
'--os-api-visibility', '--os-api-interface',
dest='preferences', dest='preferences',
metavar='<service>=<visibility>', metavar='<service>=<interface>',
action=ProfileAction, action=ProfileAction,
default=ProfileAction.env('OS_API_VISIBILITY'), default=ProfileAction.env('OS_INTERFACE'),
help='Desired API visibility defaults to env[OS_API_VISIBILITY]', help='Desired API interface defaults to env[OS_INTERFACE]',
) )
verify_group = parser.add_mutually_exclusive_group() verify_group = parser.add_mutually_exclusive_group()
verify_group.add_argument( verify_group.add_argument(

View File

@ -66,7 +66,7 @@ class ServiceCatalog(object):
Returns a tuple containting the url and version for the specified Returns a tuple containting the url and version for the specified
service (or all) containing the specified type, name, region and service (or all) containing the specified type, name, region and
visibility. interface.
""" """
eps = [] eps = []
for service in self.catalog: for service in self.catalog:
@ -77,7 +77,7 @@ class ServiceCatalog(object):
for endpoint in service.get('endpoints', []): for endpoint in service.get('endpoints', []):
if not filtration.match_region(endpoint.get('region', None)): if not filtration.match_region(endpoint.get('region', None)):
continue continue
if not filtration.match_visibility(endpoint.get('interface')): if not filtration.match_interface(endpoint.get('interface')):
continue continue
url = endpoint.get('url', None) url = endpoint.get('url', None)
if not url: if not url:
@ -91,7 +91,7 @@ class ServiceCatalog(object):
Returns a list of urls based on the service filter. If not endpoints Returns a list of urls based on the service filter. If not endpoints
are found that match the service filter, an empty list is returned. are found that match the service filter, an empty list is returned.
The filter may specify type, name, region, version and visibility. The filter may specify type, name, region, version and interface.
""" """
urls = [] urls = []
for url, version in self._get_endpoints(filtration): for url, version in self._get_endpoints(filtration):
@ -107,7 +107,7 @@ class ServiceCatalog(object):
no endpoint matching the filter, None will be returned. An empty no endpoint matching the filter, None will be returned. An empty
list of versions means the service is supported, but no version is list of versions means the service is supported, but no version is
specified in the service catalog. The filter may specify type, name, specified in the service catalog. The filter may specify type, name,
region, version and visibility. region, version and interface.
""" """
vers = None vers = None
for url, version in self._get_endpoints(filtration): for url, version in self._get_endpoints(filtration):

View File

@ -25,7 +25,7 @@ Examples
-------- --------
The :class:`~openstack.auth.service_filter.ServiceFilter` class can be built The :class:`~openstack.auth.service_filter.ServiceFilter` class can be built
with a service type, visibility, region, name, and version. with a service type, interface, region, name, and version.
Create a service filter Create a service filter
~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~
@ -41,13 +41,13 @@ and match::
matches = (result.match_service_type('compute') and matches = (result.match_service_type('compute') and
result.match_service_name('Hal9000') and result.match_service_name('Hal9000') and
result.match_region('DiscoveryOne') and result.match_region('DiscoveryOne') and
result.match_visibility('public')) result.match_interface('public'))
print(str(result)) print(str(result))
print("matches=" + str(matches)) print("matches=" + str(matches))
The resulting output from the code:: The resulting output from the code::
service_type=compute,visibility=public,version=v2 service_type=compute,interface=public,version=v2
matches=True matches=True
""" """
@ -72,30 +72,30 @@ class ServiceFilter(object):
PUBLIC = 'public' PUBLIC = 'public'
INTERNAL = 'internal' INTERNAL = 'internal'
ADMIN = 'admin' ADMIN = 'admin'
VISIBILITY = [PUBLIC, INTERNAL, ADMIN] INTERFACE = [PUBLIC, INTERNAL, ADMIN]
valid_versions = [] valid_versions = []
def __init__(self, service_type=ANY, visibility=PUBLIC, region=None, def __init__(self, service_type=ANY, interface=PUBLIC, region=None,
service_name=None, version=None): service_name=None, version=None):
"""Create a service identifier. """Create a service identifier.
:param string service_type: The desired type of service. :param string service_type: The desired type of service.
:param string visibility: The exposure of the endpoint. Should be :param string interface: The exposure of the endpoint. Should be
`public` (default), `internal` or `admin`. `public` (default), `internal` or `admin`.
:param string region: The desired region (optional). :param string region: The desired region (optional).
:param string service_name: Name of the service :param string service_name: Name of the service
:param string version: Version of service to use. :param string version: Version of service to use.
""" """
self.service_type = service_type.lower() self.service_type = service_type.lower()
self.set_visibility(visibility) self.set_interface(interface)
self.region = region self.region = region
self.service_name = service_name self.service_name = service_name
self.version = version self.version = version
def __repr__(self): def __repr__(self):
ret = "service_type=%s" % self.service_type ret = "service_type=%s" % self.service_type
if self.visibility is not None: if self.interface is not None:
ret += ",visibility=%s" % self.visibility ret += ",interface=%s" % self.interface
if self.region is not None: if self.region is not None:
ret += ",region=%s" % self.region ret += ",region=%s" % self.region
if self.service_name: if self.service_name:
@ -121,9 +121,9 @@ class ServiceFilter(object):
response.service_type = default.service_type response.service_type = default.service_type
response.service_name = self.service_name response.service_name = self.service_name
response.valid_versions = default.valid_versions response.valid_versions = default.valid_versions
response.visibility = default.visibility response.interface = default.interface
if self.visibility: if self.interface:
response.visibility = self.visibility response.interface = self.interface
if self.region: if self.region:
response.region = self.region response.region = self.region
response.version = version response.version = version
@ -151,23 +151,23 @@ class ServiceFilter(object):
return True return True
return False return False
def match_visibility(self, visibility): def match_interface(self, interface):
"""Service visibilities are equavilent.""" """Service interfaces are equavilent."""
if not self.visibility: if not self.interface:
return True return True
return self.visibility == visibility return self.interface == interface
def set_visibility(self, visibility): def set_interface(self, interface):
"""Set the visibility of the service filter.""" """Set the interface of the service filter."""
if not visibility: if not interface:
self.visibility = None self.interface = None
return return
visibility = visibility.replace('URL', '') interface = interface.replace('URL', '')
visibility = visibility.lower() interface = interface.lower()
if visibility not in self.VISIBILITY: if interface not in self.INTERFACE:
msg = "Visibility <%s> not in %s" % (visibility, self.VISIBILITY) msg = "Interface <%s> not in %s" % (interface, self.INTERFACE)
raise exceptions.SDKException(msg) raise exceptions.SDKException(msg)
self.visibility = visibility self.interface = interface
def _get_valid_version(self): def _get_valid_version(self):
if self.valid_versions: if self.valid_versions:

View File

@ -111,7 +111,7 @@ def from_config(opts):
version = "v" + version version = "v" + version
prof.set_version(service, version) prof.set_version(service, version)
prof.set_name(service, cloud_config.get_service_name(service)) prof.set_name(service, cloud_config.get_service_name(service))
prof.set_visibility( prof.set_interface(
service, cloud_config.get_interface(service)) service, cloud_config.get_interface(service))
prof.set_region(service, cloud_config.get_region_name(service)) prof.set_region(service, cloud_config.get_region_name(service))
@ -154,7 +154,7 @@ class Connection(object):
authenticator. authenticator.
:type authenticator: :class:`~openstack.auth.base.BaseAuthPlugin` :type authenticator: :class:`~openstack.auth.base.BaseAuthPlugin`
:param profile: If the user has any special profiles such as the :param profile: If the user has any special profiles such as the
service name, region, version or visibility, they may be provided service name, region, version or interface, they may be provided
in the profile object. If no profiles are provided, the in the profile object. If no profiles are provided, the
services that appear first in the service catalog will be used. services that appear first in the service catalog will be used.
:type profile: :class:`~openstack.profile.Profile` :type profile: :class:`~openstack.profile.Profile`

View File

@ -30,5 +30,5 @@ class IdentityService(service_filter.ServiceFilter):
class AdminService(IdentityService): class AdminService(IdentityService):
def __init__(self, **kwargs): def __init__(self, **kwargs):
kwargs['visibility'] = service_filter.ServiceFilter.ADMIN kwargs['interface'] = service_filter.ServiceFilter.ADMIN
super(AdminService, self).__init__(**kwargs) super(AdminService, self).__init__(**kwargs)

View File

@ -32,7 +32,7 @@ class Endpoint(resource.Resource):
#: Setting this value to ``False`` prevents the endpoint from appearing #: Setting this value to ``False`` prevents the endpoint from appearing
#: in the service catalog. *Type: bool* #: in the service catalog. *Type: bool*
enabled = resource.prop('enabled', type=bool) enabled = resource.prop('enabled', type=bool)
#: Describes the visibility of the endpoint according to one of the #: Describes the interface of the endpoint according to one of the
#: following values: #: following values:
#: #:
#: - `public`: intended for consumption by end users, generally on a #: - `public`: intended for consumption by end users, generally on a

View File

@ -26,7 +26,7 @@ def load_service_extensions(namespace):
services = {} services = {}
for service in service_extensions: for service in service_extensions:
service = service.obj service = service.obj
service.set_visibility(None) service.set_interface(None)
services[service.service_type] = service services[service.service_type] = service
return services return services

View File

@ -13,7 +13,7 @@
""" """
:class:`~openstack.profile.Profile` is the class that is used to :class:`~openstack.profile.Profile` is the class that is used to
define the various preferences for different services. The preferences that define the various preferences for different services. The preferences that
are currently supported are service name, region, version and visibility. are currently supported are service name, region, version and interface.
The :class:`~openstack.profile.Profile` and the The :class:`~openstack.profile.Profile` and the
:class:`~openstack.connection.Connection` classes are the most important :class:`~openstack.connection.Connection` classes are the most important
user facing classes. user facing classes.
@ -35,7 +35,7 @@ normally be something like 'compute', 'identity', 'object-store', etc.::
prof.set_name('compute', 'matrix') prof.set_name('compute', 'matrix')
prof.set_region(prof.ALL, 'zion') prof.set_region(prof.ALL, 'zion')
prof.set_version('identity', 'v3') prof.set_version('identity', 'v3')
prof.set_visibility('object-store', 'internal') prof.set_interface('object-store', 'internal')
for service in prof.get_services(): for service in prof.get_services():
print str(prof.get_preference(service.service_type)) print str(prof.get_preference(service.service_type))
@ -47,7 +47,7 @@ The resulting preference print out would look something like::
service_type=image,region=zion service_type=image,region=zion
service_type=metering,region=zion service_type=metering,region=zion
service_type=orchestration,region=zion service_type=orchestration,region=zion
service_type=object-store,visibility=internal,region=zion service_type=object-store,interface=internal,region=zion
service_type=identity,region=zion,version=v3 service_type=identity,region=zion,version=v3
""" """
@ -113,7 +113,7 @@ class Profile(object):
return repr(self._preferences) return repr(self._preferences)
def _add_service(self, serv): def _add_service(self, serv):
serv.set_visibility(None) serv.set_interface(None)
self._services[serv.service_type] = serv self._services[serv.service_type] = serv
def _load_extension(self, namespace): def _load_extension(self, namespace):
@ -186,15 +186,15 @@ class Profile(object):
""" """
self._get_service(service).version = version self._get_service(service).version = version
def set_visibility(self, service, visibility): def set_interface(self, service, interface):
"""Set the desired visibility for the specified service. """Set the desired interface for the specified service.
:param str service: Service type. :param str service: Service type.
:param str visibility: Desired service visibility. :param str interface: Desired service interface.
""" """
if service == self.ALL: if service == self.ALL:
services = self.service_names services = self.service_names
else: else:
services = [service] services = [service]
for service in services: for service in services:
self._get_service(service).set_visibility(visibility) self._get_service(service).set_interface(interface)

View File

@ -81,7 +81,7 @@ class Session(object):
get_endpoint methods for the session. get_endpoint methods for the session.
:type authenticator: :class:`~openstack.auth.base.BaseAuthPlugin` :type authenticator: :class:`~openstack.auth.base.BaseAuthPlugin`
:param profile: If the user has any special profiles such as the :param profile: If the user has any special profiles such as the
service name, region, version or visibility, they may be provided service name, region, version or interface, they may be provided
in the profile object. If no profiles are provided, the in the profile object. If no profiles are provided, the
services that appear first in the service catalog will be used. services that appear first in the service catalog will be used.
:type profile: :class:`~openstack.profile.Profile` :type profile: :class:`~openstack.profile.Profile`

View File

@ -69,19 +69,19 @@ class TestServiceCatalog(testtools.TestCase):
self.assertEqual(["http://compute.region1.public/v2.0"], self.assertEqual(["http://compute.region1.public/v2.0"],
sot.get_urls(sf)) sot.get_urls(sf))
def get_urls_visibility(self, sot): def get_urls_interface(self, sot):
sf = service_filter.ServiceFilter(service_type='identity', sf = service_filter.ServiceFilter(service_type='identity',
visibility='admin') interface='admin')
self.assertEqual(["http://identity.region1.admin/v1.1/123123"], self.assertEqual(["http://identity.region1.admin/v1.1/123123"],
sot.get_urls(sf)) sot.get_urls(sf))
sf = service_filter.ServiceFilter(service_type='identity', sf = service_filter.ServiceFilter(service_type='identity',
visibility='internal') interface='internal')
self.assertEqual( self.assertEqual(
["http://identity.region1.internal/v1.1/123123"], ["http://identity.region1.internal/v1.1/123123"],
sot.get_urls(sf) sot.get_urls(sf)
) )
sf = service_filter.ServiceFilter(service_type='identity', sf = service_filter.ServiceFilter(service_type='identity',
visibility='public') interface='public')
self.assertEqual(["http://identity.region1.public/v1.1/123123"], self.assertEqual(["http://identity.region1.public/v1.1/123123"],
sot.get_urls(sf)) sot.get_urls(sf))
@ -107,9 +107,9 @@ class TestServiceCatalogV2(TestServiceCatalog):
sot = catalog.ServiceCatalogV2(common.TEST_SERVICE_CATALOG_V2) sot = catalog.ServiceCatalogV2(common.TEST_SERVICE_CATALOG_V2)
self.get_urls_region(sot) self.get_urls_region(sot)
def test_get_urls_visibility(self): def test_get_urls_interface(self):
sot = catalog.ServiceCatalogV2(common.TEST_SERVICE_CATALOG_V2) sot = catalog.ServiceCatalogV2(common.TEST_SERVICE_CATALOG_V2)
self.get_urls_visibility(sot) self.get_urls_interface(sot)
class TestServiceCatalogV3(TestServiceCatalog): class TestServiceCatalogV3(TestServiceCatalog):
@ -133,9 +133,9 @@ class TestServiceCatalogV3(TestServiceCatalog):
sot = catalog.ServiceCatalog(common.TEST_SERVICE_CATALOG_V3) sot = catalog.ServiceCatalog(common.TEST_SERVICE_CATALOG_V3)
self.get_urls_region(sot) self.get_urls_region(sot)
def test_get_urls_visibility(self): def test_get_urls_interface(self):
sot = catalog.ServiceCatalog(common.TEST_SERVICE_CATALOG_V3) sot = catalog.ServiceCatalog(common.TEST_SERVICE_CATALOG_V3)
self.get_urls_visibility(sot) self.get_urls_interface(sot)
def test_get_versions(self): def test_get_versions(self):
sot = catalog.ServiceCatalog(common.TEST_SERVICE_CATALOG_V3) sot = catalog.ServiceCatalog(common.TEST_SERVICE_CATALOG_V3)

View File

@ -21,41 +21,41 @@ from openstack.identity import identity_service
class TestServiceFilter(testtools.TestCase): class TestServiceFilter(testtools.TestCase):
def test_minimum(self): def test_minimum(self):
sot = filt.ServiceFilter() sot = filt.ServiceFilter()
self.assertEqual("service_type=any,visibility=public", self.assertEqual("service_type=any,interface=public",
six.text_type(sot)) six.text_type(sot))
def test_maximum(self): def test_maximum(self):
sot = filt.ServiceFilter(service_type='compute', visibility='admin', sot = filt.ServiceFilter(service_type='compute', interface='admin',
region='b', service_name='c') region='b', service_name='c')
exp = "service_type=compute,visibility=admin,region=b,service_name=c" exp = "service_type=compute,interface=admin,region=b,service_name=c"
self.assertEqual(exp, six.text_type(sot)) self.assertEqual(exp, six.text_type(sot))
def test_visibility(self): def test_interface(self):
sot = filt.ServiceFilter(service_type='identity', visibility='public') sot = filt.ServiceFilter(service_type='identity', interface='public')
self.assertEqual("service_type=identity,visibility=public", self.assertEqual("service_type=identity,interface=public",
six.text_type(sot)) six.text_type(sot))
sot = filt.ServiceFilter(service_type='identity', sot = filt.ServiceFilter(service_type='identity',
visibility='internal') interface='internal')
self.assertEqual("service_type=identity,visibility=internal", self.assertEqual("service_type=identity,interface=internal",
six.text_type(sot)) six.text_type(sot))
sot = filt.ServiceFilter(service_type='identity', visibility='admin') sot = filt.ServiceFilter(service_type='identity', interface='admin')
self.assertEqual("service_type=identity,visibility=admin", self.assertEqual("service_type=identity,interface=admin",
six.text_type(sot)) six.text_type(sot))
sot = filt.ServiceFilter(service_type='identity', sot = filt.ServiceFilter(service_type='identity',
visibility='publicURL') interface='publicURL')
self.assertEqual("service_type=identity,visibility=public", self.assertEqual("service_type=identity,interface=public",
six.text_type(sot)) six.text_type(sot))
sot = filt.ServiceFilter(service_type='identity', sot = filt.ServiceFilter(service_type='identity',
visibility='internalURL') interface='internalURL')
self.assertEqual("service_type=identity,visibility=internal", self.assertEqual("service_type=identity,interface=internal",
six.text_type(sot)) six.text_type(sot))
sot = filt.ServiceFilter(service_type='identity', sot = filt.ServiceFilter(service_type='identity',
visibility='adminURL') interface='adminURL')
self.assertEqual("service_type=identity,visibility=admin", self.assertEqual("service_type=identity,interface=admin",
six.text_type(sot)) six.text_type(sot))
self.assertRaises(exceptions.SDKException, filt.ServiceFilter, self.assertRaises(exceptions.SDKException, filt.ServiceFilter,
service_type='identity', visibility='b') service_type='identity', interface='b')
sot = filt.ServiceFilter(service_type='identity', visibility=None) sot = filt.ServiceFilter(service_type='identity', interface=None)
self.assertEqual("service_type=identity", six.text_type(sot)) self.assertEqual("service_type=identity", six.text_type(sot))
def test_match_service_type(self): def test_match_service_type(self):
@ -89,33 +89,33 @@ class TestServiceFilter(testtools.TestCase):
self.assertFalse(sot.match_region('West')) self.assertFalse(sot.match_region('West'))
self.assertFalse(sot.match_region(None)) self.assertFalse(sot.match_region(None))
def test_match_visibility(self): def test_match_interface(self):
sot = filt.ServiceFilter(service_type='identity', sot = filt.ServiceFilter(service_type='identity',
visibility='internal') interface='internal')
self.assertFalse(sot.match_visibility('admin')) self.assertFalse(sot.match_interface('admin'))
self.assertTrue(sot.match_visibility('internal')) self.assertTrue(sot.match_interface('internal'))
self.assertFalse(sot.match_visibility('public')) self.assertFalse(sot.match_interface('public'))
def test_join(self): def test_join(self):
a = filt.ServiceFilter(region='east') a = filt.ServiceFilter(region='east')
b = filt.ServiceFilter(service_type='identity') b = filt.ServiceFilter(service_type='identity')
result = a.join(b) result = a.join(b)
self.assertEqual("service_type=identity,visibility=public,region=east", self.assertEqual("service_type=identity,interface=public,region=east",
six.text_type(result)) six.text_type(result))
self.assertEqual("service_type=any,visibility=public,region=east", self.assertEqual("service_type=any,interface=public,region=east",
six.text_type(a)) six.text_type(a))
self.assertEqual("service_type=identity,visibility=public", self.assertEqual("service_type=identity,interface=public",
six.text_type(b)) six.text_type(b))
def test_join_visibility(self): def test_join_interface(self):
user_preference = filt.ServiceFilter(visibility='public') user_preference = filt.ServiceFilter(interface='public')
service_default = filt.ServiceFilter(visibility='admin') service_default = filt.ServiceFilter(interface='admin')
result = user_preference.join(service_default) result = user_preference.join(service_default)
self.assertEqual("public", result.visibility) self.assertEqual("public", result.interface)
user_preference = filt.ServiceFilter(visibility=None) user_preference = filt.ServiceFilter(interface=None)
service_default = filt.ServiceFilter(visibility='admin') service_default = filt.ServiceFilter(interface='admin')
result = user_preference.join(service_default) result = user_preference.join(service_default)
self.assertEqual("admin", result.visibility) self.assertEqual("admin", result.interface)
def test_join_version(self): def test_join_version(self):
user_preference = filt.ServiceFilter(version='v2') user_preference = filt.ServiceFilter(version='v2')
@ -126,14 +126,14 @@ class TestServiceFilter(testtools.TestCase):
) )
self.assertEqual('', user_preference.join(service_default).version) self.assertEqual('', user_preference.join(service_default).version)
def test_set_visibility(self): def test_set_interface(self):
sot = filt.ServiceFilter() sot = filt.ServiceFilter()
sot.set_visibility("PUBLICURL") sot.set_interface("PUBLICURL")
self.assertEqual('public', sot.visibility) self.assertEqual('public', sot.interface)
sot.set_visibility("INTERNALURL") sot.set_interface("INTERNALURL")
self.assertEqual('internal', sot.visibility) self.assertEqual('internal', sot.interface)
sot.set_visibility("ADMINURL") sot.set_interface("ADMINURL")
self.assertEqual('admin', sot.visibility) self.assertEqual('admin', sot.interface)
def test_get_module(self): def test_get_module(self):
sot = identity_service.IdentityService() sot = identity_service.IdentityService()

View File

@ -20,7 +20,7 @@ class TestBlockStoreService(testtools.TestCase):
def test_service(self): def test_service(self):
sot = block_store_service.BlockStoreService() sot = block_store_service.BlockStoreService()
self.assertEqual("volume", sot.service_type) self.assertEqual("volume", sot.service_type)
self.assertEqual("public", sot.visibility) self.assertEqual("public", sot.interface)
self.assertIsNone(sot.region) self.assertIsNone(sot.region)
self.assertIsNone(sot.service_name) self.assertIsNone(sot.service_name)
self.assertEqual(1, len(sot.valid_versions)) self.assertEqual(1, len(sot.valid_versions))

View File

@ -20,7 +20,7 @@ class TestClusterService(testtools.TestCase):
def test_service(self): def test_service(self):
sot = cluster_service.ClusterService() sot = cluster_service.ClusterService()
self.assertEqual('clustering', sot.service_type) self.assertEqual('clustering', sot.service_type)
self.assertEqual('public', sot.visibility) self.assertEqual('public', sot.interface)
self.assertIsNone(sot.region) self.assertIsNone(sot.region)
self.assertIsNone(sot.service_name) self.assertIsNone(sot.service_name)
self.assertEqual(1, len(sot.valid_versions)) self.assertEqual(1, len(sot.valid_versions))

View File

@ -20,7 +20,7 @@ class TestComputeService(testtools.TestCase):
def test_service(self): def test_service(self):
sot = compute_service.ComputeService() sot = compute_service.ComputeService()
self.assertEqual('compute', sot.service_type) self.assertEqual('compute', sot.service_type)
self.assertEqual('public', sot.visibility) self.assertEqual('public', sot.interface)
self.assertIsNone(sot.region) self.assertIsNone(sot.region)
self.assertIsNone(sot.service_name) self.assertIsNone(sot.service_name)
self.assertEqual(1, len(sot.valid_versions)) self.assertEqual(1, len(sot.valid_versions))

View File

@ -20,7 +20,7 @@ class TestDatabaseService(testtools.TestCase):
def test_service(self): def test_service(self):
sot = database_service.DatabaseService() sot = database_service.DatabaseService()
self.assertEqual('database', sot.service_type) self.assertEqual('database', sot.service_type)
self.assertEqual('public', sot.visibility) self.assertEqual('public', sot.interface)
self.assertIsNone(sot.region) self.assertIsNone(sot.region)
self.assertIsNone(sot.service_name) self.assertIsNone(sot.service_name)
self.assertEqual(1, len(sot.valid_versions)) self.assertEqual(1, len(sot.valid_versions))

View File

@ -20,7 +20,7 @@ class TestIdentityService(testtools.TestCase):
def test_regular_service(self): def test_regular_service(self):
sot = identity_service.IdentityService() sot = identity_service.IdentityService()
self.assertEqual('identity', sot.service_type) self.assertEqual('identity', sot.service_type)
self.assertEqual('public', sot.visibility) self.assertEqual('public', sot.interface)
self.assertIsNone(sot.region) self.assertIsNone(sot.region)
self.assertIsNone(sot.service_name) self.assertIsNone(sot.service_name)
self.assertEqual(2, len(sot.valid_versions)) self.assertEqual(2, len(sot.valid_versions))
@ -32,6 +32,6 @@ class TestIdentityService(testtools.TestCase):
def test_admin_service(self): def test_admin_service(self):
sot = identity_service.AdminService() sot = identity_service.AdminService()
self.assertEqual('identity', sot.service_type) self.assertEqual('identity', sot.service_type)
self.assertEqual('admin', sot.visibility) self.assertEqual('admin', sot.interface)
self.assertIsNone(sot.region) self.assertIsNone(sot.region)
self.assertIsNone(sot.service_name) self.assertIsNone(sot.service_name)

View File

@ -20,7 +20,7 @@ class TestImageService(testtools.TestCase):
def test_service(self): def test_service(self):
sot = image_service.ImageService() sot = image_service.ImageService()
self.assertEqual('image', sot.service_type) self.assertEqual('image', sot.service_type)
self.assertEqual('public', sot.visibility) self.assertEqual('public', sot.interface)
self.assertIsNone(sot.region) self.assertIsNone(sot.region)
self.assertIsNone(sot.service_name) self.assertIsNone(sot.service_name)
self.assertEqual(2, len(sot.valid_versions)) self.assertEqual(2, len(sot.valid_versions))

View File

@ -20,7 +20,7 @@ class TestKeyManagementService(testtools.TestCase):
def test_service(self): def test_service(self):
sot = key_management_service.KeyManagementService() sot = key_management_service.KeyManagementService()
self.assertEqual('key-manager', sot.service_type) self.assertEqual('key-manager', sot.service_type)
self.assertEqual('public', sot.visibility) self.assertEqual('public', sot.interface)
self.assertIsNone(sot.region) self.assertIsNone(sot.region)
self.assertIsNone(sot.service_name) self.assertIsNone(sot.service_name)
self.assertEqual(1, len(sot.valid_versions)) self.assertEqual(1, len(sot.valid_versions))

View File

@ -20,7 +20,7 @@ class TestMessageService(testtools.TestCase):
def test_service(self): def test_service(self):
sot = message_service.MessageService() sot = message_service.MessageService()
self.assertEqual('messaging', sot.service_type) self.assertEqual('messaging', sot.service_type)
self.assertEqual('public', sot.visibility) self.assertEqual('public', sot.interface)
self.assertIsNone(sot.region) self.assertIsNone(sot.region)
self.assertIsNone(sot.service_name) self.assertIsNone(sot.service_name)
self.assertEqual(1, len(sot.valid_versions)) self.assertEqual(1, len(sot.valid_versions))

View File

@ -20,7 +20,7 @@ class TestMetricService(testtools.TestCase):
def test_service(self): def test_service(self):
sot = metric_service.MetricService() sot = metric_service.MetricService()
self.assertEqual('metric', sot.service_type) self.assertEqual('metric', sot.service_type)
self.assertEqual('public', sot.visibility) self.assertEqual('public', sot.interface)
self.assertIsNone(sot.region) self.assertIsNone(sot.region)
self.assertIsNone(sot.service_name) self.assertIsNone(sot.service_name)
self.assertEqual(1, len(sot.valid_versions)) self.assertEqual(1, len(sot.valid_versions))

View File

@ -20,7 +20,7 @@ class TestNetworkService(testtools.TestCase):
def test_service(self): def test_service(self):
sot = network_service.NetworkService() sot = network_service.NetworkService()
self.assertEqual('network', sot.service_type) self.assertEqual('network', sot.service_type)
self.assertEqual('public', sot.visibility) self.assertEqual('public', sot.interface)
self.assertIsNone(sot.region) self.assertIsNone(sot.region)
self.assertIsNone(sot.service_name) self.assertIsNone(sot.service_name)
self.assertEqual(1, len(sot.valid_versions)) self.assertEqual(1, len(sot.valid_versions))

View File

@ -20,7 +20,7 @@ class TestObjectStoreService(testtools.TestCase):
def test_service(self): def test_service(self):
sot = object_store_service.ObjectStoreService() sot = object_store_service.ObjectStoreService()
self.assertEqual('object-store', sot.service_type) self.assertEqual('object-store', sot.service_type)
self.assertEqual('public', sot.visibility) self.assertEqual('public', sot.interface)
self.assertIsNone(sot.region) self.assertIsNone(sot.region)
self.assertIsNone(sot.service_name) self.assertIsNone(sot.service_name)
self.assertEqual(1, len(sot.valid_versions)) self.assertEqual(1, len(sot.valid_versions))

View File

@ -20,7 +20,7 @@ class TestOrchestrationService(testtools.TestCase):
def test_service(self): def test_service(self):
sot = orchestration_service.OrchestrationService() sot = orchestration_service.OrchestrationService()
self.assertEqual('orchestration', sot.service_type) self.assertEqual('orchestration', sot.service_type)
self.assertEqual('public', sot.visibility) self.assertEqual('public', sot.interface)
self.assertIsNone(sot.region) self.assertIsNone(sot.region)
self.assertIsNone(sot.service_name) self.assertIsNone(sot.service_name)
self.assertEqual(1, len(sot.valid_versions)) self.assertEqual(1, len(sot.valid_versions))

View File

@ -20,7 +20,7 @@ class TestTelemetryService(testtools.TestCase):
def test_service(self): def test_service(self):
sot = telemetry_service.TelemetryService() sot = telemetry_service.TelemetryService()
self.assertEqual('metering', sot.service_type) self.assertEqual('metering', sot.service_type)
self.assertEqual('public', sot.visibility) self.assertEqual('public', sot.interface)
self.assertIsNone(sot.region) self.assertIsNone(sot.region)
self.assertIsNone(sot.service_name) self.assertIsNone(sot.service_name)
self.assertEqual(1, len(sot.valid_versions)) self.assertEqual(1, len(sot.valid_versions))

View File

@ -77,8 +77,8 @@ class TestProfile(base.TestCase):
prof = profile.Profile() prof = profile.Profile()
prof.set_name(prof.ALL, 'fee') prof.set_name(prof.ALL, 'fee')
prof.set_region(prof.ALL, 'fie') prof.set_region(prof.ALL, 'fie')
prof.set_visibility(prof.ALL, 'public') prof.set_interface(prof.ALL, 'public')
for service in prof.service_names: for service in prof.service_names:
self.assertEqual('fee', prof.get_preference(service).service_name) self.assertEqual('fee', prof.get_preference(service).service_name)
self.assertEqual('fie', prof.get_preference(service).region) self.assertEqual('fie', prof.get_preference(service).region)
self.assertEqual('public', prof.get_preference(service).visibility) self.assertEqual('public', prof.get_preference(service).interface)