)]}'
{"keystone/common/controller.py":[{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"cc9ebbda778f37d026b4eb395cc6834c6adf16c0","unresolved":false,"context_lines":[{"line_number":813,"context_line":"    def filter_params(cls, ref):"},{"line_number":814,"context_line":"        \"\"\"Remove unspecified parameters from the dictionary."},{"line_number":815,"context_line":""},{"line_number":816,"context_line":"        This function removes unspecified parameters from the dictionary."},{"line_number":817,"context_line":"        This method checks only root-level keys from a ref dictionary."},{"line_number":818,"context_line":""},{"line_number":819,"context_line":"        :param ref: a dictionary representing deserialized response to be"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa69d971_ea4251ad","line":816,"updated":"2016-01-06 14:58:35.000000000","message":"This sentence should be removed, as it is entirely redundant with the docstr summary line.","commit_id":"1ba0153fddc4161d0cee77072e1d4b62e0256d46"}],"keystone/tests/unit/test_v3_controller.py":[{"author":{"_account_id":17860,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@gmail.com","username":"samueldmq"},"change_message_id":"012c5ff9402c03bc1c0e31902063241bc4748a9e","unresolved":false,"context_lines":[{"line_number":23,"context_line":"from keystone.tests import unit"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"class V3ControllerTestCase(unit.TestCase):"},{"line_number":27,"context_line":"    \"\"\"Tests for the V3Controller class.\"\"\""},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    def setUp(self):"}],"source_content_type":"text/x-python","patch_set":5,"id":"da6ed579_c2e4bf3c","side":"PARENT","line":26,"updated":"2016-01-12 15:25:36.000000000","message":"It would be nice to add correspondent test cases somewhere else, to demonstrate jsonschema is catching these cases, as per your commit message","commit_id":"1a67c2a7efcd31213eadc0e292e74b651440a656"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"302a15b2ecc6b1f9d8d1b9bcc6384edc632cc4be","unresolved":false,"context_lines":[{"line_number":23,"context_line":"from keystone.tests import unit"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"class V3ControllerTestCase(unit.TestCase):"},{"line_number":27,"context_line":"    \"\"\"Tests for the V3Controller class.\"\"\""},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    def setUp(self):"}],"source_content_type":"text/x-python","patch_set":5,"id":"da6ed579_26191489","side":"PARENT","line":26,"in_reply_to":"da6ed579_c2e4bf3c","updated":"2016-01-13 01:47:59.000000000","message":"@Samuel, this has been covered, see this one for example:\nhttps://github.com/openstack/keystone/blob/master/keystone/tests/unit/test_validation.py#L1904-L1913\n\nAny schema definition which doesn\u0027t allow to update the extra properties should have a testcase like this!","commit_id":"1a67c2a7efcd31213eadc0e292e74b651440a656"}],"keystone/tests/unit/test_v3_federation.py":[{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"1d2defce4f8abc0e71c65d4fec41f985de795d8a","unresolved":false,"context_lines":[{"line_number":3211,"context_line":"        \"\"\"Update immutable attributes in service provider."},{"line_number":3212,"context_line":""},{"line_number":3213,"context_line":"        In this particular case the test will try to change ``id`` attribute."},{"line_number":3214,"context_line":"        The server should return an HTTP 403 Forbidden error code."},{"line_number":3215,"context_line":""},{"line_number":3216,"context_line":"        \"\"\""},{"line_number":3217,"context_line":"        new_sp_ref \u003d {\u0027id\u0027: uuid.uuid4().hex}"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa69d971_f299756f","side":"PARENT","line":3214,"range":{"start_line":3214,"start_character":41,"end_line":3214,"end_character":65},"updated":"2016-01-02 06:24:08.000000000","message":"actually, this statue code is wrong, and this testcase is needed since the testcase should be in test_validation.py rather than the restful test like this.","commit_id":"f5cd0f55bbc5da417157d8c298900c902f72727e"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"7e5787325853fcded141c9809cc8982b13f7a02d","unresolved":false,"context_lines":[{"line_number":3211,"context_line":"        \"\"\"Update immutable attributes in service provider."},{"line_number":3212,"context_line":""},{"line_number":3213,"context_line":"        In this particular case the test will try to change ``id`` attribute."},{"line_number":3214,"context_line":"        The server should return an HTTP 403 Forbidden error code."},{"line_number":3215,"context_line":""},{"line_number":3216,"context_line":"        \"\"\""},{"line_number":3217,"context_line":"        new_sp_ref \u003d {\u0027id\u0027: uuid.uuid4().hex}"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa69d971_72c5853a","side":"PARENT","line":3214,"range":{"start_line":3214,"start_character":41,"end_line":3214,"end_character":65},"in_reply_to":"fa69d971_f299756f","updated":"2016-01-02 06:26:10.000000000","message":"s/is needed/needn\u0027t","commit_id":"f5cd0f55bbc5da417157d8c298900c902f72727e"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"cc9ebbda778f37d026b4eb395cc6834c6adf16c0","unresolved":false,"context_lines":[{"line_number":1154,"context_line":""},{"line_number":1155,"context_line":"        url \u003d self.base_url(suffix\u003didp_id)"},{"line_number":1156,"context_line":"        self.patch(url, body\u003d{\u0027identity_provider\u0027: body},"},{"line_number":1157,"context_line":"                   expected_status\u003dhttp_client.BAD_REQUEST)"},{"line_number":1158,"context_line":""},{"line_number":1159,"context_line":"    def test_update_nonexistent_idp(self):"},{"line_number":1160,"context_line":"        \"\"\"Update nonexistent IdP"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa69d971_6a98a11c","side":"PARENT","line":1157,"updated":"2016-01-06 14:58:35.000000000","message":"This test should still pass if the code you\u0027ve removed is redundant with jsonschema validation - why is it being deleted?","commit_id":"ba7a1db286dbdc4d88a949b2a1dd659686b40b31"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"9172d1fe39b2115a1124fbb653fa2183fbfb9ec6","unresolved":false,"context_lines":[{"line_number":1154,"context_line":""},{"line_number":1155,"context_line":"        url \u003d self.base_url(suffix\u003didp_id)"},{"line_number":1156,"context_line":"        self.patch(url, body\u003d{\u0027identity_provider\u0027: body},"},{"line_number":1157,"context_line":"                   expected_status\u003dhttp_client.BAD_REQUEST)"},{"line_number":1158,"context_line":""},{"line_number":1159,"context_line":"    def test_update_nonexistent_idp(self):"},{"line_number":1160,"context_line":"        \"\"\"Update nonexistent IdP"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa69d971_7c0bd324","side":"PARENT","line":1157,"in_reply_to":"fa69d971_6a98a11c","updated":"2016-01-11 03:27:16.000000000","message":"@Dolph, these testcases were used to be restful testcases, test the behavior of API invocation IMO. \n\nAfter enforcing schema validation, the API will not be called at all, the exception has been caught by jsonschema instead [1].\n\nThis testcase is redundant since we have added the testcase to test the exception raised by jsonshema, any propriety except the proprieties defined in `identity_provider_properties`[3] will raise the bad request exception.  \n\n[1] https://review.openstack.org/#/c/262663/5/keystone/tests/unit/test_v3_federation.py\n[2] https://review.openstack.org/#/c/262663/5/keystone/tests/unit/test_validation.py@1904\n[3] https://review.openstack.org/#/c/262663/5/keystone/federation/schema.py","commit_id":"ba7a1db286dbdc4d88a949b2a1dd659686b40b31"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"cc9ebbda778f37d026b4eb395cc6834c6adf16c0","unresolved":false,"context_lines":[{"line_number":3217,"context_line":"        new_sp_ref \u003d {\u0027id\u0027: uuid.uuid4().hex}"},{"line_number":3218,"context_line":"        url \u003d self.base_url(suffix\u003dself.SERVICE_PROVIDER_ID)"},{"line_number":3219,"context_line":"        self.patch(url, body\u003d{\u0027service_provider\u0027: new_sp_ref},"},{"line_number":3220,"context_line":"                   expected_status\u003dhttp_client.BAD_REQUEST)"},{"line_number":3221,"context_line":""},{"line_number":3222,"context_line":"    def test_update_service_provider_unknown_parameter(self):"},{"line_number":3223,"context_line":"        new_sp_ref \u003d self.sp_ref()"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa69d971_aa9219f4","side":"PARENT","line":3220,"updated":"2016-01-06 14:58:35.000000000","message":"Same as above.","commit_id":"ba7a1db286dbdc4d88a949b2a1dd659686b40b31"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"9172d1fe39b2115a1124fbb653fa2183fbfb9ec6","unresolved":false,"context_lines":[{"line_number":3217,"context_line":"        new_sp_ref \u003d {\u0027id\u0027: uuid.uuid4().hex}"},{"line_number":3218,"context_line":"        url \u003d self.base_url(suffix\u003dself.SERVICE_PROVIDER_ID)"},{"line_number":3219,"context_line":"        self.patch(url, body\u003d{\u0027service_provider\u0027: new_sp_ref},"},{"line_number":3220,"context_line":"                   expected_status\u003dhttp_client.BAD_REQUEST)"},{"line_number":3221,"context_line":""},{"line_number":3222,"context_line":"    def test_update_service_provider_unknown_parameter(self):"},{"line_number":3223,"context_line":"        new_sp_ref \u003d self.sp_ref()"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa69d971_7c599334","side":"PARENT","line":3220,"in_reply_to":"fa69d971_aa9219f4","updated":"2016-01-11 03:27:16.000000000","message":"same here.","commit_id":"ba7a1db286dbdc4d88a949b2a1dd659686b40b31"}],"tox.ini":[{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"d474dcc448d52671f4b4f00ad08dc79e161d0cc2","unresolved":false,"context_lines":[{"line_number":67,"context_line":"      keystone/tests/unit/test_token_provider.py \\"},{"line_number":68,"context_line":"      keystone/tests/unit/test_url_middleware.py \\"},{"line_number":69,"context_line":"      keystone/tests/unit/test_v2_controller.py \\"},{"line_number":70,"context_line":"      keystone/tests/unit/test_v3_controller.py \\"},{"line_number":71,"context_line":"      keystone/tests/unit/test_validation.py \\"},{"line_number":72,"context_line":"      keystone/tests/unit/test_wsgi.py \\"},{"line_number":73,"context_line":"      keystone/tests/unit/token/test_pki_provider.py \\"}],"source_content_type":"text/x-properties","patch_set":5,"id":"da6ed579_c7d49621","side":"PARENT","line":70,"updated":"2016-01-13 13:55:29.000000000","message":"why is this removed?","commit_id":"1a67c2a7efcd31213eadc0e292e74b651440a656"}]}
