)]}'
{"keystone/tests/unit/test_associate_project_endpoint_extension.py":[{"author":{"_account_id":11428,"name":"Ajaya Agrawal","email":"ajku.agr@gmail.com","username":"ajayaa"},"change_message_id":"89847d650847f2fe758e5eb5d9e3debe7528b31a","unresolved":false,"context_lines":[{"line_number":247,"context_line":"    def test_create_endpoint_project_association_invalidates_cache(self):"},{"line_number":248,"context_line":"        # NOTE(davechen): create another endpoint which will be added to"},{"line_number":249,"context_line":"        # default project, this should be done at first since"},{"line_number":250,"context_line":"        # `crecreate_endpoint` will also invalidate cache."},{"line_number":251,"context_line":"        endpoint_id2 \u003d uuid.uuid4().hex"},{"line_number":252,"context_line":"        endpoint2 \u003d unit.new_endpoint_ref(service_id\u003dself.service_id,"},{"line_number":253,"context_line":"                                          region_id\u003dself.region_id,"}],"source_content_type":"text/x-python","patch_set":2,"id":"da85f559_2bdc59e3","line":250,"updated":"2015-11-16 07:30:14.000000000","message":"s/crecreate/create","commit_id":"83752919f17b724c060543f9c8d5c53241e9ab93"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"bbee8bc8579f4efc83a2c5caa4d253ae362020cb","unresolved":false,"context_lines":[{"line_number":247,"context_line":"    def test_create_endpoint_project_association_invalidates_cache(self):"},{"line_number":248,"context_line":"        # NOTE(davechen): create another endpoint which will be added to"},{"line_number":249,"context_line":"        # default project, this should be done at first since"},{"line_number":250,"context_line":"        # `crecreate_endpoint` will also invalidate cache."},{"line_number":251,"context_line":"        endpoint_id2 \u003d uuid.uuid4().hex"},{"line_number":252,"context_line":"        endpoint2 \u003d unit.new_endpoint_ref(service_id\u003dself.service_id,"},{"line_number":253,"context_line":"                                          region_id\u003dself.region_id,"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba8a016a_182570aa","line":250,"in_reply_to":"da85f559_2bdc59e3","updated":"2015-11-16 17:48:34.000000000","message":"Done","commit_id":"83752919f17b724c060543f9c8d5c53241e9ab93"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"f6c009b2458f5cb01cb1090dd0f6734702116a75","unresolved":false,"context_lines":[{"line_number":265,"context_line":"            self.default_domain_project_id)"},{"line_number":266,"context_line":""},{"line_number":267,"context_line":"        # there is only one endpoints associated with the default project."},{"line_number":268,"context_line":"        self.assertEqual(1, len(catalog[0][\u0027endpoints\u0027]))"},{"line_number":269,"context_line":"        self.assertEqual(self.endpoint_id, catalog[0][\u0027endpoints\u0027][0][\u0027id\u0027])"},{"line_number":270,"context_line":""},{"line_number":271,"context_line":"        # add the second endpoint to default project, bypassing"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba8a016a_56189d84","line":268,"updated":"2015-11-16 22:44:00.000000000","message":"use the HasLength matcher since it will print more info on failure -- https://github.com/testing-cabal/testtools/blob/master/testtools/matchers/_basic.py#L326\n\nThis also applies where other assertEqual with len is used.","commit_id":"b817b21305e5875d9b2476c1236e3fe1796a2d57"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"7248fbf79da2978980e0f01615b043b8405d1839","unresolved":false,"context_lines":[{"line_number":265,"context_line":"            self.default_domain_project_id)"},{"line_number":266,"context_line":""},{"line_number":267,"context_line":"        # there is only one endpoints associated with the default project."},{"line_number":268,"context_line":"        self.assertEqual(1, len(catalog[0][\u0027endpoints\u0027]))"},{"line_number":269,"context_line":"        self.assertEqual(self.endpoint_id, catalog[0][\u0027endpoints\u0027][0][\u0027id\u0027])"},{"line_number":270,"context_line":""},{"line_number":271,"context_line":"        # add the second endpoint to default project, bypassing"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba8a016a_21602ece","line":268,"in_reply_to":"ba8a016a_56189d84","updated":"2015-11-17 01:59:28.000000000","message":"Brant - Thanks for teaching me, it will be definitely helpful for my future work.","commit_id":"b817b21305e5875d9b2476c1236e3fe1796a2d57"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"f6c009b2458f5cb01cb1090dd0f6734702116a75","unresolved":false,"context_lines":[{"line_number":275,"context_line":"            self.default_domain_project_id)"},{"line_number":276,"context_line":""},{"line_number":277,"context_line":"        # but, we can just get back one endpoint from the cache, since the"},{"line_number":278,"context_line":"        # catalog is pulled out from cache and its haven\u0027t been invalidated."},{"line_number":279,"context_line":"        catalog \u003d self.catalog_api.get_v3_catalog("},{"line_number":280,"context_line":"            user_id,"},{"line_number":281,"context_line":"            self.default_domain_project_id)"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba8a016a_8934aade","line":278,"updated":"2015-11-16 22:44:00.000000000","message":"change \"its haven\u0027t\" to \"it hasn\u0027t\". This applies elsewhere, too.","commit_id":"b817b21305e5875d9b2476c1236e3fe1796a2d57"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"7248fbf79da2978980e0f01615b043b8405d1839","unresolved":false,"context_lines":[{"line_number":275,"context_line":"            self.default_domain_project_id)"},{"line_number":276,"context_line":""},{"line_number":277,"context_line":"        # but, we can just get back one endpoint from the cache, since the"},{"line_number":278,"context_line":"        # catalog is pulled out from cache and its haven\u0027t been invalidated."},{"line_number":279,"context_line":"        catalog \u003d self.catalog_api.get_v3_catalog("},{"line_number":280,"context_line":"            user_id,"},{"line_number":281,"context_line":"            self.default_domain_project_id)"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba8a016a_81a55a05","line":278,"in_reply_to":"ba8a016a_8934aade","updated":"2015-11-17 01:59:28.000000000","message":"my bad. :(","commit_id":"b817b21305e5875d9b2476c1236e3fe1796a2d57"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"f6c009b2458f5cb01cb1090dd0f6734702116a75","unresolved":false,"context_lines":[{"line_number":290,"context_line":""},{"line_number":291,"context_line":"        # add second endpoint to default project, this can be done by calling"},{"line_number":292,"context_line":"        # the endpoint_filter_api API manager directly but call the REST API"},{"line_number":293,"context_line":"        # instead for consistency."},{"line_number":294,"context_line":"        self.put(\u0027/OS-EP-FILTER/projects/%(project_id)s\u0027"},{"line_number":295,"context_line":"                 \u0027/endpoints/%(endpoint_id)s\u0027 % {"},{"line_number":296,"context_line":"                     \u0027project_id\u0027: self.default_domain_project_id,"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba8a016a_c9963294","line":293,"updated":"2015-11-16 22:44:00.000000000","message":"it\u0027s a mistake to go through the REST API in all these tests.","commit_id":"b817b21305e5875d9b2476c1236e3fe1796a2d57"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"7248fbf79da2978980e0f01615b043b8405d1839","unresolved":false,"context_lines":[{"line_number":290,"context_line":""},{"line_number":291,"context_line":"        # add second endpoint to default project, this can be done by calling"},{"line_number":292,"context_line":"        # the endpoint_filter_api API manager directly but call the REST API"},{"line_number":293,"context_line":"        # instead for consistency."},{"line_number":294,"context_line":"        self.put(\u0027/OS-EP-FILTER/projects/%(project_id)s\u0027"},{"line_number":295,"context_line":"                 \u0027/endpoints/%(endpoint_id)s\u0027 % {"},{"line_number":296,"context_line":"                     \u0027project_id\u0027: self.default_domain_project_id,"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba8a016a_e1eea621","line":293,"in_reply_to":"ba8a016a_c9963294","updated":"2015-11-17 01:59:28.000000000","message":"Somehow, it\u0027s okay to just call the API in manager directly but looks like all of the testcases in this file test in this way.\n\nBut, yep, good point.","commit_id":"b817b21305e5875d9b2476c1236e3fe1796a2d57"}]}
