)]}'
{"keystone/federation/core.py":[{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"fe25769ab9d90165a2eecc4ac192fd634db90f0b","unresolved":false,"context_lines":[{"line_number":96,"context_line":""},{"line_number":97,"context_line":"    def create_sp(self, sp_id, service_provider):"},{"line_number":98,"context_line":"        sp_ref \u003d self.driver.create_sp(sp_id, service_provider)"},{"line_number":99,"context_line":"        self.get_enabled_service_providers.invalidate()"},{"line_number":100,"context_line":"        return sp_ref"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"    def delete_sp(self, sp_id):"}],"source_content_type":"text/x-python","patch_set":1,"id":"9abb7d3a_e2dd6f71","line":99,"range":{"start_line":99,"start_character":43,"end_line":99,"end_character":55},"updated":"2016-06-03 17:13:04.000000000","message":"this needs to be \n\n  .invalidate(self)\n\nThe self needs to be explicit due to the way that the decorator works. I know... not intuitive, but it\u0027s on my long list of things to improve with dogpile.cache.\n\nThis applies to all the things added here.","commit_id":"48b517234eee9b145943b58480e71dd1f98ccb3e"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"12df37df8a2a081f6bb863e55c2a1437541e333b","unresolved":false,"context_lines":[{"line_number":96,"context_line":""},{"line_number":97,"context_line":"    def create_sp(self, sp_id, service_provider):"},{"line_number":98,"context_line":"        sp_ref \u003d self.driver.create_sp(sp_id, service_provider)"},{"line_number":99,"context_line":"        self.get_enabled_service_providers.invalidate()"},{"line_number":100,"context_line":"        return sp_ref"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"    def delete_sp(self, sp_id):"}],"source_content_type":"text/x-python","patch_set":1,"id":"9abb7d3a_422f1b3e","line":99,"in_reply_to":"9abb7d3a_e2dd6f71","updated":"2016-06-03 17:15:47.000000000","message":"Done","commit_id":"48b517234eee9b145943b58480e71dd1f98ccb3e"}],"keystone/tests/unit/test_v3_federation.py":[{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"400ebb52e330232e0b30a822b74fe331300a8b5c","unresolved":false,"context_lines":[{"line_number":3333,"context_line":"        self.assertValidEntity(resp.result[\u0027service_provider\u0027],"},{"line_number":3334,"context_line":"                               keys_to_check\u003dself.SP_KEYS)"},{"line_number":3335,"context_line":""},{"line_number":3336,"context_line":"    def test_create_service_provider_invalidates_cache(self):"},{"line_number":3337,"context_line":"        # List all service providers and make sure we only have one in the"},{"line_number":3338,"context_line":"        # list. This service provider is from testing setup."},{"line_number":3339,"context_line":"        resp \u003d self.get(self.base_url(), expected_status\u003dhttp_client.OK)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9abb7d3a_36c97579","line":3336,"updated":"2016-06-03 18:26:09.000000000","message":"You will likely need the skip decorator if cache is disabled (we have one) for these tests.","commit_id":"f7ca95b4c47b53725941e7c8778dffa11b81efb2"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"a8a96e5bc3bfce7bd7fb2bd974661febe5ea41df","unresolved":false,"context_lines":[{"line_number":3333,"context_line":"        self.assertValidEntity(resp.result[\u0027service_provider\u0027],"},{"line_number":3334,"context_line":"                               keys_to_check\u003dself.SP_KEYS)"},{"line_number":3335,"context_line":""},{"line_number":3336,"context_line":"    def test_create_service_provider_invalidates_cache(self):"},{"line_number":3337,"context_line":"        # List all service providers and make sure we only have one in the"},{"line_number":3338,"context_line":"        # list. This service provider is from testing setup."},{"line_number":3339,"context_line":"        resp \u003d self.get(self.base_url(), expected_status\u003dhttp_client.OK)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9abb7d3a_51852357","line":3336,"in_reply_to":"9abb7d3a_36c97579","updated":"2016-06-03 18:37:40.000000000","message":"Actually - I think we need a way to enable caching for federation. I\u0027m not seeing it as a configuration option in the federation session.","commit_id":"f7ca95b4c47b53725941e7c8778dffa11b81efb2"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"53a93d3ddc72c15769f169448ef7d1e59f3d4231","unresolved":false,"context_lines":[{"line_number":3333,"context_line":"        self.assertValidEntity(resp.result[\u0027service_provider\u0027],"},{"line_number":3334,"context_line":"                               keys_to_check\u003dself.SP_KEYS)"},{"line_number":3335,"context_line":""},{"line_number":3336,"context_line":"    def test_create_service_provider_invalidates_cache(self):"},{"line_number":3337,"context_line":"        # List all service providers and make sure we only have one in the"},{"line_number":3338,"context_line":"        # list. This service provider is from testing setup."},{"line_number":3339,"context_line":"        resp \u003d self.get(self.base_url(), expected_status\u003dhttp_client.OK)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7aa08908_ee0bff7b","line":3336,"in_reply_to":"9abb7d3a_51852357","updated":"2016-06-04 01:43:55.000000000","message":"Adding this in another commit.","commit_id":"f7ca95b4c47b53725941e7c8778dffa11b81efb2"},{"author":{"_account_id":17860,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@gmail.com","username":"samueldmq"},"change_message_id":"bd65dfdf5fe7717a03e5c37759805f73e2ce6a5e","unresolved":false,"context_lines":[{"line_number":3333,"context_line":"        self.assertValidEntity(resp.result[\u0027service_provider\u0027],"},{"line_number":3334,"context_line":"                               keys_to_check\u003dself.SP_KEYS)"},{"line_number":3335,"context_line":""},{"line_number":3336,"context_line":"    @unit.skip_if_cache_disabled(\u0027federation\u0027)"},{"line_number":3337,"context_line":"    def test_create_service_provider_invalidates_cache(self):"},{"line_number":3338,"context_line":"        # List all service providers and make sure we only have one in the"},{"line_number":3339,"context_line":"        # list. This service provider is from testing setup."}],"source_content_type":"text/x-python","patch_set":3,"id":"7aa08908_3f32de10","line":3336,"range":{"start_line":3336,"start_character":4,"end_line":3336,"end_character":46},"updated":"2016-06-07 13:33:49.000000000","message":"This tests is also valid if cache is disabled. I think the ideal test would mock the cache region and make sure invalidate was called ?","commit_id":"057557294437405c01b27c71f38d278dcfbd366c"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"10db1e524656e8c170a14c6a5b9affc36562bf9a","unresolved":false,"context_lines":[{"line_number":3333,"context_line":"        self.assertValidEntity(resp.result[\u0027service_provider\u0027],"},{"line_number":3334,"context_line":"                               keys_to_check\u003dself.SP_KEYS)"},{"line_number":3335,"context_line":""},{"line_number":3336,"context_line":"    @unit.skip_if_cache_disabled(\u0027federation\u0027)"},{"line_number":3337,"context_line":"    def test_create_service_provider_invalidates_cache(self):"},{"line_number":3338,"context_line":"        # List all service providers and make sure we only have one in the"},{"line_number":3339,"context_line":"        # list. This service provider is from testing setup."}],"source_content_type":"text/x-python","patch_set":3,"id":"7aa08908_df8b76c1","line":3336,"in_reply_to":"7aa08908_3f32de10","updated":"2016-06-14 15:13:57.000000000","message":"We don\u0027t do this type of testing for the other cache tests, do we?","commit_id":"057557294437405c01b27c71f38d278dcfbd366c"},{"author":{"_account_id":17860,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@gmail.com","username":"samueldmq"},"change_message_id":"bd65dfdf5fe7717a03e5c37759805f73e2ce6a5e","unresolved":false,"context_lines":[{"line_number":3338,"context_line":"        # List all service providers and make sure we only have one in the"},{"line_number":3339,"context_line":"        # list. This service provider is from testing setup."},{"line_number":3340,"context_line":"        resp \u003d self.get(self.base_url(), expected_status\u003dhttp_client.OK)"},{"line_number":3341,"context_line":"        self.assertTrue(len(resp.json_body[\u0027service_providers\u0027]), 1)"},{"line_number":3342,"context_line":""},{"line_number":3343,"context_line":"        # Create a new service provider."},{"line_number":3344,"context_line":"        url \u003d self.base_url(suffix\u003duuid.uuid4().hex)"}],"source_content_type":"text/x-python","patch_set":3,"id":"7aa08908_dfa63a52","line":3341,"range":{"start_line":3341,"start_character":13,"end_line":3341,"end_character":23},"updated":"2016-06-07 13:33:49.000000000","message":"it\u0027s checking the first parameter evaluates to true. the second (1) is taken as the exception message\n\nhttps://docs.python.org/2.7/library/unittest.html#unittest.TestCase.assertTrue\n\nuse assertThat instead, see \n\nhttps://github.com/openstack/keystone/blob/8a56c161ee29e34e70c6334b048881e8fbbd7514/keystone/tests/unit/token/test_token_data_helper.py#L35","commit_id":"057557294437405c01b27c71f38d278dcfbd366c"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"10db1e524656e8c170a14c6a5b9affc36562bf9a","unresolved":false,"context_lines":[{"line_number":3338,"context_line":"        # List all service providers and make sure we only have one in the"},{"line_number":3339,"context_line":"        # list. This service provider is from testing setup."},{"line_number":3340,"context_line":"        resp \u003d self.get(self.base_url(), expected_status\u003dhttp_client.OK)"},{"line_number":3341,"context_line":"        self.assertTrue(len(resp.json_body[\u0027service_providers\u0027]), 1)"},{"line_number":3342,"context_line":""},{"line_number":3343,"context_line":"        # Create a new service provider."},{"line_number":3344,"context_line":"        url \u003d self.base_url(suffix\u003duuid.uuid4().hex)"}],"source_content_type":"text/x-python","patch_set":3,"id":"7aa08908_5f62e63e","line":3341,"in_reply_to":"7aa08908_dfa63a52","updated":"2016-06-14 15:13:57.000000000","message":"Done","commit_id":"057557294437405c01b27c71f38d278dcfbd366c"},{"author":{"_account_id":6460,"name":"Brad Topol","email":"btopol@us.ibm.com","username":"btopol"},"change_message_id":"1427997a97bd1fc7c8a103d678ccced9c284cd99","unresolved":false,"context_lines":[{"line_number":3338,"context_line":"        # List all service providers and make sure we only have one in the"},{"line_number":3339,"context_line":"        # list. This service provider is from testing setup."},{"line_number":3340,"context_line":"        resp \u003d self.get(self.base_url(), expected_status\u003dhttp_client.OK)"},{"line_number":3341,"context_line":"        self.assertTrue(len(resp.json_body[\u0027service_providers\u0027]), 1)"},{"line_number":3342,"context_line":""},{"line_number":3343,"context_line":"        # Create a new service provider."},{"line_number":3344,"context_line":"        url \u003d self.base_url(suffix\u003duuid.uuid4().hex)"}],"source_content_type":"text/x-python","patch_set":3,"id":"7aa08908_cf9dcf0b","line":3341,"range":{"start_line":3341,"start_character":13,"end_line":3341,"end_character":23},"in_reply_to":"7aa08908_dfa63a52","updated":"2016-06-07 19:33:00.000000000","message":"Good catch!","commit_id":"057557294437405c01b27c71f38d278dcfbd366c"},{"author":{"_account_id":17860,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@gmail.com","username":"samueldmq"},"change_message_id":"bd65dfdf5fe7717a03e5c37759805f73e2ce6a5e","unresolved":false,"context_lines":[{"line_number":3351,"context_line":"        resp \u003d self.get(self.base_url(), expected_status\u003dhttp_client.OK)"},{"line_number":3352,"context_line":"        self.assertTrue(len(resp.json_body[\u0027service_providers\u0027]), 2)"},{"line_number":3353,"context_line":""},{"line_number":3354,"context_line":"    @unit.skip_if_cache_disabled(\u0027federation\u0027)"},{"line_number":3355,"context_line":"    def test_delete_service_provider_invalidates_cache(self):"},{"line_number":3356,"context_line":"        # List all service providers and make sure we only have one in the"},{"line_number":3357,"context_line":"        # list. This service provider is from testing setup."}],"source_content_type":"text/x-python","patch_set":3,"id":"7aa08908_df2bda92","line":3354,"range":{"start_line":3354,"start_character":0,"end_line":3354,"end_character":46},"updated":"2016-06-07 13:33:49.000000000","message":"same as above","commit_id":"057557294437405c01b27c71f38d278dcfbd366c"},{"author":{"_account_id":17860,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@gmail.com","username":"samueldmq"},"change_message_id":"bd65dfdf5fe7717a03e5c37759805f73e2ce6a5e","unresolved":false,"context_lines":[{"line_number":3356,"context_line":"        # List all service providers and make sure we only have one in the"},{"line_number":3357,"context_line":"        # list. This service provider is from testing setup."},{"line_number":3358,"context_line":"        resp \u003d self.get(self.base_url(), expected_status\u003dhttp_client.OK)"},{"line_number":3359,"context_line":"        self.assertTrue(len(resp.json_body[\u0027service_providers\u0027]), 1)"},{"line_number":3360,"context_line":""},{"line_number":3361,"context_line":"        # Create a new service provider."},{"line_number":3362,"context_line":"        url \u003d self.base_url(suffix\u003duuid.uuid4().hex)"}],"source_content_type":"text/x-python","patch_set":3,"id":"7aa08908_5f3fead5","line":3359,"range":{"start_line":3359,"start_character":13,"end_line":3359,"end_character":23},"updated":"2016-06-07 13:33:49.000000000","message":"same as above","commit_id":"057557294437405c01b27c71f38d278dcfbd366c"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"10db1e524656e8c170a14c6a5b9affc36562bf9a","unresolved":false,"context_lines":[{"line_number":3356,"context_line":"        # List all service providers and make sure we only have one in the"},{"line_number":3357,"context_line":"        # list. This service provider is from testing setup."},{"line_number":3358,"context_line":"        resp \u003d self.get(self.base_url(), expected_status\u003dhttp_client.OK)"},{"line_number":3359,"context_line":"        self.assertTrue(len(resp.json_body[\u0027service_providers\u0027]), 1)"},{"line_number":3360,"context_line":""},{"line_number":3361,"context_line":"        # Create a new service provider."},{"line_number":3362,"context_line":"        url \u003d self.base_url(suffix\u003duuid.uuid4().hex)"}],"source_content_type":"text/x-python","patch_set":3,"id":"7aa08908_7fe9a27e","line":3359,"in_reply_to":"7aa08908_5f3fead5","updated":"2016-06-14 15:13:57.000000000","message":"Done","commit_id":"057557294437405c01b27c71f38d278dcfbd366c"},{"author":{"_account_id":17860,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@gmail.com","username":"samueldmq"},"change_message_id":"bd65dfdf5fe7717a03e5c37759805f73e2ce6a5e","unresolved":false,"context_lines":[{"line_number":3377,"context_line":"        resp \u003d self.get(self.base_url(), expected_status\u003dhttp_client.OK)"},{"line_number":3378,"context_line":"        self.assertTrue(len(resp.json_body[\u0027service_providers\u0027]), 1)"},{"line_number":3379,"context_line":""},{"line_number":3380,"context_line":"    @unit.skip_if_cache_disabled(\u0027federation\u0027)"},{"line_number":3381,"context_line":"    def test_update_service_provider_invalidates_cache(self):"},{"line_number":3382,"context_line":"        # List all service providers and make sure we only have one in the"},{"line_number":3383,"context_line":"        # list. This service provider is from testing setup."}],"source_content_type":"text/x-python","patch_set":3,"id":"7aa08908_7f13c666","line":3380,"range":{"start_line":3380,"start_character":0,"end_line":3380,"end_character":46},"updated":"2016-06-07 13:33:49.000000000","message":"same as above","commit_id":"057557294437405c01b27c71f38d278dcfbd366c"},{"author":{"_account_id":17860,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@gmail.com","username":"samueldmq"},"change_message_id":"bd65dfdf5fe7717a03e5c37759805f73e2ce6a5e","unresolved":false,"context_lines":[{"line_number":3382,"context_line":"        # List all service providers and make sure we only have one in the"},{"line_number":3383,"context_line":"        # list. This service provider is from testing setup."},{"line_number":3384,"context_line":"        resp \u003d self.get(self.base_url(), expected_status\u003dhttp_client.OK)"},{"line_number":3385,"context_line":"        self.assertTrue(len(resp.json_body[\u0027service_providers\u0027]), 1)"},{"line_number":3386,"context_line":""},{"line_number":3387,"context_line":"        # Create a new service provider."},{"line_number":3388,"context_line":"        service_provider_id \u003d uuid.uuid4().hex"}],"source_content_type":"text/x-python","patch_set":3,"id":"7aa08908_df02ba0a","line":3385,"range":{"start_line":3385,"start_character":13,"end_line":3385,"end_character":23},"updated":"2016-06-07 13:33:49.000000000","message":"ditto","commit_id":"057557294437405c01b27c71f38d278dcfbd366c"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"10db1e524656e8c170a14c6a5b9affc36562bf9a","unresolved":false,"context_lines":[{"line_number":3382,"context_line":"        # List all service providers and make sure we only have one in the"},{"line_number":3383,"context_line":"        # list. This service provider is from testing setup."},{"line_number":3384,"context_line":"        resp \u003d self.get(self.base_url(), expected_status\u003dhttp_client.OK)"},{"line_number":3385,"context_line":"        self.assertTrue(len(resp.json_body[\u0027service_providers\u0027]), 1)"},{"line_number":3386,"context_line":""},{"line_number":3387,"context_line":"        # Create a new service provider."},{"line_number":3388,"context_line":"        service_provider_id \u003d uuid.uuid4().hex"}],"source_content_type":"text/x-python","patch_set":3,"id":"7aa08908_1aacec8a","line":3385,"in_reply_to":"7aa08908_df02ba0a","updated":"2016-06-14 15:13:57.000000000","message":"Done","commit_id":"057557294437405c01b27c71f38d278dcfbd366c"}]}
