Merge "Increase multi region endpoints test coverage"
This commit is contained in:
commit
481a505e84
@ -797,6 +797,76 @@ class CatalogTestCase(test_v3.RestfulTestCase):
|
|||||||
expected_status=http_client.BAD_REQUEST)
|
expected_status=http_client.BAD_REQUEST)
|
||||||
|
|
||||||
|
|
||||||
|
class TestMultiRegion(test_v3.RestfulTestCase):
|
||||||
|
|
||||||
|
def test_catalog_with_multi_region_reports_all_endpoints(self):
|
||||||
|
|
||||||
|
# Create two separate regions
|
||||||
|
first_region = self.post(
|
||||||
|
'/regions',
|
||||||
|
body={'region': unit.new_region_ref()}
|
||||||
|
).json_body['region']
|
||||||
|
|
||||||
|
second_region = self.post(
|
||||||
|
'/regions',
|
||||||
|
body={'region': unit.new_region_ref()}
|
||||||
|
).json_body['region']
|
||||||
|
|
||||||
|
# Create two services with the same type but separate name.
|
||||||
|
first_service = self.post(
|
||||||
|
'/services',
|
||||||
|
body={'service': unit.new_service_ref(type='foobar')}
|
||||||
|
).json_body['service']
|
||||||
|
|
||||||
|
second_service = self.post(
|
||||||
|
'/services',
|
||||||
|
body={'service': unit.new_service_ref(type='foobar')}
|
||||||
|
).json_body['service']
|
||||||
|
|
||||||
|
# Create an endpoint for each service
|
||||||
|
first_endpoint = self.post(
|
||||||
|
'/endpoints',
|
||||||
|
body={
|
||||||
|
'endpoint': unit.new_endpoint_ref(
|
||||||
|
first_service['id'],
|
||||||
|
interface='public',
|
||||||
|
region_id=first_region['id']
|
||||||
|
)
|
||||||
|
}
|
||||||
|
).json_body['endpoint']
|
||||||
|
|
||||||
|
second_endpoint = self.post(
|
||||||
|
'/endpoints',
|
||||||
|
body={
|
||||||
|
'endpoint': unit.new_endpoint_ref(
|
||||||
|
second_service['id'],
|
||||||
|
interface='public',
|
||||||
|
region_id=second_region['id']
|
||||||
|
)
|
||||||
|
}
|
||||||
|
).json_body['endpoint']
|
||||||
|
|
||||||
|
# Assert the endpoints and services from each region are in the
|
||||||
|
# catalog.
|
||||||
|
found_first_endpoint = False
|
||||||
|
found_second_endpoint = False
|
||||||
|
catalog = self.get('/auth/catalog/').json_body['catalog']
|
||||||
|
for service in catalog:
|
||||||
|
if service['id'] == first_service['id']:
|
||||||
|
endpoint = service['endpoints'][0]
|
||||||
|
self.assertEqual(endpoint['id'], first_endpoint['id'])
|
||||||
|
self.assertEqual(endpoint['region_id'], first_region['id'])
|
||||||
|
found_first_endpoint = True
|
||||||
|
elif service['id'] == second_service['id']:
|
||||||
|
endpoint = service['endpoints'][0]
|
||||||
|
self.assertEqual(endpoint['id'], second_endpoint['id'])
|
||||||
|
self.assertEqual(endpoint['region_id'], second_region['id'])
|
||||||
|
found_second_endpoint = True
|
||||||
|
|
||||||
|
self.assertTrue(found_first_endpoint)
|
||||||
|
self.assertTrue(found_second_endpoint)
|
||||||
|
|
||||||
|
|
||||||
class TestCatalogAPISQL(unit.TestCase):
|
class TestCatalogAPISQL(unit.TestCase):
|
||||||
"""Test for the catalog Manager against the SQL backend."""
|
"""Test for the catalog Manager against the SQL backend."""
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user