)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":9142,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@lsd.ufcg.edu.br","username":"samuel-z","inactive":true},"change_message_id":"42050f9f76cecd3bdc3c6face16ebf8fe3ccdc9a","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"do parameter check before updating endpoint_group"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Currently, the update method of endpoint_group does paramter check"},{"line_number":10,"context_line":"after updating endpoint_group. This leads to a bug that invalid data"},{"line_number":11,"context_line":"will be updated successfully although api returns 400."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3a961159_34f91b4f","line":9,"updated":"2015-01-12 01:55:51.000000000","message":"s/paramter/parameter","commit_id":"a591985126b1677ae1cebbdcfea54c38c49996e3"}],"keystone/contrib/endpoint_filter/controllers.py":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"c69aec3f786d07ae192d8043a99d694cb444b092","unresolved":false,"context_lines":[{"line_number":187,"context_line":"    def update_endpoint_group(self, context, endpoint_group_id,"},{"line_number":188,"context_line":"                              endpoint_group):"},{"line_number":189,"context_line":"        \"\"\"Update fixed values and/or extend the filters.\"\"\""},{"line_number":190,"context_line":"        if \u0027filters\u0027 in endpoint_group:"},{"line_number":191,"context_line":"            self._require_valid_filter(endpoint_group)"},{"line_number":192,"context_line":"        ref \u003d self.endpoint_filter_api.update_endpoint_group(endpoint_group_id,"},{"line_number":193,"context_line":"                                                             endpoint_group)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_9643c912","line":190,"updated":"2015-01-09 18:49:22.000000000","message":"I don\u0027t think this line is needed, since _required_valid_filter calls .get(), if there are no filters, then it\u0027ll just return.","commit_id":"fe01584aaf734ea1989efcb546fe2e0742dd3372"},{"author":{"_account_id":9101,"name":"wanghong","email":"reviewwanghong@126.com","username":"wanghong"},"change_message_id":"da487d2f236faf94589169964059c90e18cc8ffc","unresolved":false,"context_lines":[{"line_number":187,"context_line":"    def update_endpoint_group(self, context, endpoint_group_id,"},{"line_number":188,"context_line":"                              endpoint_group):"},{"line_number":189,"context_line":"        \"\"\"Update fixed values and/or extend the filters.\"\"\""},{"line_number":190,"context_line":"        if \u0027filters\u0027 in endpoint_group:"},{"line_number":191,"context_line":"            self._require_valid_filter(endpoint_group)"},{"line_number":192,"context_line":"        ref \u003d self.endpoint_filter_api.update_endpoint_group(endpoint_group_id,"},{"line_number":193,"context_line":"                                                             endpoint_group)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_8f147ca0","line":190,"in_reply_to":"3a961159_9643c912","updated":"2015-01-12 03:15:36.000000000","message":"No, Steve Martinelli, it will raise error \"\u0027NoneType\u0027 object has no attribute \u0027iterkeys\u0027\" :)","commit_id":"fe01584aaf734ea1989efcb546fe2e0742dd3372"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"471015458b56a87cc85b173ba87b0bbfc55c801c","unresolved":false,"context_lines":[{"line_number":187,"context_line":"    def update_endpoint_group(self, context, endpoint_group_id,"},{"line_number":188,"context_line":"                              endpoint_group):"},{"line_number":189,"context_line":"        \"\"\"Update fixed values and/or extend the filters.\"\"\""},{"line_number":190,"context_line":"        if \u0027filters\u0027 in endpoint_group:"},{"line_number":191,"context_line":"            self._require_valid_filter(endpoint_group)"},{"line_number":192,"context_line":"        ref \u003d self.endpoint_filter_api.update_endpoint_group(endpoint_group_id,"},{"line_number":193,"context_line":"                                                             endpoint_group)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a961159_f407f07e","line":190,"updated":"2015-01-15 21:43:06.000000000","message":"_require_valid_filter doesn\u0027t require that filters is in endpoint_group, so there\u0027s no need for this check.","commit_id":"3166d4076398702690ae9f666d343c3677997a69"},{"author":{"_account_id":9101,"name":"wanghong","email":"reviewwanghong@126.com","username":"wanghong"},"change_message_id":"34a55e39ca48ce50abe3055c7e5851c771f6e7f1","unresolved":false,"context_lines":[{"line_number":187,"context_line":"    def update_endpoint_group(self, context, endpoint_group_id,"},{"line_number":188,"context_line":"                              endpoint_group):"},{"line_number":189,"context_line":"        \"\"\"Update fixed values and/or extend the filters.\"\"\""},{"line_number":190,"context_line":"        if \u0027filters\u0027 in endpoint_group:"},{"line_number":191,"context_line":"            self._require_valid_filter(endpoint_group)"},{"line_number":192,"context_line":"        ref \u003d self.endpoint_filter_api.update_endpoint_group(endpoint_group_id,"},{"line_number":193,"context_line":"                                                             endpoint_group)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a961159_efdc72e3","line":190,"in_reply_to":"3a961159_0fb7fed8","updated":"2015-01-16 06:39:14.000000000","message":"I add a bug: https://bugs.launchpad.net/keystone/+bug/1411517","commit_id":"3166d4076398702690ae9f666d343c3677997a69"},{"author":{"_account_id":9101,"name":"wanghong","email":"reviewwanghong@126.com","username":"wanghong"},"change_message_id":"147493e75fda576522a95e313e774417bf91a783","unresolved":false,"context_lines":[{"line_number":187,"context_line":"    def update_endpoint_group(self, context, endpoint_group_id,"},{"line_number":188,"context_line":"                              endpoint_group):"},{"line_number":189,"context_line":"        \"\"\"Update fixed values and/or extend the filters.\"\"\""},{"line_number":190,"context_line":"        if \u0027filters\u0027 in endpoint_group:"},{"line_number":191,"context_line":"            self._require_valid_filter(endpoint_group)"},{"line_number":192,"context_line":"        ref \u003d self.endpoint_filter_api.update_endpoint_group(endpoint_group_id,"},{"line_number":193,"context_line":"                                                             endpoint_group)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a961159_0fb7fed8","line":190,"in_reply_to":"3a961159_af90aa4e","updated":"2015-01-16 06:23:41.000000000","message":"I think we should use json schema to check parameters. Add a schema for endpoint_group.","commit_id":"3166d4076398702690ae9f666d343c3677997a69"},{"author":{"_account_id":9101,"name":"wanghong","email":"reviewwanghong@126.com","username":"wanghong"},"change_message_id":"5af854ffd000392fc777e793b6d19ffc6ba88b4f","unresolved":false,"context_lines":[{"line_number":187,"context_line":"    def update_endpoint_group(self, context, endpoint_group_id,"},{"line_number":188,"context_line":"                              endpoint_group):"},{"line_number":189,"context_line":"        \"\"\"Update fixed values and/or extend the filters.\"\"\""},{"line_number":190,"context_line":"        if \u0027filters\u0027 in endpoint_group:"},{"line_number":191,"context_line":"            self._require_valid_filter(endpoint_group)"},{"line_number":192,"context_line":"        ref \u003d self.endpoint_filter_api.update_endpoint_group(endpoint_group_id,"},{"line_number":193,"context_line":"                                                             endpoint_group)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a961159_af90aa4e","line":190,"in_reply_to":"3a961159_f407f07e","updated":"2015-01-16 06:18:03.000000000","message":"_require_valid_filter gets \u0027filters\u0027 from endpoint_group and then loops keys of \u0027filters\u0027. I think it assumes that \u0027filters\u0027 must be in endpoint_group and must be a dict.","commit_id":"3166d4076398702690ae9f666d343c3677997a69"}],"keystone/tests/test_associate_project_endpoint_extension.py":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"c69aec3f786d07ae192d8043a99d694cb444b092","unresolved":false,"context_lines":[{"line_number":767,"context_line":"            \u0027endpoint_group_id\u0027: endpoint_group_id}"},{"line_number":768,"context_line":"        self.patch(url, body\u003dbody, expected_status\u003d400)"},{"line_number":769,"context_line":""},{"line_number":770,"context_line":"        url \u003d \u0027/OS-EP-FILTER/endpoint_groups/%(endpoint_group_id)s\u0027 % {"},{"line_number":771,"context_line":"            \u0027endpoint_group_id\u0027: endpoint_group_id}"},{"line_number":772,"context_line":"        r \u003d self.get(url)"},{"line_number":773,"context_line":"        del r.result[\u0027endpoint_group\u0027][\u0027id\u0027]"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_b61c4516","line":770,"updated":"2015-01-09 18:49:22.000000000","message":"can you add a comment here:\n\n# NOTE(wanghong): Test for bug 123456, perform a GET call to ensure that the content remains the same (as DEFAULT_ENDPOINT_GROUP_BODY) after attempting to update with an invalid filter.","commit_id":"fe01584aaf734ea1989efcb546fe2e0742dd3372"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"471015458b56a87cc85b173ba87b0bbfc55c801c","unresolved":false,"context_lines":[{"line_number":767,"context_line":"            \u0027endpoint_group_id\u0027: endpoint_group_id}"},{"line_number":768,"context_line":"        self.patch(url, body\u003dbody, expected_status\u003d400)"},{"line_number":769,"context_line":""},{"line_number":770,"context_line":"        # NOTE(wanghong): Test for bug 1408930, perform a GET call to ensure"},{"line_number":771,"context_line":"        # that the content remains the same (as DEFAULT_ENDPOINT_GROUP_BODY)"},{"line_number":772,"context_line":"        # after attempting to update with an invalid filter."},{"line_number":773,"context_line":"        url \u003d \u0027/OS-EP-FILTER/endpoint_groups/%(endpoint_group_id)s\u0027 % {"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a961159_f42e10f9","line":770,"updated":"2015-01-15 21:43:06.000000000","message":"Remove the bug reference. I don\u0027t want every line of keystone code to have a bug reference. This info is in the git log already.","commit_id":"3166d4076398702690ae9f666d343c3677997a69"}]}
