From d2635d5e26aafde9409f58a3530220c4184d5757 Mon Sep 17 00:00:00 2001 From: Dolph Mathews Date: Fri, 8 Mar 2013 10:45:43 -0600 Subject: Filter out legacy_endpoint_id (bug 1152635) Change-Id: I176c3f4fec0a1fa544efb11cffd4837dedf8cace --- keystone/catalog/controllers.py | 11 +++++++++++ tests/test_v3.py | 4 ++++ 2 files changed, 15 insertions(+) diff --git a/keystone/catalog/controllers.py b/keystone/catalog/controllers.py index 24482fe7..c4c13a7e 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 9b4f7d34..d7ab7973 100644 --- a/tests/test_v3.py +++ b/tests/test_v3.py @@ -512,6 +512,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']) -- cgit