)]}'
{"keystone/resource/controllers.py":[{"author":{"_account_id":13478,"name":"Boris Bobrov","email":"b.bobrov@sap.com","username":"bbobrov"},"change_message_id":"31ff819f294ddf81ea8fef5892682618315150d2","unresolved":false,"context_lines":[{"line_number":105,"context_line":"    def update_project(self, request, tenant_id, tenant):"},{"line_number":106,"context_line":"        self.assert_admin(request)"},{"line_number":107,"context_line":"        self._assert_not_is_domain_project(tenant_id)"},{"line_number":108,"context_line":"        validation.lazy_validate(schema.tenant_update, tenant)"},{"line_number":109,"context_line":"        initiator \u003d notifications._get_request_audit_info(request.context_dict)"},{"line_number":110,"context_line":"        tenant_ref \u003d self.resource_api.update_project("},{"line_number":111,"context_line":"            tenant_id, tenant, initiator)"}],"source_content_type":"text/x-python","patch_set":3,"id":"bacf61ea_688bdfc3","line":108,"range":{"start_line":108,"start_character":0,"end_line":108,"end_character":62},"updated":"2016-07-31 04:45:28.000000000","message":"why was this moved above?","commit_id":"d2b15851919c86449c4395748f49fb8b42f45081"},{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"930686ddbad2e4b8cdb9e72a7bc483b81f9ddec8","unresolved":false,"context_lines":[{"line_number":105,"context_line":"    def update_project(self, request, tenant_id, tenant):"},{"line_number":106,"context_line":"        self.assert_admin(request)"},{"line_number":107,"context_line":"        self._assert_not_is_domain_project(tenant_id)"},{"line_number":108,"context_line":"        validation.lazy_validate(schema.tenant_update, tenant)"},{"line_number":109,"context_line":"        initiator \u003d notifications._get_request_audit_info(request.context_dict)"},{"line_number":110,"context_line":"        tenant_ref \u003d self.resource_api.update_project("},{"line_number":111,"context_line":"            tenant_id, tenant, initiator)"}],"source_content_type":"text/x-python","patch_set":3,"id":"bacf61ea_8318b476","line":108,"range":{"start_line":108,"start_character":0,"end_line":108,"end_character":62},"in_reply_to":"bacf61ea_688bdfc3","updated":"2016-07-31 05:15:13.000000000","message":"Was done as part of trying something, but also to be similar to:\n\nhttps://github.com/openstack/keystone/blob/master/keystone/resource/controllers.py#L317-L318","commit_id":"d2b15851919c86449c4395748f49fb8b42f45081"}],"keystone/resource/core.py":[{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"8db7bda8e5a1d3075978ef1f25c684eef6468b42","unresolved":false,"context_lines":[{"line_number":314,"context_line":"                utils.is_not_url_safe(project[\u0027name\u0027])):"},{"line_number":315,"context_line":"            self._raise_reserved_character_exception(exception_entity,"},{"line_number":316,"context_line":"                                                     project[\u0027name\u0027])"},{"line_number":317,"context_line":"        elif project_name_changed:"},{"line_number":318,"context_line":"            project[\u0027name\u0027] \u003d clean.project_name(project[\u0027name\u0027])"},{"line_number":319,"context_line":""},{"line_number":320,"context_line":"        parent_id \u003d original_project.get(\u0027parent_id\u0027)"},{"line_number":321,"context_line":"        if \u0027parent_id\u0027 in project and project.get(\u0027parent_id\u0027) !\u003d parent_id:"}],"source_content_type":"text/x-python","patch_set":4,"id":"bacf61ea_80753ffb","line":318,"range":{"start_line":317,"start_character":0,"end_line":318,"end_character":65},"updated":"2016-08-01 02:20:52.000000000","message":"Those two lines can be deleted too, this could be in a follow up review.","commit_id":"dbf101f69dcc0603f8746bdc357220634a562c26"}],"keystone/resource/schema.py":[{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"78b33d5f5aa702b5735cf8639e0b782cd31f4b38","unresolved":false,"context_lines":[{"line_number":98,"context_line":"        ]"},{"line_number":99,"context_line":"    },"},{"line_number":100,"context_line":"    \u0027tenantId\u0027: validation.nullable(parameter_types.id_string),"},{"line_number":101,"context_line":"    \u0027additionalProperties\u0027: True"},{"line_number":102,"context_line":"}"}],"source_content_type":"text/x-python","patch_set":1,"id":"bacf61ea_09f9c24d","line":101,"updated":"2016-07-29 08:32:03.000000000","message":"\u0027minProperties\u0027: 1, at least one property is needed for update.","commit_id":"8c2ca5a94153275ac4babd416f8e2d0ffa72a8b3"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"1fedde9d239848a121bd8e65f03eb521f7ca69cc","unresolved":false,"context_lines":[{"line_number":98,"context_line":"        ]"},{"line_number":99,"context_line":"    },"},{"line_number":100,"context_line":"    \u0027tenantId\u0027: validation.nullable(parameter_types.id_string),"},{"line_number":101,"context_line":"    \u0027additionalProperties\u0027: True"},{"line_number":102,"context_line":"}"}],"source_content_type":"text/x-python","patch_set":1,"id":"bacf61ea_215ad64f","line":101,"in_reply_to":"bacf61ea_09f9c24d","updated":"2016-07-29 10:55:54.000000000","message":"++","commit_id":"8c2ca5a94153275ac4babd416f8e2d0ffa72a8b3"},{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"f1270a9aa8206295bb7cc7864733bdc348e86681","unresolved":false,"context_lines":[{"line_number":98,"context_line":"        ]"},{"line_number":99,"context_line":"    },"},{"line_number":100,"context_line":"    \u0027tenantId\u0027: validation.nullable(parameter_types.id_string),"},{"line_number":101,"context_line":"    \u0027additionalProperties\u0027: True"},{"line_number":102,"context_line":"}"}],"source_content_type":"text/x-python","patch_set":1,"id":"bacf61ea_08c08e7a","line":101,"in_reply_to":"bacf61ea_215ad64f","updated":"2016-07-29 13:23:28.000000000","message":"Done","commit_id":"8c2ca5a94153275ac4babd416f8e2d0ffa72a8b3"}],"keystone/tests/unit/resource/test_backends.py":[{"author":{"_account_id":13478,"name":"Boris Bobrov","email":"b.bobrov@sap.com","username":"bbobrov"},"change_message_id":"7ece53082deea3b6c1a7df9c64131aa76df43da8","unresolved":false,"context_lines":[{"line_number":338,"context_line":"                          project[\u0027id\u0027],"},{"line_number":339,"context_line":"                          project)"},{"line_number":340,"context_line":""},{"line_number":341,"context_line":"    def test_update_project_invalid_enabled_type_string(self):"},{"line_number":342,"context_line":"        project \u003d unit.new_project_ref("},{"line_number":343,"context_line":"            domain_id\u003dCONF.identity.default_domain_id)"},{"line_number":344,"context_line":"        self.resource_api.create_project(project[\u0027id\u0027], project)"}],"source_content_type":"text/x-python","patch_set":4,"id":"bacf61ea_a89157f3","side":"PARENT","line":341,"updated":"2016-07-31 04:45:05.000000000","message":"why was it removed?","commit_id":"d07f59ff38e3993d288b71d55436e507366cf98c"},{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"aebb4b66d973a2eaa4270ea5ff96b1a6321626d7","unresolved":false,"context_lines":[{"line_number":338,"context_line":"                          project[\u0027id\u0027],"},{"line_number":339,"context_line":"                          project)"},{"line_number":340,"context_line":""},{"line_number":341,"context_line":"    def test_update_project_invalid_enabled_type_string(self):"},{"line_number":342,"context_line":"        project \u003d unit.new_project_ref("},{"line_number":343,"context_line":"            domain_id\u003dCONF.identity.default_domain_id)"},{"line_number":344,"context_line":"        self.resource_api.create_project(project[\u0027id\u0027], project)"}],"source_content_type":"text/x-python","patch_set":4,"id":"bacf61ea_c32c6c9b","side":"PARENT","line":341,"in_reply_to":"bacf61ea_a89157f3","updated":"2016-07-31 05:20:39.000000000","message":"With the current jsonschema validation, we want to remove redundant check / cleanup calls from clean.py at the manager level - and part of the issue with tox is that some tests with project[\u0027enabled\u0027] setting to a string \u0027false\u0027 is causing failure if the bad values are not cleaned up.\n\nThe invalid enabled boolean value will be tested in https://review.openstack.org/#/c/348738/4/keystone/tests/unit/test_v2_validation.py\n\nSee: https://review.openstack.org/#/c/348116/","commit_id":"d07f59ff38e3993d288b71d55436e507366cf98c"}],"keystone/tests/unit/test_v2_validation.py":[{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"78b33d5f5aa702b5735cf8639e0b782cd31f4b38","unresolved":false,"context_lines":[{"line_number":181,"context_line":"    def test_validate_tenant_update_with_domain_id(self):"},{"line_number":182,"context_line":"        request \u003d {"},{"line_number":183,"context_line":"            \u0027name\u0027: uuid.uuid4().hex,"},{"line_number":184,"context_line":"            \u0027domain_id\u0027: uuid.uuid4().hex"},{"line_number":185,"context_line":"        }"},{"line_number":186,"context_line":"        self.assertRaises(exception.SchemaValidationError,"},{"line_number":187,"context_line":"                          self.update_validator.validate,"}],"source_content_type":"text/x-python","patch_set":1,"id":"bacf61ea_2c6494e2","line":184,"range":{"start_line":184,"start_character":12,"end_line":184,"end_character":41},"updated":"2016-07-29 08:32:03.000000000","message":"and a testcase for \"is_domain\".","commit_id":"8c2ca5a94153275ac4babd416f8e2d0ffa72a8b3"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"78b33d5f5aa702b5735cf8639e0b782cd31f4b38","unresolved":false,"context_lines":[{"line_number":187,"context_line":"                          self.update_validator.validate,"},{"line_number":188,"context_line":"                          request)"},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"    def test_validate_tenant_update_with_empty_request(self):"},{"line_number":191,"context_line":"        request \u003d {}"},{"line_number":192,"context_line":"        self.update_validator.validate(request)"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"    def test_validate_tenant_update_fails_with_invalid_name(self):"},{"line_number":195,"context_line":"        \"\"\"Exception when validating an update request with invalid `name`.\"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"bacf61ea_ec143c45","line":192,"range":{"start_line":190,"start_character":0,"end_line":192,"end_character":47},"updated":"2016-07-29 08:32:03.000000000","message":"Does empty allowed for update? Should at least one property is needed for update?","commit_id":"8c2ca5a94153275ac4babd416f8e2d0ffa72a8b3"},{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"f1270a9aa8206295bb7cc7864733bdc348e86681","unresolved":false,"context_lines":[{"line_number":187,"context_line":"                          self.update_validator.validate,"},{"line_number":188,"context_line":"                          request)"},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"    def test_validate_tenant_update_with_empty_request(self):"},{"line_number":191,"context_line":"        request \u003d {}"},{"line_number":192,"context_line":"        self.update_validator.validate(request)"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"    def test_validate_tenant_update_fails_with_invalid_name(self):"},{"line_number":195,"context_line":"        \"\"\"Exception when validating an update request with invalid `name`.\"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"bacf61ea_c84cb644","line":192,"range":{"start_line":190,"start_character":0,"end_line":192,"end_character":47},"in_reply_to":"bacf61ea_ec143c45","updated":"2016-07-29 13:23:28.000000000","message":"Done","commit_id":"8c2ca5a94153275ac4babd416f8e2d0ffa72a8b3"}]}
