diff options
| -rw-r--r-- | keystone/catalog/controllers.py | 11 | ||||
| -rw-r--r-- | tests/test_v3.py | 4 |
2 files changed, 15 insertions, 0 deletions
diff --git a/keystone/catalog/controllers.py b/keystone/catalog/controllers.py index 00e382aa..0269a169 100644 --- a/keystone/catalog/controllers.py +++ b/keystone/catalog/controllers.py @@ -158,6 +158,17 @@ class EndpointV3(controller.V3Controller): collection_name = 'endpoints' member_name = 'endpoint' + @classmethod + def filter_endpoint(cls, ref): + if 'legacy_endpoint_id' in ref: + ref.pop('legacy_endpoint_id') + return ref + + @classmethod + def wrap_member(cls, context, ref): + ref = cls.filter_endpoint(ref) + return super(EndpointV3, cls).wrap_member(context, ref) + @controller.protected def create_endpoint(self, context, endpoint): ref = self._assign_unique_id(self._normalize_dict(endpoint)) diff --git a/tests/test_v3.py b/tests/test_v3.py index 26d46be7..8c6b7d17 100644 --- a/tests/test_v3.py +++ b/tests/test_v3.py @@ -518,6 +518,10 @@ class RestfulTestCase(test_content_types.RestfulTestCase): def assertValidEndpoint(self, entity, ref=None): self.assertIsNotNone(entity.get('interface')) self.assertIsNotNone(entity.get('service_id')) + + # this is intended to be an unexposed implementation detail + self.assertNotIn('legacy_endpoint_id', entity) + if ref: self.assertEqual(ref['interface'], entity['interface']) self.assertEqual(ref['service_id'], entity['service_id']) |
