Define v2 endpoints_client as libarry
Image v2 API's endpoints_client has good interfaces now, then this patch makes the client as a library. Partially implements blueprint consistent-service-method-names Change-Id: Ia1cbb7f9bdd37384686e40c3076b44a9db488364
This commit is contained in:
parent
b5ebadb58a
commit
cd7e92e171
|
@ -0,0 +1,9 @@
|
|||
---
|
||||
features:
|
||||
- |
|
||||
Define identity service clients as libraries
|
||||
The following identity service clients are defined as library interface,
|
||||
so the other projects can use these modules as stable libraries without
|
||||
any maintenance changes.
|
||||
|
||||
* endpoints_client(v2)
|
|
@ -73,6 +73,7 @@ from tempest.lib.services.compute.tenant_usages_client import \
|
|||
from tempest.lib.services.compute.versions_client import VersionsClient
|
||||
from tempest.lib.services.compute.volumes_client import \
|
||||
VolumesClient as ComputeVolumesClient
|
||||
from tempest.lib.services.identity.v2.endpoints_client import EndpointsClient
|
||||
from tempest.lib.services.identity.v2.token_client import TokenClient
|
||||
from tempest.lib.services.identity.v3.token_client import V3TokenClient
|
||||
from tempest.lib.services.image.v2.image_members_client import \
|
||||
|
@ -112,7 +113,6 @@ from tempest.services.database.json.limits_client import \
|
|||
DatabaseLimitsClient
|
||||
from tempest.services.database.json.versions_client import \
|
||||
DatabaseVersionsClient
|
||||
from tempest.services.identity.v2.json.endpoints_client import EndpointsClient
|
||||
from tempest.services.identity.v2.json.identity_client import IdentityClient
|
||||
from tempest.services.identity.v2.json.roles_client import RolesClient
|
||||
from tempest.services.identity.v2.json.services_client import \
|
||||
|
|
|
@ -0,0 +1,99 @@
|
|||
# Copyright 2016 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.lib.services.identity.v2 import endpoints_client
|
||||
from tempest.tests.lib import fake_auth_provider
|
||||
from tempest.tests.lib.services import base
|
||||
|
||||
|
||||
class TestEndpointsClient(base.BaseServiceTest):
|
||||
FAKE_CREATE_ENDPOINT = {
|
||||
"endpoint": {
|
||||
"id": 1,
|
||||
"tenantId": 1,
|
||||
"region": "North",
|
||||
"type": "compute",
|
||||
"publicURL": "https://compute.north.public.com/v1",
|
||||
"internalURL": "https://compute.north.internal.com/v1",
|
||||
"adminURL": "https://compute.north.internal.com/v1"
|
||||
}
|
||||
}
|
||||
|
||||
FAKE_LIST_ENDPOINTS = {
|
||||
"endpoints": [
|
||||
{
|
||||
"id": 1,
|
||||
"tenantId": "1",
|
||||
"region": "North",
|
||||
"type": "compute",
|
||||
"publicURL": "https://compute.north.public.com/v1",
|
||||
"internalURL": "https://compute.north.internal.com/v1",
|
||||
"adminURL": "https://compute.north.internal.com/v1"
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"tenantId": "1",
|
||||
"region": "South",
|
||||
"type": "compute",
|
||||
"publicURL": "https://compute.north.public.com/v1",
|
||||
"internalURL": "https://compute.north.internal.com/v1",
|
||||
"adminURL": "https://compute.north.internal.com/v1"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
def setUp(self):
|
||||
super(TestEndpointsClient, self).setUp()
|
||||
fake_auth = fake_auth_provider.FakeAuthProvider()
|
||||
self.client = endpoints_client.EndpointsClient(fake_auth,
|
||||
'identity', 'regionOne')
|
||||
|
||||
def _test_create_endpoint(self, bytes_body=False):
|
||||
self.check_service_client_function(
|
||||
self.client.create_endpoint,
|
||||
'tempest.lib.common.rest_client.RestClient.post',
|
||||
self.FAKE_CREATE_ENDPOINT,
|
||||
bytes_body,
|
||||
service_id="b344506af7644f6794d9cb316600b020",
|
||||
region="region-demo",
|
||||
publicurl="https://compute.north.public.com/v1",
|
||||
adminurl="https://compute.north.internal.com/v1",
|
||||
internalurl="https://compute.north.internal.com/v1")
|
||||
|
||||
def _test_list_endpoints(self, bytes_body=False):
|
||||
self.check_service_client_function(
|
||||
self.client.list_endpoints,
|
||||
'tempest.lib.common.rest_client.RestClient.get',
|
||||
self.FAKE_LIST_ENDPOINTS,
|
||||
bytes_body)
|
||||
|
||||
def test_create_endpoint_with_str_body(self):
|
||||
self._test_create_endpoint()
|
||||
|
||||
def test_create_endpoint_with_bytes_body(self):
|
||||
self._test_create_endpoint(bytes_body=True)
|
||||
|
||||
def test_list_endpoints_with_str_body(self):
|
||||
self._test_list_endpoints()
|
||||
|
||||
def test_list_endpoints_with_bytes_body(self):
|
||||
self._test_list_endpoints(bytes_body=True)
|
||||
|
||||
def test_delete_endpoint(self):
|
||||
self.check_service_client_function(
|
||||
self.client.delete_endpoint,
|
||||
'tempest.lib.common.rest_client.RestClient.delete',
|
||||
{},
|
||||
endpoint_id="b344506af7644f6794d9cb316600b020",
|
||||
status=204)
|
Loading…
Reference in New Issue