)]}'
{"tempest/api/identity/admin/v3/test_users_negative.py":[{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"1642f6aea9434888d8be27674b957b023410acbd","unresolved":false,"context_lines":[{"line_number":44,"context_line":"                          username\u003dself.data.test_user,"},{"line_number":45,"context_line":"                          password\u003dself.data.test_password,"},{"line_number":46,"context_line":"                          user_domain_id\u003d\u0027default\u0027)"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"    @test.idempotent_id(\u00277be9272a-3e5d-4b54-a851-747358dbafac\u0027)"},{"line_number":49,"context_line":"    def test_authentication_with_incorrect_password(self):"},{"line_number":50,"context_line":"        # Attempt to authenticate with incorrect password should fail"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a740942_60b24808","line":47,"updated":"2015-12-07 17:15:59.000000000","message":"@test.attr(type\u003d[\u0027negative\u0027]) is needed.","commit_id":"afd9a0ce10ad6b30033014574cfd65c4eaa59856"},{"author":{"_account_id":16425,"name":"Bin Bin Cong","email":"binbin.cong@easystack.cn","username":"stephen_cong"},"change_message_id":"81b704d089ff648cd34bb6ba7426f1a83eb19a9a","unresolved":false,"context_lines":[{"line_number":44,"context_line":"                          username\u003dself.data.test_user,"},{"line_number":45,"context_line":"                          password\u003dself.data.test_password,"},{"line_number":46,"context_line":"                          user_domain_id\u003d\u0027default\u0027)"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"    @test.idempotent_id(\u00277be9272a-3e5d-4b54-a851-747358dbafac\u0027)"},{"line_number":49,"context_line":"    def test_authentication_with_incorrect_password(self):"},{"line_number":50,"context_line":"        # Attempt to authenticate with incorrect password should fail"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a740942_9f38e0ef","line":47,"in_reply_to":"7a740942_60b24808","updated":"2015-12-08 02:42:14.000000000","message":"Missed this during rebase, thanks :)","commit_id":"afd9a0ce10ad6b30033014574cfd65c4eaa59856"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"76ded6ab2587298e4f5d179a5245cd401f2ec010","unresolved":false,"context_lines":[{"line_number":49,"context_line":"    @test.idempotent_id(\u00277be9272a-3e5d-4b54-a851-747358dbafac\u0027)"},{"line_number":50,"context_line":"    def test_authentication_with_incorrect_password(self):"},{"line_number":51,"context_line":"        # Attempt to authenticate with incorrect password should fail"},{"line_number":52,"context_line":"        self.data.setup_test_v3_user()"},{"line_number":53,"context_line":"        self.assertRaises(lib_exc.Unauthorized, self.token.auth,"},{"line_number":54,"context_line":"                          username\u003dself.data.test_user,"},{"line_number":55,"context_line":"                          password\u003ddata_utils.rand_uuid_hex(),"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a57f1b5_5ec0802a","line":52,"updated":"2016-02-11 04:29:33.000000000","message":"Now there is no setup_test_v3_user(). We have setup_test_user() instead. Please update your patch. It causes failures in Jenkins checks.","commit_id":"811b3c8d394ee7762d56e0b72a58004a5da45795"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"2bcdb3127310d62ba1525f052d16cad868be5409","unresolved":false,"context_lines":[{"line_number":51,"context_line":"        self.data.setup_test_user()"},{"line_number":52,"context_line":"        self.assertRaises(lib_exc.Unauthorized, self.token.auth,"},{"line_number":53,"context_line":"                          username\u003dself.data.user[\u0027name\u0027],"},{"line_number":54,"context_line":"                          password\u003ddata_utils.rand_uuid_hex(),"},{"line_number":55,"context_line":"                          user_domain_id\u003d\u0027default\u0027)"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"    @test.attr(type\u003d[\u0027negative\u0027])"}],"source_content_type":"text/x-python","patch_set":6,"id":"3afc51ec_4c2c6bab","line":54,"range":{"start_line":54,"start_character":46,"end_line":54,"end_character":59},"updated":"2016-03-14 16:12:56.000000000","message":"We have the dedicated method data_utils.rand_password() for this.","commit_id":"6e56f0acf61e0206000e5a64db62803e78c37703"},{"author":{"_account_id":16425,"name":"Bin Bin Cong","email":"binbin.cong@easystack.cn","username":"stephen_cong"},"change_message_id":"f78d16f13e2af1ed688420e8f293e861828d2652","unresolved":false,"context_lines":[{"line_number":51,"context_line":"        self.data.setup_test_user()"},{"line_number":52,"context_line":"        self.assertRaises(lib_exc.Unauthorized, self.token.auth,"},{"line_number":53,"context_line":"                          username\u003dself.data.user[\u0027name\u0027],"},{"line_number":54,"context_line":"                          password\u003ddata_utils.rand_uuid_hex(),"},{"line_number":55,"context_line":"                          user_domain_id\u003d\u0027default\u0027)"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"    @test.attr(type\u003d[\u0027negative\u0027])"}],"source_content_type":"text/x-python","patch_set":6,"id":"3afc51ec_16e1b3d0","line":54,"range":{"start_line":54,"start_character":46,"end_line":54,"end_character":59},"in_reply_to":"3afc51ec_4c2c6bab","updated":"2016-03-15 03:53:08.000000000","message":"Done","commit_id":"6e56f0acf61e0206000e5a64db62803e78c37703"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"bd66f492b6015b8936429f78e894f437e04586b1","unresolved":false,"context_lines":[{"line_number":69,"context_line":"    def test_authentication_with_non_exist_project(self):"},{"line_number":70,"context_line":"        # Attempt to authenticate with non exist project should fail"},{"line_number":71,"context_line":"        self.data.setup_test_user()"},{"line_number":72,"context_line":"        role \u003d self.get_role_by_name(\u0027Member\u0027)"},{"line_number":73,"context_line":"        self.roles_client.assign_user_role_on_project(self.data.project[\u0027id\u0027],"},{"line_number":74,"context_line":"                                                      self.data.user[\u0027id\u0027],"},{"line_number":75,"context_line":"                                                      role[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":7,"id":"1af94dfe_132c9249","line":72,"updated":"2016-03-15 16:00:10.000000000","message":"Do we really need L72-73 here? It looks like they can be removed.","commit_id":"d9e1800fcf91caecae7112eae9a44181d11d4d94"}]}
