)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"cabdbd64dfd2eb338e0b0447e8f8bcf06789e371","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Enhance tempest client for keystone v3 token APIs."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Altough some of the APIs have been implemented,"},{"line_number":10,"context_line":"adding the below missing ones:"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"check_token_existence(): to validate a v3 token head"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":13,"id":"7f231b9d_3cd23229","line":9,"updated":"2017-06-19 06:18:16.000000000","message":"typo: Although","commit_id":"b8b342ed579799a182f607f3604ec52448c28172"},{"author":{"_account_id":25041,"name":"PRAMOD KUMAR SINGH","email":"pk110e@att.com","username":"spramod88"},"change_message_id":"7f6f684d87209cad59815df179b326e85e6a094a","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Enhance tempest client for keystone v3 token APIs."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Altough some of the APIs have been implemented,"},{"line_number":10,"context_line":"adding the below missing ones:"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"check_token_existence(): to validate a v3 token head"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":13,"id":"7f231b9d_cd64a64c","line":9,"in_reply_to":"7f231b9d_3cd23229","updated":"2017-06-19 08:26:42.000000000","message":"Done","commit_id":"b8b342ed579799a182f607f3604ec52448c28172"}],"releasenotes/notes/identity_client-635275d43abbb807.yaml":[{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"53cde97cf333e99af14945b0e8deda4f064581ef","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Adds client for V2 token APIs to"},{"line_number":5,"context_line":"    - show_token"},{"line_number":6,"context_line":"    - delete_token"},{"line_number":7,"context_line":"    - check_token_existence"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"ff0f0b1f_d57179e2","line":4,"range":{"start_line":4,"start_character":4,"end_line":4,"end_character":36},"updated":"2017-05-19 00:02:37.000000000","message":"I word this as something like: \"Enhances the v3 identity client with the following endpoints:\"","commit_id":"05afcc6b8ad2bf918973c693cffd07c209521b8b"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"53cde97cf333e99af14945b0e8deda4f064581ef","unresolved":false,"context_lines":[{"line_number":4,"context_line":"    Adds client for V2 token APIs to"},{"line_number":5,"context_line":"    - show_token"},{"line_number":6,"context_line":"    - delete_token"},{"line_number":7,"context_line":"    - check_token_existence"},{"line_number":8,"context_line":"    - list_revoked_tokens"},{"line_number":9,"context_line":"    - list_auth_projects"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"ff0f0b1f_3563151d","line":8,"range":{"start_line":7,"start_character":6,"end_line":8,"end_character":25},"updated":"2017-05-19 00:02:37.000000000","message":"These are the only two APIs you added, so the others should be removed.","commit_id":"05afcc6b8ad2bf918973c693cffd07c209521b8b"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"2b4364b80c4a60a3745bdc7da1a4b69882e51f93","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Enhances the v3 identity client with below following apis"},{"line_number":5,"context_line":"    - check_token_existence"}],"source_content_type":"text/x-yaml","patch_set":7,"id":"df140735_d3bd4c03","line":5,"range":{"start_line":4,"start_character":0,"end_line":5,"end_character":27},"updated":"2017-06-06 19:51:59.000000000","message":"Enhances the v3 identity client with the ``check_token_existence`` endpoint, allowing users to check the existence of tokens.","commit_id":"c2c6600b0b4bc723ea90d569d82efd5baa957507"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"8e0ad057a1615e2f32cd60e61a19672a559db752","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Enhances the v3 identity client with the ``check_token_existence`` endpoint, allowing users to check the existence of tokens"}],"source_content_type":"text/x-yaml","patch_set":10,"id":"bf091321_37e33636","line":4,"updated":"2017-06-08 14:50:16.000000000","message":"Line length too long","commit_id":"055aa6092d8c70cccab4f5600532d3d91d437e95"},{"author":{"_account_id":25041,"name":"PRAMOD KUMAR SINGH","email":"pk110e@att.com","username":"spramod88"},"change_message_id":"4db9c98f59a5d3a8b33975223e9b3b03ea71b4db","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Enhances the v3 identity client with the ``check_token_existence`` endpoint, allowing users to check the existence of tokens"}],"source_content_type":"text/x-yaml","patch_set":10,"id":"9f0e0f27_e3763d3f","line":4,"in_reply_to":"bf091321_37e33636","updated":"2017-06-09 12:48:16.000000000","message":"Done","commit_id":"055aa6092d8c70cccab4f5600532d3d91d437e95"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"512ece9f29e4abdbbdf0e7462df49b8ed8c4e055","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Enhances the v3 identity client with the ``check_token_existence``"},{"line_number":5,"context_line":"    endpoint, allowing users to check the existence of tokens"}],"source_content_type":"text/x-yaml","patch_set":13,"id":"7f231b9d_84f5e085","line":5,"range":{"start_line":5,"start_character":4,"end_line":5,"end_character":12},"updated":"2017-06-14 06:58:44.000000000","message":"what does this mean here?","commit_id":"b8b342ed579799a182f607f3604ec52448c28172"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"3cd351e685b881e1f339a716eccf416c890c2995","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Enhances the v3 identity client with the ``check_token_existence``"},{"line_number":5,"context_line":"    endpoint, allowing users to check the existence of tokens"}],"source_content_type":"text/x-yaml","patch_set":13,"id":"7f231b9d_7b5ec212","line":5,"range":{"start_line":5,"start_character":4,"end_line":5,"end_character":12},"in_reply_to":"7f231b9d_2155d31d","updated":"2017-06-15 04:16:45.000000000","message":"I just feel it strange to call check_token_existence as an \u0027endpoint\u0027, usually I will deem keystone as an endpoint. \nMaybe only me has such feeling:)","commit_id":"b8b342ed579799a182f607f3604ec52448c28172"},{"author":{"_account_id":25041,"name":"PRAMOD KUMAR SINGH","email":"pk110e@att.com","username":"spramod88"},"change_message_id":"99de5beca7a1576019db1690f6b65701132188c8","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Enhances the v3 identity client with the ``check_token_existence``"},{"line_number":5,"context_line":"    endpoint, allowing users to check the existence of tokens"}],"source_content_type":"text/x-yaml","patch_set":13,"id":"7f231b9d_5bd3bb04","line":5,"range":{"start_line":5,"start_character":4,"end_line":5,"end_character":12},"in_reply_to":"7f231b9d_7b5ec212","updated":"2017-06-18 14:35:16.000000000","message":"@zhufl : Considering the above comment from Felipe, can you please confirm if we go ahead with the merge of the commit.","commit_id":"b8b342ed579799a182f607f3604ec52448c28172"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"cfad5db88ea48bfa68e2eb957cf3c824836536fa","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Enhances the v3 identity client with the ``check_token_existence``"},{"line_number":5,"context_line":"    endpoint, allowing users to check the existence of tokens"}],"source_content_type":"text/x-yaml","patch_set":13,"id":"7f231b9d_2155d31d","line":5,"range":{"start_line":5,"start_character":4,"end_line":5,"end_character":12},"in_reply_to":"7f231b9d_84f5e085","updated":"2017-06-14 12:57:23.000000000","message":"https://stackoverflow.com/questions/2122604/what-is-an-endpoint\n\n\"It\u0027s one end of a communication channel, so often this would be represented as the URL of a server or service.\"","commit_id":"b8b342ed579799a182f607f3604ec52448c28172"}],"tempest/api/identity/admin/v3/test_tokens.py":[{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"2b4364b80c4a60a3745bdc7da1a4b69882e51f93","unresolved":false,"context_lines":[{"line_number":176,"context_line":""},{"line_number":177,"context_line":"    @decorators.idempotent_id(\u0027a6b1391c-f50e-4ed0-b170-500bee5219eb\u0027)"},{"line_number":178,"context_line":"    def test_check_token_existence(self):"},{"line_number":179,"context_line":"        # to create the tokens"},{"line_number":180,"context_line":"        creds \u003d self.os_primary.credentials"},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"        user_id \u003d creds.user_id"}],"source_content_type":"text/x-python","patch_set":7,"id":"df140735_33cfe8b1","line":179,"range":{"start_line":179,"start_character":8,"end_line":179,"end_character":30},"updated":"2017-06-06 19:51:59.000000000","message":"This comment needs to be reworded.","commit_id":"c2c6600b0b4bc723ea90d569d82efd5baa957507"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"2b4364b80c4a60a3745bdc7da1a4b69882e51f93","unresolved":false,"context_lines":[{"line_number":182,"context_line":"        user_id \u003d creds.user_id"},{"line_number":183,"context_line":"        password \u003d creds.password"},{"line_number":184,"context_line":""},{"line_number":185,"context_line":"        resp \u003d self.token.auth(user_id\u003duser_id,"},{"line_number":186,"context_line":"                               password\u003dpassword).response"},{"line_number":187,"context_line":"        self.assertIn(\u0027x-subject-token\u0027, resp)"}],"source_content_type":"text/x-python","patch_set":7,"id":"df140735_b3e1b82d","line":186,"range":{"start_line":185,"start_character":8,"end_line":186,"end_character":58},"updated":"2017-06-06 19:51:59.000000000","message":"You should be testing self.client.check_token_existence() instead as that is the new API endpoint you\u0027ve implemented in the identity_client.","commit_id":"c2c6600b0b4bc723ea90d569d82efd5baa957507"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"8e0ad057a1615e2f32cd60e61a19672a559db752","unresolved":false,"context_lines":[{"line_number":39,"context_line":"        resp \u003d self.token.auth(user_id\u003duser[\u0027id\u0027],"},{"line_number":40,"context_line":"                               password\u003du_password).response"},{"line_number":41,"context_line":"        subject_token \u003d resp[\u0027x-subject-token\u0027]"},{"line_number":42,"context_line":"        # Perform GET Token"},{"line_number":43,"context_line":"        token_details \u003d self.client.show_token(subject_token)[\u0027token\u0027]"},{"line_number":44,"context_line":"        self.assertEqual(resp[\u0027x-subject-token\u0027], subject_token)"},{"line_number":45,"context_line":"        self.assertEqual(token_details[\u0027user\u0027][\u0027id\u0027], user[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":10,"id":"bf091321_b713c60d","line":42,"updated":"2017-06-08 14:50:16.000000000","message":"self.client.check_token_existence(subject_token)","commit_id":"055aa6092d8c70cccab4f5600532d3d91d437e95"},{"author":{"_account_id":25041,"name":"PRAMOD KUMAR SINGH","email":"pk110e@att.com","username":"spramod88"},"change_message_id":"0777ce69c164fe64e356bd12ad0b2a371885f5f0","unresolved":false,"context_lines":[{"line_number":39,"context_line":"        resp \u003d self.token.auth(user_id\u003duser[\u0027id\u0027],"},{"line_number":40,"context_line":"                               password\u003du_password).response"},{"line_number":41,"context_line":"        subject_token \u003d resp[\u0027x-subject-token\u0027]"},{"line_number":42,"context_line":"        # Perform GET Token"},{"line_number":43,"context_line":"        token_details \u003d self.client.show_token(subject_token)[\u0027token\u0027]"},{"line_number":44,"context_line":"        self.assertEqual(resp[\u0027x-subject-token\u0027], subject_token)"},{"line_number":45,"context_line":"        self.assertEqual(token_details[\u0027user\u0027][\u0027id\u0027], user[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":10,"id":"7f231b9d_4b4f1ebd","line":42,"in_reply_to":"7f231b9d_f1539fe1","updated":"2017-06-12 13:26:17.000000000","message":"Done","commit_id":"055aa6092d8c70cccab4f5600532d3d91d437e95"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"0a9f3173c91f16dbe1025685299348a8317e0498","unresolved":false,"context_lines":[{"line_number":39,"context_line":"        resp \u003d self.token.auth(user_id\u003duser[\u0027id\u0027],"},{"line_number":40,"context_line":"                               password\u003du_password).response"},{"line_number":41,"context_line":"        subject_token \u003d resp[\u0027x-subject-token\u0027]"},{"line_number":42,"context_line":"        # Perform GET Token"},{"line_number":43,"context_line":"        token_details \u003d self.client.show_token(subject_token)[\u0027token\u0027]"},{"line_number":44,"context_line":"        self.assertEqual(resp[\u0027x-subject-token\u0027], subject_token)"},{"line_number":45,"context_line":"        self.assertEqual(token_details[\u0027user\u0027][\u0027id\u0027], user[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":10,"id":"7f231b9d_f1539fe1","line":42,"in_reply_to":"9f0e0f27_a3b725d9","updated":"2017-06-10 03:00:45.000000000","message":"This test actually tests creating, showing and deleting a token. There\u0027s no need to create an API test just for checking the existence of a token. You can add the check_token_existence call to L42 to verify that the token was in fact created before calling show_token on L43.","commit_id":"055aa6092d8c70cccab4f5600532d3d91d437e95"},{"author":{"_account_id":25041,"name":"PRAMOD KUMAR SINGH","email":"pk110e@att.com","username":"spramod88"},"change_message_id":"4db9c98f59a5d3a8b33975223e9b3b03ea71b4db","unresolved":false,"context_lines":[{"line_number":39,"context_line":"        resp \u003d self.token.auth(user_id\u003duser[\u0027id\u0027],"},{"line_number":40,"context_line":"                               password\u003du_password).response"},{"line_number":41,"context_line":"        subject_token \u003d resp[\u0027x-subject-token\u0027]"},{"line_number":42,"context_line":"        # Perform GET Token"},{"line_number":43,"context_line":"        token_details \u003d self.client.show_token(subject_token)[\u0027token\u0027]"},{"line_number":44,"context_line":"        self.assertEqual(resp[\u0027x-subject-token\u0027], subject_token)"},{"line_number":45,"context_line":"        self.assertEqual(token_details[\u0027user\u0027][\u0027id\u0027], user[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":10,"id":"9f0e0f27_a3b725d9","line":42,"in_reply_to":"bf091321_1a05f9c2","updated":"2017-06-09 12:48:16.000000000","message":"This is testing the show api for the client.","commit_id":"055aa6092d8c70cccab4f5600532d3d91d437e95"},{"author":{"_account_id":25041,"name":"PRAMOD KUMAR SINGH","email":"pk110e@att.com","username":"spramod88"},"change_message_id":"d7a4e0169c6ea0de8e290dccee2dbe5004eb0085","unresolved":false,"context_lines":[{"line_number":39,"context_line":"        resp \u003d self.token.auth(user_id\u003duser[\u0027id\u0027],"},{"line_number":40,"context_line":"                               password\u003du_password).response"},{"line_number":41,"context_line":"        subject_token \u003d resp[\u0027x-subject-token\u0027]"},{"line_number":42,"context_line":"        # Perform GET Token"},{"line_number":43,"context_line":"        token_details \u003d self.client.show_token(subject_token)[\u0027token\u0027]"},{"line_number":44,"context_line":"        self.assertEqual(resp[\u0027x-subject-token\u0027], subject_token)"},{"line_number":45,"context_line":"        self.assertEqual(token_details[\u0027user\u0027][\u0027id\u0027], user[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":10,"id":"bf091321_1a05f9c2","line":42,"in_reply_to":"bf091321_b713c60d","updated":"2017-06-08 15:13:46.000000000","message":"These changes are already existing ones. I have not modified this code.","commit_id":"055aa6092d8c70cccab4f5600532d3d91d437e95"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"8e0ad057a1615e2f32cd60e61a19672a559db752","unresolved":false,"context_lines":[{"line_number":46,"context_line":"        self.assertEqual(token_details[\u0027user\u0027][\u0027name\u0027], u_name)"},{"line_number":47,"context_line":"        # Perform Delete Token"},{"line_number":48,"context_line":"        self.client.delete_token(subject_token)"},{"line_number":49,"context_line":"        self.assertRaises(lib_exc.NotFound, self.client.show_token,"},{"line_number":50,"context_line":"                          subject_token)"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    @decorators.idempotent_id(\u0027565fa210-1da1-4563-999b-f7b5b67cf112\u0027)"}],"source_content_type":"text/x-python","patch_set":10,"id":"bf091321_37ffb6ab","line":49,"range":{"start_line":49,"start_character":56,"end_line":49,"end_character":66},"updated":"2017-06-08 14:50:16.000000000","message":"check_token_existence","commit_id":"055aa6092d8c70cccab4f5600532d3d91d437e95"},{"author":{"_account_id":25041,"name":"PRAMOD KUMAR SINGH","email":"pk110e@att.com","username":"spramod88"},"change_message_id":"0777ce69c164fe64e356bd12ad0b2a371885f5f0","unresolved":false,"context_lines":[{"line_number":46,"context_line":"        self.assertEqual(token_details[\u0027user\u0027][\u0027name\u0027], u_name)"},{"line_number":47,"context_line":"        # Perform Delete Token"},{"line_number":48,"context_line":"        self.client.delete_token(subject_token)"},{"line_number":49,"context_line":"        self.assertRaises(lib_exc.NotFound, self.client.show_token,"},{"line_number":50,"context_line":"                          subject_token)"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    @decorators.idempotent_id(\u0027565fa210-1da1-4563-999b-f7b5b67cf112\u0027)"}],"source_content_type":"text/x-python","patch_set":10,"id":"7f231b9d_8b6c1637","line":49,"range":{"start_line":49,"start_character":56,"end_line":49,"end_character":66},"in_reply_to":"7f231b9d_91646bbb","updated":"2017-06-12 13:26:17.000000000","message":"Done","commit_id":"055aa6092d8c70cccab4f5600532d3d91d437e95"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"0a9f3173c91f16dbe1025685299348a8317e0498","unresolved":false,"context_lines":[{"line_number":46,"context_line":"        self.assertEqual(token_details[\u0027user\u0027][\u0027name\u0027], u_name)"},{"line_number":47,"context_line":"        # Perform Delete Token"},{"line_number":48,"context_line":"        self.client.delete_token(subject_token)"},{"line_number":49,"context_line":"        self.assertRaises(lib_exc.NotFound, self.client.show_token,"},{"line_number":50,"context_line":"                          subject_token)"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    @decorators.idempotent_id(\u0027565fa210-1da1-4563-999b-f7b5b67cf112\u0027)"}],"source_content_type":"text/x-python","patch_set":10,"id":"7f231b9d_91646bbb","line":49,"range":{"start_line":49,"start_character":56,"end_line":49,"end_character":66},"in_reply_to":"9f0e0f27_63b10de2","updated":"2017-06-10 03:00:45.000000000","message":"show_token was called on L43 already and then assertions are performed to make sure that show_token works -- so it is still being tested. To me, it makes more sense to replace show_token on L49 with check_token_existence -- since the very purpose of check_token_existence is to verify whether a token either exists or doesn\u0027t and the purpose of L49 is to check that the token no longer exists.","commit_id":"055aa6092d8c70cccab4f5600532d3d91d437e95"},{"author":{"_account_id":25041,"name":"PRAMOD KUMAR SINGH","email":"pk110e@att.com","username":"spramod88"},"change_message_id":"d7a4e0169c6ea0de8e290dccee2dbe5004eb0085","unresolved":false,"context_lines":[{"line_number":46,"context_line":"        self.assertEqual(token_details[\u0027user\u0027][\u0027name\u0027], u_name)"},{"line_number":47,"context_line":"        # Perform Delete Token"},{"line_number":48,"context_line":"        self.client.delete_token(subject_token)"},{"line_number":49,"context_line":"        self.assertRaises(lib_exc.NotFound, self.client.show_token,"},{"line_number":50,"context_line":"                          subject_token)"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    @decorators.idempotent_id(\u0027565fa210-1da1-4563-999b-f7b5b67cf112\u0027)"}],"source_content_type":"text/x-python","patch_set":10,"id":"bf091321_da0e61e4","line":49,"range":{"start_line":49,"start_character":56,"end_line":49,"end_character":66},"in_reply_to":"bf091321_37ffb6ab","updated":"2017-06-08 15:13:46.000000000","message":"These changes are already existing ones. I have not modified this code.","commit_id":"055aa6092d8c70cccab4f5600532d3d91d437e95"},{"author":{"_account_id":25041,"name":"PRAMOD KUMAR SINGH","email":"pk110e@att.com","username":"spramod88"},"change_message_id":"4db9c98f59a5d3a8b33975223e9b3b03ea71b4db","unresolved":false,"context_lines":[{"line_number":46,"context_line":"        self.assertEqual(token_details[\u0027user\u0027][\u0027name\u0027], u_name)"},{"line_number":47,"context_line":"        # Perform Delete Token"},{"line_number":48,"context_line":"        self.client.delete_token(subject_token)"},{"line_number":49,"context_line":"        self.assertRaises(lib_exc.NotFound, self.client.show_token,"},{"line_number":50,"context_line":"                          subject_token)"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    @decorators.idempotent_id(\u0027565fa210-1da1-4563-999b-f7b5b67cf112\u0027)"}],"source_content_type":"text/x-python","patch_set":10,"id":"9f0e0f27_63b10de2","line":49,"range":{"start_line":49,"start_character":56,"end_line":49,"end_character":66},"in_reply_to":"bf091321_37ffb6ab","updated":"2017-06-09 12:48:16.000000000","message":"This is testing the show api for the client.","commit_id":"055aa6092d8c70cccab4f5600532d3d91d437e95"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"bf76a49fec7530c6e38de4d08a7f0159fe7a89b0","unresolved":false,"context_lines":[{"line_number":46,"context_line":"        self.assertEqual(token_details[\u0027user\u0027][\u0027name\u0027], u_name)"},{"line_number":47,"context_line":"        # Perform Delete Token"},{"line_number":48,"context_line":"        self.client.delete_token(subject_token)"},{"line_number":49,"context_line":"        self.assertRaises(lib_exc.NotFound, self.client.show_token,"},{"line_number":50,"context_line":"                          subject_token)"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    @decorators.idempotent_id(\u0027565fa210-1da1-4563-999b-f7b5b67cf112\u0027)"}],"source_content_type":"text/x-python","patch_set":10,"id":"bf091321_fa8ec52c","line":49,"range":{"start_line":49,"start_character":56,"end_line":49,"end_character":66},"in_reply_to":"bf091321_da0e61e4","updated":"2017-06-08 15:16:48.000000000","message":"I\u0027m suggested that it\u0027d be better to modify this code. You can modify existing test cases.","commit_id":"055aa6092d8c70cccab4f5600532d3d91d437e95"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"8e0ad057a1615e2f32cd60e61a19672a559db752","unresolved":false,"context_lines":[{"line_number":174,"context_line":"                         \"Failed to find project_id %s in fetched list\" %"},{"line_number":175,"context_line":"                         \u0027, \u0027.join(missing_project_ids))"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"    @decorators.idempotent_id(\u0027a6b1391c-f50e-4ed0-b170-500bee5219eb\u0027)"},{"line_number":178,"context_line":"    def test_check_token_existence(self):"},{"line_number":179,"context_line":"        creds \u003d self.os_primary.credentials"},{"line_number":180,"context_line":"        user_id \u003d creds.user_id"},{"line_number":181,"context_line":"        password \u003d creds.password"},{"line_number":182,"context_line":"        token \u003d self.token.auth(user_id\u003duser_id,"},{"line_number":183,"context_line":"                                password\u003dpassword).response"},{"line_number":184,"context_line":"        token_id \u003d token[\u0027x-subject-token\u0027]"},{"line_number":185,"context_line":"        resp \u003d self.client.check_token_existence(token_id).response"},{"line_number":186,"context_line":"        self.assertEqual(\u0027200\u0027, resp[\u0027status\u0027])"}],"source_content_type":"text/x-python","patch_set":10,"id":"bf091321_b7e18601","line":186,"range":{"start_line":177,"start_character":0,"end_line":186,"end_character":47},"updated":"2017-06-08 14:50:16.000000000","message":"I don\u0027t think this test is necessary -- simply add the check_token_existence calls to test_tokens test above. See inline comments in test_tokens above.\n\nAlso L186 isn\u0027t necessary as that is done automatically by the client. Don\u0027t need to add an assertion after check_token_existence.","commit_id":"055aa6092d8c70cccab4f5600532d3d91d437e95"},{"author":{"_account_id":25041,"name":"PRAMOD KUMAR SINGH","email":"pk110e@att.com","username":"spramod88"},"change_message_id":"0777ce69c164fe64e356bd12ad0b2a371885f5f0","unresolved":false,"context_lines":[{"line_number":174,"context_line":"                         \"Failed to find project_id %s in fetched list\" %"},{"line_number":175,"context_line":"                         \u0027, \u0027.join(missing_project_ids))"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"    @decorators.idempotent_id(\u0027a6b1391c-f50e-4ed0-b170-500bee5219eb\u0027)"},{"line_number":178,"context_line":"    def test_check_token_existence(self):"},{"line_number":179,"context_line":"        creds \u003d self.os_primary.credentials"},{"line_number":180,"context_line":"        user_id \u003d creds.user_id"},{"line_number":181,"context_line":"        password \u003d creds.password"},{"line_number":182,"context_line":"        token \u003d self.token.auth(user_id\u003duser_id,"},{"line_number":183,"context_line":"                                password\u003dpassword).response"},{"line_number":184,"context_line":"        token_id \u003d token[\u0027x-subject-token\u0027]"},{"line_number":185,"context_line":"        resp \u003d self.client.check_token_existence(token_id).response"},{"line_number":186,"context_line":"        self.assertEqual(\u0027200\u0027, resp[\u0027status\u0027])"}],"source_content_type":"text/x-python","patch_set":10,"id":"7f231b9d_cb5b2e85","line":186,"range":{"start_line":177,"start_character":0,"end_line":186,"end_character":47},"in_reply_to":"bf091321_b7e18601","updated":"2017-06-12 13:26:17.000000000","message":"Removed","commit_id":"055aa6092d8c70cccab4f5600532d3d91d437e95"},{"author":{"_account_id":25041,"name":"PRAMOD KUMAR SINGH","email":"pk110e@att.com","username":"spramod88"},"change_message_id":"4db9c98f59a5d3a8b33975223e9b3b03ea71b4db","unresolved":false,"context_lines":[{"line_number":174,"context_line":"                         \"Failed to find project_id %s in fetched list\" %"},{"line_number":175,"context_line":"                         \u0027, \u0027.join(missing_project_ids))"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"    @decorators.idempotent_id(\u0027a6b1391c-f50e-4ed0-b170-500bee5219eb\u0027)"},{"line_number":178,"context_line":"    def test_check_token_existence(self):"},{"line_number":179,"context_line":"        creds \u003d self.os_primary.credentials"},{"line_number":180,"context_line":"        user_id \u003d creds.user_id"},{"line_number":181,"context_line":"        password \u003d creds.password"},{"line_number":182,"context_line":"        token \u003d self.token.auth(user_id\u003duser_id,"},{"line_number":183,"context_line":"                                password\u003dpassword).response"},{"line_number":184,"context_line":"        token_id \u003d token[\u0027x-subject-token\u0027]"},{"line_number":185,"context_line":"        resp \u003d self.client.check_token_existence(token_id).response"},{"line_number":186,"context_line":"        self.assertEqual(\u0027200\u0027, resp[\u0027status\u0027])"}],"source_content_type":"text/x-python","patch_set":10,"id":"9f0e0f27_83930150","line":186,"range":{"start_line":177,"start_character":0,"end_line":186,"end_character":47},"in_reply_to":"bf091321_b7e18601","updated":"2017-06-09 12:48:16.000000000","message":"Removed the assert. We can have this test to check the token head api. the above test case tests the show api of the client.","commit_id":"055aa6092d8c70cccab4f5600532d3d91d437e95"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"cabdbd64dfd2eb338e0b0447e8f8bcf06789e371","unresolved":false,"context_lines":[{"line_number":39,"context_line":"        resp \u003d self.token.auth(user_id\u003duser[\u0027id\u0027],"},{"line_number":40,"context_line":"                               password\u003du_password).response"},{"line_number":41,"context_line":"        subject_token \u003d resp[\u0027x-subject-token\u0027]"},{"line_number":42,"context_line":"        # Check for token existence"},{"line_number":43,"context_line":"        self.client.check_token_existence(subject_token)"},{"line_number":44,"context_line":"        # Perform GET Token"},{"line_number":45,"context_line":"        token_details \u003d self.client.show_token(subject_token)[\u0027token\u0027]"}],"source_content_type":"text/x-python","patch_set":13,"id":"7f231b9d_fcc71a63","line":42,"updated":"2017-06-19 06:18:16.000000000","message":"heh, this comment is almost same as method name. I think it is unnecessary :)","commit_id":"b8b342ed579799a182f607f3604ec52448c28172"},{"author":{"_account_id":25041,"name":"PRAMOD KUMAR SINGH","email":"pk110e@att.com","username":"spramod88"},"change_message_id":"7f6f684d87209cad59815df179b326e85e6a094a","unresolved":false,"context_lines":[{"line_number":39,"context_line":"        resp \u003d self.token.auth(user_id\u003duser[\u0027id\u0027],"},{"line_number":40,"context_line":"                               password\u003du_password).response"},{"line_number":41,"context_line":"        subject_token \u003d resp[\u0027x-subject-token\u0027]"},{"line_number":42,"context_line":"        # Check for token existence"},{"line_number":43,"context_line":"        self.client.check_token_existence(subject_token)"},{"line_number":44,"context_line":"        # Perform GET Token"},{"line_number":45,"context_line":"        token_details \u003d self.client.show_token(subject_token)[\u0027token\u0027]"}],"source_content_type":"text/x-python","patch_set":13,"id":"7f231b9d_8d5a2e80","line":42,"in_reply_to":"7f231b9d_fcc71a63","updated":"2017-06-19 08:26:42.000000000","message":"Done","commit_id":"b8b342ed579799a182f607f3604ec52448c28172"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"cabdbd64dfd2eb338e0b0447e8f8bcf06789e371","unresolved":false,"context_lines":[{"line_number":48,"context_line":"        self.assertEqual(token_details[\u0027user\u0027][\u0027name\u0027], u_name)"},{"line_number":49,"context_line":"        # Perform Delete Token"},{"line_number":50,"context_line":"        self.client.delete_token(subject_token)"},{"line_number":51,"context_line":"        # Verify that the token does not exist"},{"line_number":52,"context_line":"        self.assertRaises(lib_exc.NotFound, self.client.check_token_existence,"},{"line_number":53,"context_line":"                          subject_token)"},{"line_number":54,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"7f231b9d_dcc21e53","line":51,"updated":"2017-06-19 06:18:16.000000000","message":"similar here","commit_id":"b8b342ed579799a182f607f3604ec52448c28172"},{"author":{"_account_id":25041,"name":"PRAMOD KUMAR SINGH","email":"pk110e@att.com","username":"spramod88"},"change_message_id":"7f6f684d87209cad59815df179b326e85e6a094a","unresolved":false,"context_lines":[{"line_number":48,"context_line":"        self.assertEqual(token_details[\u0027user\u0027][\u0027name\u0027], u_name)"},{"line_number":49,"context_line":"        # Perform Delete Token"},{"line_number":50,"context_line":"        self.client.delete_token(subject_token)"},{"line_number":51,"context_line":"        # Verify that the token does not exist"},{"line_number":52,"context_line":"        self.assertRaises(lib_exc.NotFound, self.client.check_token_existence,"},{"line_number":53,"context_line":"                          subject_token)"},{"line_number":54,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"7f231b9d_6d5d9277","line":51,"in_reply_to":"7f231b9d_dcc21e53","updated":"2017-06-19 08:26:42.000000000","message":"Done","commit_id":"b8b342ed579799a182f607f3604ec52448c28172"}],"tempest/lib/services/identity/v3/identity_client.py":[{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"8e0ad057a1615e2f32cd60e61a19672a559db752","unresolved":false,"context_lines":[{"line_number":48,"context_line":"        \"\"\"Validates a token.\"\"\""},{"line_number":49,"context_line":"        headers \u003d {\u0027X-Subject-Token\u0027: resp_token}"},{"line_number":50,"context_line":"        resp, body \u003d self.head(\"auth/tokens\", headers\u003dheaders)"},{"line_number":51,"context_line":"        self.expected_success(200, resp.status)"},{"line_number":52,"context_line":"        return rest_client.ResponseBody(resp, body)"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    def list_auth_projects(self):"}],"source_content_type":"text/x-python","patch_set":10,"id":"bf091321_77e3ee06","line":51,"range":{"start_line":51,"start_character":30,"end_line":51,"end_character":33},"updated":"2017-06-08 14:50:16.000000000","message":"The assertion is already done here.","commit_id":"055aa6092d8c70cccab4f5600532d3d91d437e95"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"cabdbd64dfd2eb338e0b0447e8f8bcf06789e371","unresolved":false,"context_lines":[{"line_number":44,"context_line":"        self.expected_success(204, resp.status)"},{"line_number":45,"context_line":"        return rest_client.ResponseBody(resp, body)"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"    def check_token_existence(self, resp_token):"},{"line_number":48,"context_line":"        \"\"\"Validates a token.\"\"\""},{"line_number":49,"context_line":"        headers \u003d {\u0027X-Subject-Token\u0027: resp_token}"},{"line_number":50,"context_line":"        resp, body \u003d self.head(\"auth/tokens\", headers\u003dheaders)"}],"source_content_type":"text/x-python","patch_set":13,"id":"7f231b9d_1ccd3684","line":47,"updated":"2017-06-19 06:18:16.000000000","message":"How about changing the method name to validate_token() same as your pydoc? Because I think \"validate_token\" is simple enough. And I feel \"check\" is a bit obscure. But this is just my opinion.","commit_id":"b8b342ed579799a182f607f3604ec52448c28172"},{"author":{"_account_id":25041,"name":"PRAMOD KUMAR SINGH","email":"pk110e@att.com","username":"spramod88"},"change_message_id":"7f6f684d87209cad59815df179b326e85e6a094a","unresolved":false,"context_lines":[{"line_number":44,"context_line":"        self.expected_success(204, resp.status)"},{"line_number":45,"context_line":"        return rest_client.ResponseBody(resp, body)"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"    def check_token_existence(self, resp_token):"},{"line_number":48,"context_line":"        \"\"\"Validates a token.\"\"\""},{"line_number":49,"context_line":"        headers \u003d {\u0027X-Subject-Token\u0027: resp_token}"},{"line_number":50,"context_line":"        resp, body \u003d self.head(\"auth/tokens\", headers\u003dheaders)"}],"source_content_type":"text/x-python","patch_set":13,"id":"7f231b9d_edf6425d","line":47,"in_reply_to":"7f231b9d_1ccd3684","updated":"2017-06-19 08:26:42.000000000","message":"The method name check_token_existence was suggested during the review of our v2 tempest client. Hence keeping the same method name. Thanks !!!","commit_id":"b8b342ed579799a182f607f3604ec52448c28172"}],"tempest/tests/lib/services/identity/v3/test_identity_client.py":[{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"a2fb9905cb1fe3161cf0fbfd34115f9ad8998f1f","unresolved":false,"context_lines":[{"line_number":124,"context_line":"        self._test_list_auth_projects(bytes_body\u003dTrue)"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"    def test_check_token_existence_with_bytes_body(self):"},{"line_number":127,"context_line":"        self._test_check_token_existence(bytes_body\u003dTrue)"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"    def test_check_token_existence_with_str_body(self):"},{"line_number":130,"context_line":"        self._test_check_token_existence()"}],"source_content_type":"text/x-python","patch_set":14,"id":"7f231b9d_8ab0addf","line":127,"updated":"2017-06-20 07:41:14.000000000","message":"I think this is unnecessary because the body is empty.","commit_id":"57948ba81ca73a5e6bc1cd5e966a4bfa833efaf7"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"e5dbd206cfbad2a20f673b2ff00e5d69708347b7","unresolved":false,"context_lines":[{"line_number":89,"context_line":"            self.FAKE_AUTH_PROJECTS,"},{"line_number":90,"context_line":"            bytes_body)"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"    def _test_check_token_existence(self, bytes_body\u003dFalse):"},{"line_number":93,"context_line":"        self.check_service_client_function("},{"line_number":94,"context_line":"            self.client.check_token_existence,"},{"line_number":95,"context_line":"            \u0027tempest.lib.common.rest_client.RestClient.head\u0027,"}],"source_content_type":"text/x-python","patch_set":15,"id":"5f201791_ca346fe1","line":92,"range":{"start_line":92,"start_character":42,"end_line":92,"end_character":58},"updated":"2017-06-20 16:01:15.000000000","message":"If this has no body, then bytes_body isn\u0027t needed. This test should be structured like test_delete_token below.","commit_id":"319ddec33edbdef976bace24b6d81cc1fc243496"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"6d1f3d514124192ff2a777c47d78745424628adc","unresolved":false,"context_lines":[{"line_number":89,"context_line":"            self.FAKE_AUTH_PROJECTS,"},{"line_number":90,"context_line":"            bytes_body)"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"    def _test_check_token_existence(self, bytes_body\u003dFalse):"},{"line_number":93,"context_line":"        self.check_service_client_function("},{"line_number":94,"context_line":"            self.client.check_token_existence,"},{"line_number":95,"context_line":"            \u0027tempest.lib.common.rest_client.RestClient.head\u0027,"}],"source_content_type":"text/x-python","patch_set":15,"id":"5f201791_b2bbe0e3","line":92,"range":{"start_line":92,"start_character":42,"end_line":92,"end_character":58},"in_reply_to":"5f201791_ca346fe1","updated":"2017-06-21 02:22:19.000000000","message":"yeah, I agree with Felipe.","commit_id":"319ddec33edbdef976bace24b6d81cc1fc243496"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"e5dbd206cfbad2a20f673b2ff00e5d69708347b7","unresolved":false,"context_lines":[{"line_number":123,"context_line":"    def test_list_auth_projects_with_bytes_body(self):"},{"line_number":124,"context_line":"        self._test_list_auth_projects(bytes_body\u003dTrue)"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"    def test_check_token_existence_with_str_body(self):"},{"line_number":127,"context_line":"        self._test_check_token_existence()"}],"source_content_type":"text/x-python","patch_set":15,"id":"5f201791_8a4c3777","line":127,"range":{"start_line":126,"start_character":0,"end_line":127,"end_character":42},"updated":"2017-06-20 16:01:15.000000000","message":"Not quite. See comment above.","commit_id":"319ddec33edbdef976bace24b6d81cc1fc243496"}]}
