)]}'
{"keystone/federation/schema.py":[{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"89c515f7a4df6f1310f3da81dcf803c5f6abaee9","unresolved":false,"context_lines":[{"line_number":83,"context_line":"    \u0027description\u0027: validation.nullable(parameter_types.description),"},{"line_number":84,"context_line":"    \u0027remote_ids\u0027: {"},{"line_number":85,"context_line":"        \u0027type\u0027: [\u0027array\u0027, \u0027null\u0027],"},{"line_number":86,"context_line":"        \"items\": {"},{"line_number":87,"context_line":"            \"type\": \u0027string\u0027"},{"line_number":88,"context_line":"        },"},{"line_number":89,"context_line":"        \"uniqueItems\": True"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa69d971_1eb1c88f","line":86,"range":{"start_line":86,"start_character":8,"end_line":86,"end_character":9},"updated":"2015-12-31 11:37:54.000000000","message":"change all of those to single quotation \u0027 \u0027","commit_id":"fdef1d51ae6d0943f0da171677cb3e834054da38"}],"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":"89c515f7a4df6f1310f3da81dcf803c5f6abaee9","unresolved":false,"context_lines":[{"line_number":1139,"context_line":"    def test_update_idp_immutable_attributes(self):"},{"line_number":1140,"context_line":"        \"\"\"Update IdP\u0027s immutable parameters."},{"line_number":1141,"context_line":""},{"line_number":1142,"context_line":"        Expect HTTP FORBIDDEN."},{"line_number":1143,"context_line":""},{"line_number":1144,"context_line":"        \"\"\""},{"line_number":1145,"context_line":"        default_resp \u003d self._create_default_idp()"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa69d971_be68bcf6","line":1142,"range":{"start_line":1142,"start_character":20,"end_line":1142,"end_character":29},"updated":"2015-12-31 11:37:54.000000000","message":"change this to BAD REQUEST","commit_id":"fdef1d51ae6d0943f0da171677cb3e834054da38"}],"keystone/tests/unit/test_validation.py":[{"author":{"_account_id":19779,"name":"Chason Chan","display_name":"chenxing","email":"chason.chan@foxmail.com","username":"chenxing"},"change_message_id":"e3d8432a99996459aeed8344f89d1fc50f1d2bd5","unresolved":false,"context_lines":[{"line_number":1932,"context_line":"                              request_to_validate)"},{"line_number":1933,"context_line":""},{"line_number":1934,"context_line":"    def test_validate_idp_request_no_parameters(self):"},{"line_number":1935,"context_line":"        \"\"\"Test that schema validation with empty request body\"\"\""},{"line_number":1936,"context_line":"        request_to_validate \u003d {}"},{"line_number":1937,"context_line":"        self.create_idp_validator.validate(request_to_validate)"},{"line_number":1938,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"fa69d971_34cb9655","line":1935,"range":{"start_line":1935,"start_character":62,"end_line":1935,"end_character":65},"updated":"2015-12-31 05:50:38.000000000","message":"Add a \".\" after the \"body\".","commit_id":"2ca36c9b060712b9a70baf1c03f959144c736723"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"2ba3631d7fff38736e451a0336f13da9d0191d4a","unresolved":false,"context_lines":[{"line_number":1932,"context_line":"                              request_to_validate)"},{"line_number":1933,"context_line":""},{"line_number":1934,"context_line":"    def test_validate_idp_request_no_parameters(self):"},{"line_number":1935,"context_line":"        \"\"\"Test that schema validation with empty request body\"\"\""},{"line_number":1936,"context_line":"        request_to_validate \u003d {}"},{"line_number":1937,"context_line":"        self.create_idp_validator.validate(request_to_validate)"},{"line_number":1938,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"fa69d971_37971892","line":1935,"range":{"start_line":1935,"start_character":62,"end_line":1935,"end_character":65},"in_reply_to":"fa69d971_34cb9655","updated":"2015-12-31 06:28:47.000000000","message":"Done","commit_id":"2ca36c9b060712b9a70baf1c03f959144c736723"},{"author":{"_account_id":19779,"name":"Chason Chan","display_name":"chenxing","email":"chason.chan@foxmail.com","username":"chenxing"},"change_message_id":"e3d8432a99996459aeed8344f89d1fc50f1d2bd5","unresolved":false,"context_lines":[{"line_number":1942,"context_line":"                          request_to_validate)"},{"line_number":1943,"context_line":""},{"line_number":1944,"context_line":"    def test_validate_idp_request_with_valid_description(self):"},{"line_number":1945,"context_line":"        \"\"\"Test that validate `description` is a string value\"\"\""},{"line_number":1946,"context_line":"        request_to_validate \u003d {\u0027description\u0027: \u0027identity provider description\u0027}"},{"line_number":1947,"context_line":"        self.create_idp_validator.validate(request_to_validate)"},{"line_number":1948,"context_line":"        self.update_idp_validator.validate(request_to_validate)"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa69d971_54c88a55","line":1945,"range":{"start_line":1945,"start_character":61,"end_line":1945,"end_character":64},"updated":"2015-12-31 05:50:38.000000000","message":"ditto","commit_id":"2ca36c9b060712b9a70baf1c03f959144c736723"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"5d53da1173ab0c43fcb152ac11dc278b0582388c","unresolved":false,"context_lines":[{"line_number":1942,"context_line":"                          request_to_validate)"},{"line_number":1943,"context_line":""},{"line_number":1944,"context_line":"    def test_validate_idp_request_with_valid_description(self):"},{"line_number":1945,"context_line":"        \"\"\"Test that validate `description` is a string value\"\"\""},{"line_number":1946,"context_line":"        request_to_validate \u003d {\u0027description\u0027: \u0027identity provider description\u0027}"},{"line_number":1947,"context_line":"        self.create_idp_validator.validate(request_to_validate)"},{"line_number":1948,"context_line":"        self.update_idp_validator.validate(request_to_validate)"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa69d971_17ef74e9","line":1945,"range":{"start_line":1945,"start_character":9,"end_line":1945,"end_character":64},"updated":"2015-12-31 06:37:23.000000000","message":"this is also covered by \"test_validate_idp_request_succeeds\"","commit_id":"2ca36c9b060712b9a70baf1c03f959144c736723"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"5d53da1173ab0c43fcb152ac11dc278b0582388c","unresolved":false,"context_lines":[{"line_number":1959,"context_line":"                          request_to_validate)"},{"line_number":1960,"context_line":""},{"line_number":1961,"context_line":"    def test_validate_idp_request_with_valid_remote_id(self):"},{"line_number":1962,"context_line":"        \"\"\"Test that validate `remote_ids` is an array.\"\"\""},{"line_number":1963,"context_line":"        request_to_validate \u003d {\"remote_ids\": [uuid.uuid4().hex,"},{"line_number":1964,"context_line":"                                              uuid.uuid4().hex]}"},{"line_number":1965,"context_line":"        self.create_idp_validator.validate(request_to_validate)"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa69d971_37e878e2","line":1962,"range":{"start_line":1962,"start_character":8,"end_line":1962,"end_character":58},"updated":"2015-12-31 06:37:23.000000000","message":"this is already covered by \"test_validate_idp_request_succeeds\"","commit_id":"2ca36c9b060712b9a70baf1c03f959144c736723"}]}
