)]}'
{"tempest/api/identity/admin/v3/test_users.py":[{"author":{"_account_id":8085,"name":"anju Tiwari","email":"anjutiwari5@gmail.com","username":"Anju"},"change_message_id":"c21c522a0e31ca3417da4adcdd61159954bae9b4","unresolved":false,"context_lines":[{"line_number":89,"context_line":"                          u_password3, u_password1)"},{"line_number":90,"context_line":"        resp \u003d self.client.update_user_password(user[\u0027id\u0027], u_password3,"},{"line_number":91,"context_line":"                                                u_password2)"},{"line_number":92,"context_line":"        self.assertEqual(204, resp.status)"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"    @attr(type\u003d\u0027gate\u0027)"},{"line_number":95,"context_line":"    def test_list_user_projects(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"9ad9bd40_755dde46","line":92,"updated":"2014-05-06 07:27:50.000000000","message":"I think there is no need to update the password again Line(90-91) . This have been checked in the line 81.","commit_id":"0273a0d820ac2d5d6a2ed97861e6aab43b1ae69d"},{"author":{"_account_id":2238,"name":"rajalakshmi-ganesan","email":"rajalakshmi.girish@hpe.com","username":"rajalakshmi-ganesan"},"change_message_id":"67132046c7d299d6fd007c8198c033e7df6f9605","unresolved":false,"context_lines":[{"line_number":89,"context_line":"                          u_password3, u_password1)"},{"line_number":90,"context_line":"        resp \u003d self.client.update_user_password(user[\u0027id\u0027], u_password3,"},{"line_number":91,"context_line":"                                                u_password2)"},{"line_number":92,"context_line":"        self.assertEqual(204, resp.status)"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"    @attr(type\u003d\u0027gate\u0027)"},{"line_number":95,"context_line":"    def test_list_user_projects(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"9ad9bd40_96c6e866","line":92,"in_reply_to":"9ad9bd40_755dde46","updated":"2014-05-06 09:37:45.000000000","message":"Hi Tiwari,\n\nThe update password is being done second time to ensure that \"u_password2\" is actually being updated in place of \"u_password1\". \n\nThough response status is checked as 204 in the first call, (line 90-91) as there is no response body to verify if the new password is updated, here a call is being sent second time with original password as u_password2 to double check if password is updated.\n\nA comment is added in the next patch giving explanation why the second call for update_user_password.\n\nThanks,\nRajalakshmi Ganesan","commit_id":"0273a0d820ac2d5d6a2ed97861e6aab43b1ae69d"},{"author":{"_account_id":8085,"name":"anju Tiwari","email":"anjutiwari5@gmail.com","username":"Anju"},"change_message_id":"e0629ee74fa5cd21e3b13041f59b6b2b41a95021","unresolved":false,"context_lines":[{"line_number":89,"context_line":"                          u_password3, u_password1)"},{"line_number":90,"context_line":"        resp \u003d self.client.update_user_password(user[\u0027id\u0027], u_password3,"},{"line_number":91,"context_line":"                                                u_password2)"},{"line_number":92,"context_line":"        self.assertEqual(204, resp.status)"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"    @attr(type\u003d\u0027gate\u0027)"},{"line_number":95,"context_line":"    def test_list_user_projects(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_2ba2eafc","line":92,"in_reply_to":"9ad9bd40_96c6e866","updated":"2014-07-07 04:51:37.000000000","message":"Thank you","commit_id":"0273a0d820ac2d5d6a2ed97861e6aab43b1ae69d"},{"author":{"_account_id":6796,"name":"Giulio Fidente","email":"gfidente@redhat.com","username":"gfidente"},"change_message_id":"43f4b5738fb89038df51b4b0240624fe7ef0f37d","unresolved":false,"context_lines":[{"line_number":84,"context_line":"        # Third Password for verification"},{"line_number":85,"context_line":"        u_password3 \u003d data_utils.rand_name(\u0027pass3-\u0027)"},{"line_number":86,"context_line":"        # Must raise unauthorised with old password as original password"},{"line_number":87,"context_line":"        self.assertRaises(exceptions.Unauthorized,"},{"line_number":88,"context_line":"                          self.client.update_user_password, user[\u0027id\u0027],"},{"line_number":89,"context_line":"                          u_password3, u_password1)"},{"line_number":90,"context_line":"        # Initially u_password1 was original password, but after updation,"}],"source_content_type":"text/x-python","patch_set":4,"id":"7adec928_3648ba86","line":87,"updated":"2014-05-16 10:19:54.000000000","message":"I think both this and next action are basically checking for the same thing (password correctly updated) so please drop this one so we don\u0027t need to import exceptions and assert against it","commit_id":"375ed983f746c08b59dd2fc216bd8726394e28e4"},{"author":{"_account_id":2238,"name":"rajalakshmi-ganesan","email":"rajalakshmi.girish@hpe.com","username":"rajalakshmi-ganesan"},"change_message_id":"3b6c153e2608bcc533d4b64f5a14c62896975945","unresolved":false,"context_lines":[{"line_number":84,"context_line":"        # Third Password for verification"},{"line_number":85,"context_line":"        u_password3 \u003d data_utils.rand_name(\u0027pass3-\u0027)"},{"line_number":86,"context_line":"        # Must raise unauthorised with old password as original password"},{"line_number":87,"context_line":"        self.assertRaises(exceptions.Unauthorized,"},{"line_number":88,"context_line":"                          self.client.update_user_password, user[\u0027id\u0027],"},{"line_number":89,"context_line":"                          u_password3, u_password1)"},{"line_number":90,"context_line":"        # Initially u_password1 was original password, but after updation,"}],"source_content_type":"text/x-python","patch_set":4,"id":"1ae5cdf2_1103dc42","line":87,"in_reply_to":"1ae5cdf2_f464fa4a","updated":"2014-06-11 05:59:00.000000000","message":"Done","commit_id":"375ed983f746c08b59dd2fc216bd8726394e28e4"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"7a0ca395a0493f3b65354cb4fb78208b14e3e176","unresolved":false,"context_lines":[{"line_number":84,"context_line":"        # Third Password for verification"},{"line_number":85,"context_line":"        u_password3 \u003d data_utils.rand_name(\u0027pass3-\u0027)"},{"line_number":86,"context_line":"        # Must raise unauthorised with old password as original password"},{"line_number":87,"context_line":"        self.assertRaises(exceptions.Unauthorized,"},{"line_number":88,"context_line":"                          self.client.update_user_password, user[\u0027id\u0027],"},{"line_number":89,"context_line":"                          u_password3, u_password1)"},{"line_number":90,"context_line":"        # Initially u_password1 was original password, but after updation,"}],"source_content_type":"text/x-python","patch_set":4,"id":"1ae5cdf2_f464fa4a","line":87,"in_reply_to":"7adec928_0f851c06","updated":"2014-06-09 08:00:34.000000000","message":"Agree with Giulio to drop this.\nThis is negative testing and should not be merged in positive tests. Negative tests are being covered separately","commit_id":"375ed983f746c08b59dd2fc216bd8726394e28e4"},{"author":{"_account_id":2238,"name":"rajalakshmi-ganesan","email":"rajalakshmi.girish@hpe.com","username":"rajalakshmi-ganesan"},"change_message_id":"9dea86b197ddac7dc92525862d4d939df037754a","unresolved":false,"context_lines":[{"line_number":84,"context_line":"        # Third Password for verification"},{"line_number":85,"context_line":"        u_password3 \u003d data_utils.rand_name(\u0027pass3-\u0027)"},{"line_number":86,"context_line":"        # Must raise unauthorised with old password as original password"},{"line_number":87,"context_line":"        self.assertRaises(exceptions.Unauthorized,"},{"line_number":88,"context_line":"                          self.client.update_user_password, user[\u0027id\u0027],"},{"line_number":89,"context_line":"                          u_password3, u_password1)"},{"line_number":90,"context_line":"        # Initially u_password1 was original password, but after updation,"}],"source_content_type":"text/x-python","patch_set":4,"id":"7adec928_0f851c06","line":87,"in_reply_to":"7adec928_3648ba86","updated":"2014-05-19 12:50:11.000000000","message":"Hi Fidente,\n\nThough the both actions appear to check the same thing, in the first action, we are assuring that \"unauthorized\" exception is raised when updated with old password as original password. (There are chances of other irrelevant exceptions being raised instead of unauthorised exception).\n\nWhere as in the second action, we are checking if the password update is being successful with new password as the original password.\n\nPlease correct me if I am wrong.\n\nRegards,\nRajalakshmi Ganesan","commit_id":"375ed983f746c08b59dd2fc216bd8726394e28e4"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"39771e761cd740d06ce5398c6afa8e9939406adf","unresolved":false,"context_lines":[{"line_number":72,"context_line":"        u_name \u003d data_utils.rand_name(\u0027user-\u0027)"},{"line_number":73,"context_line":"        u_password1 \u003d data_utils.rand_name(\u0027pass1-\u0027)"},{"line_number":74,"context_line":"        _, user \u003d self.client.create_user("},{"line_number":75,"context_line":"            u_name, password\u003du_password1, enabled\u003dFalse)"},{"line_number":76,"context_line":"        # Delete the User at the end all test methods"},{"line_number":77,"context_line":"        self.addCleanup(self.client.delete_user, user[\u0027id\u0027])"},{"line_number":78,"context_line":"        # Update user with new password"}],"source_content_type":"text/x-python","patch_set":5,"id":"1ae5cdf2_11f46f59","line":75,"updated":"2014-06-13 02:21:43.000000000","message":"Why don\u0027t you check the response code of the user creation?\nIf the creation will be failed, I think this test should be failed here.","commit_id":"092ac4c0f33be79497c2a87cafb7ea8f65fea085"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"bb6f7468a9db91bf880cf53687b1d2a06c84d32e","unresolved":false,"context_lines":[{"line_number":75,"context_line":"            u_name, password\u003du_password1, enabled\u003dFalse)"},{"line_number":76,"context_line":"        # Delete the User at the end all test methods"},{"line_number":77,"context_line":"        self.addCleanup(self.client.delete_user, user[\u0027id\u0027])"},{"line_number":78,"context_line":"        self.assertEqual(201, resp.status)"},{"line_number":79,"context_line":"        # Update user with new password"},{"line_number":80,"context_line":"        u_password2 \u003d data_utils.rand_name(\u0027pass2-\u0027)"},{"line_number":81,"context_line":"        resp \u003d self.client.update_user_password(user[\u0027id\u0027], u_password2,"}],"source_content_type":"text/x-python","patch_set":6,"id":"1ae5cdf2_8ca9a526","line":78,"updated":"2014-06-18 03:51:35.000000000","message":"IMO, resp check should be added before addcleanup. Checking of resp code with 201  make sure that user has been created so it should be add for cleanup. Otherwise we end up deleting the non created user","commit_id":"14e2b1c37189b196019e15307da35e368702b9f8"},{"author":{"_account_id":6455,"name":"Harika Vakadi","email":"harika_vakadi@persistent.co.in","username":"harika-vakadi"},"change_message_id":"1fb065b94287eb9ba800b4810970b64a2708393d","unresolved":false,"context_lines":[{"line_number":75,"context_line":"            u_name, password\u003du_password1, enabled\u003dFalse)"},{"line_number":76,"context_line":"        # Delete the User at the end all test methods"},{"line_number":77,"context_line":"        self.addCleanup(self.client.delete_user, user[\u0027id\u0027])"},{"line_number":78,"context_line":"        self.assertEqual(201, resp.status)"},{"line_number":79,"context_line":"        # Update user with new password"},{"line_number":80,"context_line":"        u_password2 \u003d data_utils.rand_name(\u0027pass2-\u0027)"},{"line_number":81,"context_line":"        resp \u003d self.client.update_user_password(user[\u0027id\u0027], u_password2,"}],"source_content_type":"text/x-python","patch_set":6,"id":"1ae5cdf2_eef4cff2","line":78,"in_reply_to":"1ae5cdf2_8ca9a526","updated":"2014-06-19 10:49:22.000000000","message":"Hi Ghanshyam,\n\nActually, few scripts have addCleanup statement before any assert statement. And few scripts have after the assert statements.\n\nFor eg:\ntempest/tempest/api/identity/admin/v3/test_roles.py in line 79, the addCleanup statement is before assert statement.\n\ntempest/tempest/api/identity/admin/v3/test_policies.py in line 55, the addcleanup statement is before assert statement\n\n\ntempest/tempest/api/identity/admin/v3/test_regions.py in line 54, the addCleanup statement is after the assert statement.\n\nEarlier we have received feedback regarding the same, saying; use addCleanup  function after asserting the response code of create method. And also received a feedback saying; call addCleanup function before doing an assert of response code. If there is a change in response code(400 or 500) with successful creation of resource, then the test fails without doing clean up, as the addCleanup function is below the assert statement. Hence we have planned to call addCleanup before assert statement.\n\n\nRegards,\nHarika","commit_id":"14e2b1c37189b196019e15307da35e368702b9f8"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"768d58ae726837806da2e71ba6860c64bb3a1888","unresolved":false,"context_lines":[{"line_number":75,"context_line":"            u_name, password\u003du_password1, enabled\u003dFalse)"},{"line_number":76,"context_line":"        # Delete the User at the end all test methods"},{"line_number":77,"context_line":"        self.addCleanup(self.client.delete_user, user[\u0027id\u0027])"},{"line_number":78,"context_line":"        self.assertEqual(201, resp.status)"},{"line_number":79,"context_line":"        # Update user with new password"},{"line_number":80,"context_line":"        u_password2 \u003d data_utils.rand_name(\u0027pass2-\u0027)"},{"line_number":81,"context_line":"        resp \u003d self.client.update_user_password(user[\u0027id\u0027], u_password2,"}],"source_content_type":"text/x-python","patch_set":6,"id":"1ae5cdf2_9b6ede94","line":78,"in_reply_to":"1ae5cdf2_eef4cff2","updated":"2014-06-20 08:31:42.000000000","message":"I agree there are inconsistency in tests cases about the calling it before status code check or after. \n\nBut IMO- according to standard API implementation, If error status is returned then, it clearly means *request is not fulfilled*. \nReturning the error status with fulfilling the request is conflict. If that happens in production environment then, its can lead confusion on user side (resource leakage too).\n\nCan you please mention if you found any such case? \nIf there is any then, IMO it should be bug on API implementation.","commit_id":"14e2b1c37189b196019e15307da35e368702b9f8"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"a9f916d31e29d4377dc3f5c44b6c2c17aabf5a99","unresolved":false,"context_lines":[{"line_number":79,"context_line":"        # Update user with new password"},{"line_number":80,"context_line":"        u_password2 \u003d data_utils.rand_name(\u0027pass2-\u0027)"},{"line_number":81,"context_line":"        resp \u003d self.client.update_user_password(user[\u0027id\u0027], u_password2,"},{"line_number":82,"context_line":"                                                u_password1)"},{"line_number":83,"context_line":"        self.assertEqual(204, resp.status)"},{"line_number":84,"context_line":"        # Third Password for verification"},{"line_number":85,"context_line":"        u_password3 \u003d data_utils.rand_name(\u0027pass3-\u0027)"}],"source_content_type":"text/x-python","patch_set":8,"id":"baada198_2a976fed","line":82,"updated":"2014-07-04 03:25:30.000000000","message":"I think it\u0027s difficult to understand that which is the new or original password from this code.\nAnd, I think the names of u_password[12] are not good to understand the meanings.\nSo how about like this?\n\n resp \u003d self.client.update_user_password(user[\u0027id\u0027],\n      password\u003dnew_password, original_password\u003doriginal_password)","commit_id":"530712330958c0efbbe13cfc0fdf748eaab522b2"},{"author":{"_account_id":2238,"name":"rajalakshmi-ganesan","email":"rajalakshmi.girish@hpe.com","username":"rajalakshmi-ganesan"},"change_message_id":"91c2a318a456da3d4db92ab11c22c62c99061dbc","unresolved":false,"context_lines":[{"line_number":79,"context_line":"        # Update user with new password"},{"line_number":80,"context_line":"        u_password2 \u003d data_utils.rand_name(\u0027pass2-\u0027)"},{"line_number":81,"context_line":"        resp \u003d self.client.update_user_password(user[\u0027id\u0027], u_password2,"},{"line_number":82,"context_line":"                                                u_password1)"},{"line_number":83,"context_line":"        self.assertEqual(204, resp.status)"},{"line_number":84,"context_line":"        # Third Password for verification"},{"line_number":85,"context_line":"        u_password3 \u003d data_utils.rand_name(\u0027pass3-\u0027)"}],"source_content_type":"text/x-python","patch_set":8,"id":"baada198_1f53b96b","line":82,"in_reply_to":"baada198_2a976fed","updated":"2014-07-04 14:21:57.000000000","message":"Done\n\nThe naming convention has been changed based on your comment. Please check patch set-9.","commit_id":"530712330958c0efbbe13cfc0fdf748eaab522b2"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"a9f916d31e29d4377dc3f5c44b6c2c17aabf5a99","unresolved":false,"context_lines":[{"line_number":80,"context_line":"        u_password2 \u003d data_utils.rand_name(\u0027pass2-\u0027)"},{"line_number":81,"context_line":"        resp \u003d self.client.update_user_password(user[\u0027id\u0027], u_password2,"},{"line_number":82,"context_line":"                                                u_password1)"},{"line_number":83,"context_line":"        self.assertEqual(204, resp.status)"},{"line_number":84,"context_line":"        # Third Password for verification"},{"line_number":85,"context_line":"        u_password3 \u003d data_utils.rand_name(\u0027pass3-\u0027)"},{"line_number":86,"context_line":"        # Initially u_password1 was original password, but after updation,"}],"source_content_type":"text/x-python","patch_set":8,"id":"baada198_ed48315e","line":83,"updated":"2014-07-04 03:25:30.000000000","message":"Can we get and check the updated password here?","commit_id":"530712330958c0efbbe13cfc0fdf748eaab522b2"},{"author":{"_account_id":2238,"name":"rajalakshmi-ganesan","email":"rajalakshmi.girish@hpe.com","username":"rajalakshmi-ganesan"},"change_message_id":"91c2a318a456da3d4db92ab11c22c62c99061dbc","unresolved":false,"context_lines":[{"line_number":80,"context_line":"        u_password2 \u003d data_utils.rand_name(\u0027pass2-\u0027)"},{"line_number":81,"context_line":"        resp \u003d self.client.update_user_password(user[\u0027id\u0027], u_password2,"},{"line_number":82,"context_line":"                                                u_password1)"},{"line_number":83,"context_line":"        self.assertEqual(204, resp.status)"},{"line_number":84,"context_line":"        # Third Password for verification"},{"line_number":85,"context_line":"        u_password3 \u003d data_utils.rand_name(\u0027pass3-\u0027)"},{"line_number":86,"context_line":"        # Initially u_password1 was original password, but after updation,"}],"source_content_type":"text/x-python","patch_set":8,"id":"baada198_bf6badef","line":83,"in_reply_to":"baada198_ed48315e","updated":"2014-07-04 14:21:57.000000000","message":"The password does not appear in the get call of user. Thus the following logic was implemented to verify if the password was updated.","commit_id":"530712330958c0efbbe13cfc0fdf748eaab522b2"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"a9f916d31e29d4377dc3f5c44b6c2c17aabf5a99","unresolved":false,"context_lines":[{"line_number":85,"context_line":"        u_password3 \u003d data_utils.rand_name(\u0027pass3-\u0027)"},{"line_number":86,"context_line":"        # Initially u_password1 was original password, but after updation,"},{"line_number":87,"context_line":"        # now u_password2 should be accepted as original password."},{"line_number":88,"context_line":"        resp \u003d self.client.update_user_password(user[\u0027id\u0027], u_password3,"},{"line_number":89,"context_line":"                                                u_password2)"},{"line_number":90,"context_line":"        self.assertEqual(204, resp.status)"},{"line_number":91,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"baada198_0d180574","line":88,"updated":"2014-07-04 03:25:30.000000000","message":"I don\u0027t understand do we really need this test for API testing.\nWhy do we need this test?","commit_id":"530712330958c0efbbe13cfc0fdf748eaab522b2"},{"author":{"_account_id":2238,"name":"rajalakshmi-ganesan","email":"rajalakshmi.girish@hpe.com","username":"rajalakshmi-ganesan"},"change_message_id":"91c2a318a456da3d4db92ab11c22c62c99061dbc","unresolved":false,"context_lines":[{"line_number":85,"context_line":"        u_password3 \u003d data_utils.rand_name(\u0027pass3-\u0027)"},{"line_number":86,"context_line":"        # Initially u_password1 was original password, but after updation,"},{"line_number":87,"context_line":"        # now u_password2 should be accepted as original password."},{"line_number":88,"context_line":"        resp \u003d self.client.update_user_password(user[\u0027id\u0027], u_password3,"},{"line_number":89,"context_line":"                                                u_password2)"},{"line_number":90,"context_line":"        self.assertEqual(204, resp.status)"},{"line_number":91,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"baada198_ea148545","line":88,"in_reply_to":"baada198_0d180574","updated":"2014-07-04 14:21:57.000000000","message":"Yes Masayuki, I think we need this test for API testing as there is no test case that checks the UPDATE password action. Same test case exists in Identity V2 users script present at \"tempest/tempest/api/identity/admin\".\n\nBut we do not have test for v3/test_users.py.","commit_id":"530712330958c0efbbe13cfc0fdf748eaab522b2"},{"author":{"_account_id":7126,"name":"Vadim Rovachev","email":"vrovachev@mirantis.com","username":"vrovachev"},"change_message_id":"0d30f78f5d9b3741298a0c72859a873c591005d9","unresolved":false,"context_lines":[{"line_number":78,"context_line":"        self.client.update_user_password(user[\u0027id\u0027], new_password1,"},{"line_number":79,"context_line":"                                         original_password)"},{"line_number":80,"context_line":"        # After password updation, original password must be new_password1"},{"line_number":81,"context_line":"        original_password \u003d new_password1"},{"line_number":82,"context_line":"        # Second new_password for verification"},{"line_number":83,"context_line":"        new_password2 \u003d data_utils.rand_name(\u0027pass2\u0027)"},{"line_number":84,"context_line":"        # Checking if new_password1 was updated"}],"source_content_type":"text/x-python","patch_set":10,"id":"baada198_6d6f9a2b","line":81,"updated":"2014-07-14 14:04:02.000000000","message":"Why did you change value of a variable \u0027original_password\u0027? \n\nMaybe delete this line and before the 87 string add a check that old password does not match and in 87 line change \u0027original_password\u0027 to \u0027new_password1\u0027?\n\nWell, or at least remove this line and in 87 line change \u0027original_password\u0027 to \u0027new_password1\u0027?","commit_id":"de7c6bbee8012f6b4ba6fea1a1606e31d1aa41a3"},{"author":{"_account_id":2238,"name":"rajalakshmi-ganesan","email":"rajalakshmi.girish@hpe.com","username":"rajalakshmi-ganesan"},"change_message_id":"195331391589643c235fd1f96716b7f61b1b13db","unresolved":false,"context_lines":[{"line_number":78,"context_line":"        self.client.update_user_password(user[\u0027id\u0027], new_password1,"},{"line_number":79,"context_line":"                                         original_password)"},{"line_number":80,"context_line":"        # After password updation, original password must be new_password1"},{"line_number":81,"context_line":"        original_password \u003d new_password1"},{"line_number":82,"context_line":"        # Second new_password for verification"},{"line_number":83,"context_line":"        new_password2 \u003d data_utils.rand_name(\u0027pass2\u0027)"},{"line_number":84,"context_line":"        # Checking if new_password1 was updated"}],"source_content_type":"text/x-python","patch_set":10,"id":"baada198_80d57a1d","line":81,"in_reply_to":"baada198_6d6f9a2b","updated":"2014-07-15 03:01:47.000000000","message":"Done","commit_id":"de7c6bbee8012f6b4ba6fea1a1606e31d1aa41a3"},{"author":{"_account_id":7139,"name":"Zhi Kun Liu","username":"zhikunliu","inactive":true},"change_message_id":"43e22e42fe040e9a0fe3bb6c9efe9faaad73fcef","unresolved":false,"context_lines":[{"line_number":82,"context_line":"        # Checking if new_password1 was updated"},{"line_number":83,"context_line":"        # in place of first original_password"},{"line_number":84,"context_line":"        self.client.update_user_password(user[\u0027id\u0027], new_password2,"},{"line_number":85,"context_line":"                                         new_password1)"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"    @test.attr(type\u003d\u0027gate\u0027)"},{"line_number":88,"context_line":"    def test_list_user_projects(self):"}],"source_content_type":"text/x-python","patch_set":11,"id":"baada198_ac0a741d","line":85,"updated":"2014-07-15 09:36:04.000000000","message":"I think it need add verification to confirm password is updated. e.g. user could authenticate using new password.","commit_id":"b600921b4455cb044fb02e9e8bf5de52fa4ea07b"},{"author":{"_account_id":1192,"name":"David Kranz","email":"dkranz@redhat.com","username":"david-kranz"},"change_message_id":"74036a5405d05275a9d10fe240bd906ab0349af5","unresolved":false,"context_lines":[{"line_number":82,"context_line":"        # Checking if new_password1 was updated"},{"line_number":83,"context_line":"        # in place of first original_password"},{"line_number":84,"context_line":"        self.client.update_user_password(user[\u0027id\u0027], new_password2,"},{"line_number":85,"context_line":"                                         new_password1)"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"    @test.attr(type\u003d\u0027gate\u0027)"},{"line_number":88,"context_line":"    def test_list_user_projects(self):"}],"source_content_type":"text/x-python","patch_set":11,"id":"baada198_adadf534","line":85,"in_reply_to":"baada198_74b1efde","updated":"2014-07-15 18:55:02.000000000","message":"I think Zhi is saying that this test would pass even if the password was never actually changed. Just because the response is 204 does not mean it actually did anything. So it would be better to try to ask for a token with the new password.","commit_id":"b600921b4455cb044fb02e9e8bf5de52fa4ea07b"},{"author":{"_account_id":2238,"name":"rajalakshmi-ganesan","email":"rajalakshmi.girish@hpe.com","username":"rajalakshmi-ganesan"},"change_message_id":"b4bfe78ff73fb7279b256dc5fc86abd60c37c997","unresolved":false,"context_lines":[{"line_number":82,"context_line":"        # Checking if new_password1 was updated"},{"line_number":83,"context_line":"        # in place of first original_password"},{"line_number":84,"context_line":"        self.client.update_user_password(user[\u0027id\u0027], new_password2,"},{"line_number":85,"context_line":"                                         new_password1)"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"    @test.attr(type\u003d\u0027gate\u0027)"},{"line_number":88,"context_line":"    def test_list_user_projects(self):"}],"source_content_type":"text/x-python","patch_set":11,"id":"baada198_74b1efde","line":85,"in_reply_to":"baada198_ac0a741d","updated":"2014-07-15 14:54:51.000000000","message":"Hi Zhi,\n\nTh password updation in this test case for second time is done for the sake of verification. (line 84-85)\nUpdated password \"new_password1\" is being used as \"original_password\" in the second time.\n\nFirst updation is done in (line 78 - 79)\n\nSuccess of line 84 confirms that first password updation was successful.\n\nRegards,\nRajalakshmi Ganesan","commit_id":"b600921b4455cb044fb02e9e8bf5de52fa4ea07b"}],"tempest/services/identity/v3/json/identity_client.py":[{"author":{"_account_id":8824,"name":"Sergey Murashov","email":"smurashov@mirantis.com","username":"SergeyMurashov"},"change_message_id":"211fb83d2e714e5612dad18eb0b1a38b4415fa67","unresolved":false,"context_lines":[{"line_number":81,"context_line":"            \u0027original_password\u0027: original_password"},{"line_number":82,"context_line":"        }"},{"line_number":83,"context_line":"        update_user \u003d json.dumps({\u0027user\u0027: update_user})"},{"line_number":84,"context_line":"        resp, body \u003d self.post(\u0027users/%s/password\u0027 % user_id, update_user)"},{"line_number":85,"context_line":"        return resp"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"    def list_user_projects(self, user_id):"}],"source_content_type":"text/x-python","patch_set":3,"id":"7adec928_e2678c23","line":84,"updated":"2014-05-14 12:34:41.000000000","message":"unused variable \"body\"","commit_id":"787cc17a741a514247797ed9130f76da68e02966"},{"author":{"_account_id":2222,"name":"meenakshi-m","username":"meenakshi-m"},"change_message_id":"4077a4801ffa948b39780bf72c654c43baa5c303","unresolved":false,"context_lines":[{"line_number":81,"context_line":"            \u0027original_password\u0027: original_password"},{"line_number":82,"context_line":"        }"},{"line_number":83,"context_line":"        update_user \u003d json.dumps({\u0027user\u0027: update_user})"},{"line_number":84,"context_line":"        resp, body \u003d self.post(\u0027users/%s/password\u0027 % user_id, update_user)"},{"line_number":85,"context_line":"        return resp"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"    def list_user_projects(self, user_id):"}],"source_content_type":"text/x-python","patch_set":3,"id":"7adec928_0239ca40","line":84,"in_reply_to":"7adec928_e2678c23","updated":"2014-05-15 09:49:11.000000000","message":"Done","commit_id":"787cc17a741a514247797ed9130f76da68e02966"}],"tempest/services/identity/v3/xml/identity_client.py":[{"author":{"_account_id":8824,"name":"Sergey Murashov","email":"smurashov@mirantis.com","username":"SergeyMurashov"},"change_message_id":"211fb83d2e714e5612dad18eb0b1a38b4415fa67","unresolved":false,"context_lines":[{"line_number":134,"context_line":"                                     xmlns\u003dXMLNS,"},{"line_number":135,"context_line":"                                     password\u003dpassword,"},{"line_number":136,"context_line":"                                     original_password\u003doriginal_password)"},{"line_number":137,"context_line":"        resp, body \u003d self.post(\u0027users/%s/password\u0027 % user_id,"},{"line_number":138,"context_line":"                               str(common.Document(update_user)))"},{"line_number":139,"context_line":"        return resp"},{"line_number":140,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"7adec928_427840c4","line":137,"updated":"2014-05-14 12:34:41.000000000","message":"unused variable \"body\"","commit_id":"787cc17a741a514247797ed9130f76da68e02966"},{"author":{"_account_id":2222,"name":"meenakshi-m","username":"meenakshi-m"},"change_message_id":"4077a4801ffa948b39780bf72c654c43baa5c303","unresolved":false,"context_lines":[{"line_number":134,"context_line":"                                     xmlns\u003dXMLNS,"},{"line_number":135,"context_line":"                                     password\u003dpassword,"},{"line_number":136,"context_line":"                                     original_password\u003doriginal_password)"},{"line_number":137,"context_line":"        resp, body \u003d self.post(\u0027users/%s/password\u0027 % user_id,"},{"line_number":138,"context_line":"                               str(common.Document(update_user)))"},{"line_number":139,"context_line":"        return resp"},{"line_number":140,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"7adec928_6247eebc","line":137,"in_reply_to":"7adec928_427840c4","updated":"2014-05-15 09:49:11.000000000","message":"Done","commit_id":"787cc17a741a514247797ed9130f76da68e02966"}]}
