)]}'
{"keystone/auth/controllers.py":[{"author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"change_message_id":"4e5695de90dff2509ab0e788cc4075a8a8c42423","unresolved":false,"context_lines":[{"line_number":135,"context_line":"    \"\"\"Encapsulation of \"auth\" request.\"\"\""},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"    @staticmethod"},{"line_number":138,"context_line":"    @validation.validated(schema.token_create, \u0027auth\u0027)"},{"line_number":139,"context_line":"    def create(context, auth\u003dNone, scope_only\u003dFalse):"},{"line_number":140,"context_line":"        auth_info \u003d AuthInfo(context, auth\u003dauth)"},{"line_number":141,"context_line":"        auth_info._validate_and_normalize_auth_data(scope_only)"}],"source_content_type":"text/x-python","patch_set":5,"id":"7aa08908_75133e0e","line":138,"range":{"start_line":138,"start_character":4,"end_line":138,"end_character":54},"updated":"2016-06-09 18:27:15.000000000","message":"you were correct before, putting this in the controller call.\n\nThe issue in the last patch was modifying the test behavior, before your change, everything was verified manually during AuthInfo.create(), not using a JSON schema. All these manual validations can be removed in a next patchset, but for now, the tests should remain the same (the ones testing AuthInfo.create()) and this decorator placed in the controller and new tests added, as you did.","commit_id":"95fdf2dae23afa908e7fbd351b110e855eae3a4e"},{"author":{"_account_id":19985,"name":"Ryosuke Mizuno","email":"r-mizuno@rs.jp.nec.com","username":"r-mizuno"},"change_message_id":"cd1be5da48dcbee27db7997a36a9c3505884ff9f","unresolved":false,"context_lines":[{"line_number":135,"context_line":"    \"\"\"Encapsulation of \"auth\" request.\"\"\""},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"    @staticmethod"},{"line_number":138,"context_line":"    @validation.validated(schema.token_create, \u0027auth\u0027)"},{"line_number":139,"context_line":"    def create(context, auth\u003dNone, scope_only\u003dFalse):"},{"line_number":140,"context_line":"        auth_info \u003d AuthInfo(context, auth\u003dauth)"},{"line_number":141,"context_line":"        auth_info._validate_and_normalize_auth_data(scope_only)"}],"source_content_type":"text/x-python","patch_set":5,"id":"7aa08908_86e150d3","line":138,"range":{"start_line":138,"start_character":4,"end_line":138,"end_character":54},"in_reply_to":"7aa08908_75133e0e","updated":"2016-06-10 01:34:13.000000000","message":"I moved the decorator to the authenticate_for_token(), and fix tests.","commit_id":"95fdf2dae23afa908e7fbd351b110e855eae3a4e"},{"author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"change_message_id":"fa51b8adfda3ae6f58b4e072e31db563b03df4a7","unresolved":false,"context_lines":[{"line_number":170,"context_line":"                        sys.exc_info()[2])"},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"    def _lookup_domain(self, domain_info):"},{"line_number":173,"context_line":"        if isinstance(domain_info, dict) is False:"},{"line_number":174,"context_line":"            raise exception.ValidationError(attribute\u003d\u0027dict\u0027,"},{"line_number":175,"context_line":"                                            target\u003d\u0027domain\u0027)"},{"line_number":176,"context_line":"        domain_id \u003d domain_info.get(\u0027id\u0027)"},{"line_number":177,"context_line":"        domain_name \u003d domain_info.get(\u0027name\u0027)"},{"line_number":178,"context_line":"        domain_ref \u003d None"}],"source_content_type":"text/x-python","patch_set":6,"id":"7aa08908_ed33be11","side":"PARENT","line":175,"range":{"start_line":173,"start_character":0,"end_line":175,"end_character":60},"updated":"2016-06-10 11:49:48.000000000","message":"suggest you undo this, we should first introduce the JSON schema to make the validation right, then, we can go after the places where they have been done manually.","commit_id":"fe3b4c0f653318b7262423386c169a5d650ce08d"},{"author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"change_message_id":"fa51b8adfda3ae6f58b4e072e31db563b03df4a7","unresolved":false,"context_lines":[{"line_number":176,"context_line":"        domain_id \u003d domain_info.get(\u0027id\u0027)"},{"line_number":177,"context_line":"        domain_name \u003d domain_info.get(\u0027name\u0027)"},{"line_number":178,"context_line":"        domain_ref \u003d None"},{"line_number":179,"context_line":"        if not domain_id and not domain_name:"},{"line_number":180,"context_line":"            raise exception.ValidationError(attribute\u003d\u0027id or name\u0027,"},{"line_number":181,"context_line":"                                            target\u003d\u0027domain\u0027)"},{"line_number":182,"context_line":"        try:"},{"line_number":183,"context_line":"            if domain_name:"},{"line_number":184,"context_line":"                if (CONF.resource.domain_name_url_safe \u003d\u003d \u0027strict\u0027 and"}],"source_content_type":"text/x-python","patch_set":6,"id":"7aa08908_6dd6aec4","side":"PARENT","line":181,"range":{"start_line":179,"start_character":0,"end_line":181,"end_character":60},"updated":"2016-06-10 11:49:48.000000000","message":"think this can be removed too (in another patch - not this one)","commit_id":"fe3b4c0f653318b7262423386c169a5d650ce08d"},{"author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"change_message_id":"fa51b8adfda3ae6f58b4e072e31db563b03df4a7","unresolved":false,"context_lines":[{"line_number":196,"context_line":"        return domain_ref"},{"line_number":197,"context_line":""},{"line_number":198,"context_line":"    def _lookup_project(self, project_info):"},{"line_number":199,"context_line":"        if isinstance(project_info, dict) is False:"},{"line_number":200,"context_line":"            raise exception.ValidationError(attribute\u003d\u0027dict\u0027,"},{"line_number":201,"context_line":"                                            target\u003d\u0027project\u0027)"},{"line_number":202,"context_line":"        project_id \u003d project_info.get(\u0027id\u0027)"},{"line_number":203,"context_line":"        project_name \u003d project_info.get(\u0027name\u0027)"},{"line_number":204,"context_line":"        project_ref \u003d None"}],"source_content_type":"text/x-python","patch_set":6,"id":"7aa08908_ad2a568e","side":"PARENT","line":201,"range":{"start_line":199,"start_character":0,"end_line":201,"end_character":61},"updated":"2016-06-10 11:49:48.000000000","message":"suggest you undo this, we should first introduce the JSON schema to make the validation right, then, we can go after the places where they have been done manually.","commit_id":"fe3b4c0f653318b7262423386c169a5d650ce08d"},{"author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"change_message_id":"fa51b8adfda3ae6f58b4e072e31db563b03df4a7","unresolved":false,"context_lines":[{"line_number":202,"context_line":"        project_id \u003d project_info.get(\u0027id\u0027)"},{"line_number":203,"context_line":"        project_name \u003d project_info.get(\u0027name\u0027)"},{"line_number":204,"context_line":"        project_ref \u003d None"},{"line_number":205,"context_line":"        if not project_id and not project_name:"},{"line_number":206,"context_line":"            raise exception.ValidationError(attribute\u003d\u0027id or name\u0027,"},{"line_number":207,"context_line":"                                            target\u003d\u0027project\u0027)"},{"line_number":208,"context_line":"        try:"},{"line_number":209,"context_line":"            if project_name:"},{"line_number":210,"context_line":"                if (CONF.resource.project_name_url_safe \u003d\u003d \u0027strict\u0027 and"}],"source_content_type":"text/x-python","patch_set":6,"id":"7aa08908_0dee0a8b","side":"PARENT","line":207,"range":{"start_line":205,"start_character":0,"end_line":207,"end_character":61},"updated":"2016-06-10 11:49:48.000000000","message":"think this can be removed too (in another patch - not this one)","commit_id":"fe3b4c0f653318b7262423386c169a5d650ce08d"}],"keystone/auth/schema.py":[{"author":{"_account_id":8866,"name":"Raildo Mascena de Sousa Filho","email":"rmascena@redhat.com","username":"raildo"},"change_message_id":"4752b1f07b66a32cf578cf36914a1c5ed778ec92","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"from keystone.common.validation import parameter_types"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"_domain_properties \u003d {"},{"line_number":17,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":18,"context_line":"    \u0027properties\u0027: {"}],"source_content_type":"text/x-python","patch_set":7,"id":"7aa08908_5dab4e75","line":15,"updated":"2016-06-13 14:10:41.000000000","message":"Please reuse the schemas that have already been created here: https://github.com/openstack/keystone/blob/master/keystone/resource/schema.py#L17\nhttps://github.com/openstack/keystone/blob/master/keystone/resource/schema.py#L50\nhttps://github.com/openstack/keystone/blob/master/keystone/identity/schema.py#L25","commit_id":"6328df68383ceb68bbbc598b6dc1e2a05d858b44"},{"author":{"_account_id":19985,"name":"Ryosuke Mizuno","email":"r-mizuno@rs.jp.nec.com","username":"r-mizuno"},"change_message_id":"3d642f14f625a94cdfb352cb871e4167aaabe836","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"from keystone.common.validation import parameter_types"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"_domain_properties \u003d {"},{"line_number":17,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":18,"context_line":"    \u0027properties\u0027: {"}],"source_content_type":"text/x-python","patch_set":7,"id":"7aa08908_ea1df5be","line":15,"in_reply_to":"7aa08908_336b0320","updated":"2016-06-14 00:36:39.000000000","message":"There are the some unnecessary attributes, and not contain the necessary attributes.\nthe purpose is different, so I think that it is not suitable for auth schema.","commit_id":"6328df68383ceb68bbbc598b6dc1e2a05d858b44"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"211fc3b2a89f162c36afc70accf46c451de3bb42","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"from keystone.common.validation import parameter_types"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"_domain_properties \u003d {"},{"line_number":17,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":18,"context_line":"    \u0027properties\u0027: {"}],"source_content_type":"text/x-python","patch_set":7,"id":"7aa08908_fd84acd3","line":15,"in_reply_to":"7aa08908_5dab4e75","updated":"2016-06-13 19:06:43.000000000","message":"I\u0027m not sure about this. I\u0027d actually like to see the schema here be more context sensitive to what we expect for this call.","commit_id":"6328df68383ceb68bbbc598b6dc1e2a05d858b44"},{"author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"change_message_id":"a01ac0c03d0177604104d1a9f5824ad84e7b4df2","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"from keystone.common.validation import parameter_types"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"_domain_properties \u003d {"},{"line_number":17,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":18,"context_line":"    \u0027properties\u0027: {"}],"source_content_type":"text/x-python","patch_set":7,"id":"7aa08908_336b0320","line":15,"in_reply_to":"7aa08908_fd84acd3","updated":"2016-06-13 19:50:42.000000000","message":"+1, those schemas are intended for different purposes, so they might differ in some ways","commit_id":"6328df68383ceb68bbbc598b6dc1e2a05d858b44"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"f64709cb19b8562ea69e786c645e59c4c2d60564","unresolved":false,"context_lines":[{"line_number":21,"context_line":"    }"},{"line_number":22,"context_line":"}"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"_project_properties \u003d {"},{"line_number":25,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":26,"context_line":"    \u0027properties\u0027: {"},{"line_number":27,"context_line":"        \u0027name\u0027: parameter_types.name,"}],"source_content_type":"text/x-python","patch_set":7,"id":"7aa08908_653b0cd2","line":24,"updated":"2016-06-13 14:57:43.000000000","message":"Does this break if we reuse a schema from keystone/resource/schema.py? There are some additional attributes included in that schema, but if we could use a singe `_project_properties` schema instead of two, it would be less code to maintain in the long term.\n\nMaybe we are getting to the point where the `*_properties` dictionaries need to be in a more common place if we plan on reusing them.","commit_id":"6328df68383ceb68bbbc598b6dc1e2a05d858b44"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"211fc3b2a89f162c36afc70accf46c451de3bb42","unresolved":false,"context_lines":[{"line_number":21,"context_line":"    }"},{"line_number":22,"context_line":"}"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"_project_properties \u003d {"},{"line_number":25,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":26,"context_line":"    \u0027properties\u0027: {"},{"line_number":27,"context_line":"        \u0027name\u0027: parameter_types.name,"}],"source_content_type":"text/x-python","patch_set":7,"id":"7aa08908_1dced82c","line":24,"in_reply_to":"7aa08908_653b0cd2","updated":"2016-06-13 19:06:43.000000000","message":"See my comment above","commit_id":"6328df68383ceb68bbbc598b6dc1e2a05d858b44"}],"keystone/tests/unit/test_v3_auth.py":[{"author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"change_message_id":"7548663b37e6f200c9433ceb8bea9267f1f8bf9e","unresolved":false,"context_lines":[{"line_number":127,"context_line":"        auth_data[\u0027scope\u0027][\u0027domain\u0027] \u003d []"},{"line_number":128,"context_line":"        self.assertRaises(exception.ValidationError,"},{"line_number":129,"context_line":"                          auth.controllers.AuthInfo.create,"},{"line_number":130,"context_line":"                          None,"},{"line_number":131,"context_line":"                          auth_data)"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"    def test_empty_project_in_scope(self):"}],"source_content_type":"text/x-python","patch_set":4,"id":"7aa08908_d356e304","side":"PARENT","line":130,"range":{"start_line":130,"start_character":26,"end_line":130,"end_character":30},"updated":"2016-06-08 13:59:38.000000000","message":"why did you change this? AuthInfo.create() should still fail, since you are not modifying it. Think you can remove all the \"manual\" validations in another patchset.","commit_id":"fe3b4c0f653318b7262423386c169a5d650ce08d"},{"author":{"_account_id":19985,"name":"Ryosuke Mizuno","email":"r-mizuno@rs.jp.nec.com","username":"r-mizuno"},"change_message_id":"99aea1a853613183069a1545dc1dac6cc245e6f3","unresolved":false,"context_lines":[{"line_number":127,"context_line":"        auth_data[\u0027scope\u0027][\u0027domain\u0027] \u003d []"},{"line_number":128,"context_line":"        self.assertRaises(exception.ValidationError,"},{"line_number":129,"context_line":"                          auth.controllers.AuthInfo.create,"},{"line_number":130,"context_line":"                          None,"},{"line_number":131,"context_line":"                          auth_data)"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"    def test_empty_project_in_scope(self):"}],"source_content_type":"text/x-python","patch_set":4,"id":"7aa08908_4f28589a","side":"PARENT","line":130,"range":{"start_line":130,"start_character":26,"end_line":130,"end_character":30},"in_reply_to":"7aa08908_d356e304","updated":"2016-06-09 07:31:21.000000000","message":"Validate using a jsonschema had not been performed in AuthInfo.create().\nBecause validated decorator had been set to authenticate_for_token.\nSo, i move decorator to AuthInfo.create() and fix a tests.","commit_id":"fe3b4c0f653318b7262423386c169a5d650ce08d"},{"author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"change_message_id":"7548663b37e6f200c9433ceb8bea9267f1f8bf9e","unresolved":false,"context_lines":[{"line_number":146,"context_line":"                          {\u0027environment\u0027: {},"},{"line_number":147,"context_line":"                           \u0027query_string\u0027: {}}, auth_data)"},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"    def test_empty_domain_in_identity(self):"},{"line_number":150,"context_line":"        path \u003d \u0027/domains/%s/users/%s/roles/%s\u0027 % ("},{"line_number":151,"context_line":"            self.domain[\u0027id\u0027], self.user[\u0027id\u0027], self.role[\u0027id\u0027])"},{"line_number":152,"context_line":"        self.put(path\u003dpath)"}],"source_content_type":"text/x-python","patch_set":4,"id":"7aa08908_13eb4be0","line":149,"range":{"start_line":149,"start_character":8,"end_line":149,"end_character":37},"updated":"2016-06-08 13:59:38.000000000","message":"should have a similar test for projects","commit_id":"1d52f89fb3f6cad4f5bb6078908ffeaf5c5c0f21"},{"author":{"_account_id":19985,"name":"Ryosuke Mizuno","email":"r-mizuno@rs.jp.nec.com","username":"r-mizuno"},"change_message_id":"99aea1a853613183069a1545dc1dac6cc245e6f3","unresolved":false,"context_lines":[{"line_number":146,"context_line":"                          {\u0027environment\u0027: {},"},{"line_number":147,"context_line":"                           \u0027query_string\u0027: {}}, auth_data)"},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"    def test_empty_domain_in_identity(self):"},{"line_number":150,"context_line":"        path \u003d \u0027/domains/%s/users/%s/roles/%s\u0027 % ("},{"line_number":151,"context_line":"            self.domain[\u0027id\u0027], self.user[\u0027id\u0027], self.role[\u0027id\u0027])"},{"line_number":152,"context_line":"        self.put(path\u003dpath)"}],"source_content_type":"text/x-python","patch_set":4,"id":"7aa08908_b22b2381","line":149,"range":{"start_line":149,"start_character":8,"end_line":149,"end_character":37},"in_reply_to":"7aa08908_13eb4be0","updated":"2016-06-09 07:31:21.000000000","message":"Can project set in auth[\u0027identity\u0027][\u0027password\u0027][\u0027user\u0027]?\nI recognized that is only id, name, password, and domain. i think the test about projects is unnecessary.","commit_id":"1d52f89fb3f6cad4f5bb6078908ffeaf5c5c0f21"},{"author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"change_message_id":"7548663b37e6f200c9433ceb8bea9267f1f8bf9e","unresolved":false,"context_lines":[{"line_number":161,"context_line":"        self.auth_v3_controller \u003d auth.controllers.Auth()"},{"line_number":162,"context_line":"        self.assertRaises(exception.ValidationError,"},{"line_number":163,"context_line":"                          self.auth_v3_controller.authenticate_for_token,"},{"line_number":164,"context_line":"                          {\u0027environment\u0027: {},"},{"line_number":165,"context_line":"                           \u0027query_string\u0027: {}}, auth_data)"},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"    def test_empty_user_in_identity(self):"},{"line_number":168,"context_line":"        auth_data \u003d self.build_authentication_request("}],"source_content_type":"text/x-python","patch_set":4,"id":"7aa08908_f3cf9f53","line":165,"range":{"start_line":164,"start_character":26,"end_line":165,"end_character":46},"updated":"2016-06-08 13:59:38.000000000","message":"think would be better to read if this is in the same line, since it is the same param. Even better if it could be a variable assigned before.","commit_id":"1d52f89fb3f6cad4f5bb6078908ffeaf5c5c0f21"},{"author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"change_message_id":"fa51b8adfda3ae6f58b4e072e31db563b03df4a7","unresolved":false,"context_lines":[{"line_number":147,"context_line":"                          auth.controllers.AuthInfo.create,"},{"line_number":148,"context_line":"                          None,"},{"line_number":149,"context_line":"                          auth_data)"},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"    def test_empty_domain_in_scope(self):"},{"line_number":152,"context_line":"        auth_data \u003d self.build_authentication_request("},{"line_number":153,"context_line":"            user_id\u003dself.user[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":6,"id":"7aa08908_2d7026dc","line":150,"updated":"2016-06-10 11:49:48.000000000","message":"undo the changes in _lookup_project and _lookup_domain and keep this tests above as they are","commit_id":"0c0edbc4d984e7460ad4999f59a6b8a373b61aa7"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"f64709cb19b8562ea69e786c645e59c4c2d60564","unresolved":false,"context_lines":[{"line_number":124,"context_line":""},{"line_number":125,"context_line":"    def test_empty_domain_in_scope_not_using_jsonschema(self):"},{"line_number":126,"context_line":"        # Even if jsonschema is not used, make sure that the validation"},{"line_number":127,"context_line":"        # error is detected when auth[\u0027scope\u0027][\u0027domain\u0027] is not dict."},{"line_number":128,"context_line":"        auth_data \u003d self.build_authentication_request("},{"line_number":129,"context_line":"            user_id\u003d\u0027test\u0027,"},{"line_number":130,"context_line":"            password\u003d\u0027test\u0027,"}],"source_content_type":"text/x-python","patch_set":7,"id":"7aa08908_226a9aed","line":127,"updated":"2016-06-13 14:57:43.000000000","message":"When would jsonschema not be used to validate an auth request? If we have jsonschema available for validating things - shouldn\u0027t we always be using it?","commit_id":"6328df68383ceb68bbbc598b6dc1e2a05d858b44"},{"author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"change_message_id":"a01ac0c03d0177604104d1a9f5824ad84e7b4df2","unresolved":false,"context_lines":[{"line_number":124,"context_line":""},{"line_number":125,"context_line":"    def test_empty_domain_in_scope_not_using_jsonschema(self):"},{"line_number":126,"context_line":"        # Even if jsonschema is not used, make sure that the validation"},{"line_number":127,"context_line":"        # error is detected when auth[\u0027scope\u0027][\u0027domain\u0027] is not dict."},{"line_number":128,"context_line":"        auth_data \u003d self.build_authentication_request("},{"line_number":129,"context_line":"            user_id\u003d\u0027test\u0027,"},{"line_number":130,"context_line":"            password\u003d\u0027test\u0027,"}],"source_content_type":"text/x-python","patch_set":7,"id":"7aa08908_d379dffd","line":127,"in_reply_to":"7aa08908_226a9aed","updated":"2016-06-13 19:50:42.000000000","message":"++\n\nthis is the old behavior, suggested to remove those manual checks in a follow up patch so we don\u0027t mess stuff in this change.","commit_id":"6328df68383ceb68bbbc598b6dc1e2a05d858b44"},{"author":{"_account_id":19985,"name":"Ryosuke Mizuno","email":"r-mizuno@rs.jp.nec.com","username":"r-mizuno"},"change_message_id":"3d642f14f625a94cdfb352cb871e4167aaabe836","unresolved":false,"context_lines":[{"line_number":124,"context_line":""},{"line_number":125,"context_line":"    def test_empty_domain_in_scope_not_using_jsonschema(self):"},{"line_number":126,"context_line":"        # Even if jsonschema is not used, make sure that the validation"},{"line_number":127,"context_line":"        # error is detected when auth[\u0027scope\u0027][\u0027domain\u0027] is not dict."},{"line_number":128,"context_line":"        auth_data \u003d self.build_authentication_request("},{"line_number":129,"context_line":"            user_id\u003d\u0027test\u0027,"},{"line_number":130,"context_line":"            password\u003d\u0027test\u0027,"}],"source_content_type":"text/x-python","patch_set":7,"id":"7aa08908_aa03ed40","line":127,"in_reply_to":"7aa08908_d379dffd","updated":"2016-06-14 00:36:39.000000000","message":"I will remove this tests in follow-up patch.","commit_id":"6328df68383ceb68bbbc598b6dc1e2a05d858b44"}]}
