)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"249801b999ed000a6b8725a2e50a3f5d6ed9bb10","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Move test_tokens test to static"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Letting os_admin be the user in this test case allows the token"},{"line_number":10,"context_line":"to authenticate, get, and delete without having to create a test"},{"line_number":11,"context_line":"user."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":11,"id":"5f7c97a3_feae512d","line":9,"range":{"start_line":9,"start_character":8,"end_line":9,"end_character":16},"updated":"2018-07-05 15:53:00.000000000","message":"os_primary","commit_id":"4041c53ee91b50d540acbd056d99af5fbd33cec9"},{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"34d42c63b97fdd03905cca90b2f4f0a1f696e739","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Move test_tokens test to static"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Letting os_admin be the user in this test case allows the token"},{"line_number":10,"context_line":"to authenticate, get, and delete without having to create a test"},{"line_number":11,"context_line":"user."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":11,"id":"5f7c97a3_628cc47f","line":9,"range":{"start_line":9,"start_character":8,"end_line":9,"end_character":16},"in_reply_to":"5f7c97a3_feae512d","updated":"2018-07-07 04:40:51.000000000","message":"Done","commit_id":"4041c53ee91b50d540acbd056d99af5fbd33cec9"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"249801b999ed000a6b8725a2e50a3f5d6ed9bb10","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Letting os_admin be the user in this test case allows the token"},{"line_number":10,"context_line":"to authenticate, get, and delete without having to create a test"},{"line_number":11,"context_line":"user."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Co-Authored-By: Tin Lam \u003ctin@irrational.io\u003e"},{"line_number":14,"context_line":"Change-Id: I55345132e0f461b36b08d222680a7e11eb945116"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":11,"id":"5f7c97a3_fe5c114d","line":11,"updated":"2018-07-05 15:53:00.000000000","message":"This allows the test to work with pre-provisioned credentials. Also moves the test to the non-admin directory because the test uses os_primary creds (for principle of least privilege).","commit_id":"4041c53ee91b50d540acbd056d99af5fbd33cec9"},{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"34d42c63b97fdd03905cca90b2f4f0a1f696e739","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Letting os_admin be the user in this test case allows the token"},{"line_number":10,"context_line":"to authenticate, get, and delete without having to create a test"},{"line_number":11,"context_line":"user."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Co-Authored-By: Tin Lam \u003ctin@irrational.io\u003e"},{"line_number":14,"context_line":"Change-Id: I55345132e0f461b36b08d222680a7e11eb945116"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":11,"id":"5f7c97a3_c291189c","line":11,"in_reply_to":"5f7c97a3_fe5c114d","updated":"2018-07-07 04:40:51.000000000","message":"Done","commit_id":"4041c53ee91b50d540acbd056d99af5fbd33cec9"}],"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":"817296268fdb1a153ef86e94fe386a3aec6aa3ad","unresolved":false,"context_lines":[{"line_number":220,"context_line":""},{"line_number":221,"context_line":"class TokensV3StaticTestJSON(base.BaseIdentityV3AdminTest):"},{"line_number":222,"context_line":""},{"line_number":223,"context_line":"    credentials \u003d [\u0027primary\u0027, \u0027admin\u0027, \u0027alt\u0027]"},{"line_number":224,"context_line":"    force_tenant_isolation \u003d False"},{"line_number":225,"context_line":""},{"line_number":226,"context_line":"    @decorators.idempotent_id(\u00270f9f5a5f-d5cd-4a86-8a5b-c5ded151f212\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"ff82abbf_05853008","line":223,"range":{"start_line":223,"start_character":4,"end_line":223,"end_character":45},"updated":"2017-11-23 04:30:00.000000000","message":"This can be removed since credentials in AdminTest class is already \u0027primary\u0027 and \u0027admin\u0027 and we don\u0027t need \u0027alt\u0027 for the test below since os_alt isn\u0027t used anywhere.","commit_id":"468bb5a404b8ac397b00f08f320e3aca73948776"},{"author":{"_account_id":20378,"name":"Trevor McCasland","email":"TM2086@att.com","username":"twm2016"},"change_message_id":"9214e9197feebb587b40b28cc046be3503860f7d","unresolved":false,"context_lines":[{"line_number":220,"context_line":""},{"line_number":221,"context_line":"class TokensV3StaticTestJSON(base.BaseIdentityV3AdminTest):"},{"line_number":222,"context_line":""},{"line_number":223,"context_line":"    credentials \u003d [\u0027primary\u0027, \u0027admin\u0027, \u0027alt\u0027]"},{"line_number":224,"context_line":"    force_tenant_isolation \u003d False"},{"line_number":225,"context_line":""},{"line_number":226,"context_line":"    @decorators.idempotent_id(\u00270f9f5a5f-d5cd-4a86-8a5b-c5ded151f212\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"ff82abbf_03817e4a","line":223,"range":{"start_line":223,"start_character":4,"end_line":223,"end_character":45},"in_reply_to":"ff82abbf_05853008","updated":"2017-11-24 21:34:05.000000000","message":"Done","commit_id":"468bb5a404b8ac397b00f08f320e3aca73948776"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"817296268fdb1a153ef86e94fe386a3aec6aa3ad","unresolved":false,"context_lines":[{"line_number":221,"context_line":"class TokensV3StaticTestJSON(base.BaseIdentityV3AdminTest):"},{"line_number":222,"context_line":""},{"line_number":223,"context_line":"    credentials \u003d [\u0027primary\u0027, \u0027admin\u0027, \u0027alt\u0027]"},{"line_number":224,"context_line":"    force_tenant_isolation \u003d False"},{"line_number":225,"context_line":""},{"line_number":226,"context_line":"    @decorators.idempotent_id(\u00270f9f5a5f-d5cd-4a86-8a5b-c5ded151f212\u0027)"},{"line_number":227,"context_line":"    def test_tokens(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"ff82abbf_e5792c2f","line":224,"updated":"2017-11-23 04:30:00.000000000","message":"Would be nice to put a NOTE above this explaining why this is False to reduce future confusion for others who look at this.","commit_id":"468bb5a404b8ac397b00f08f320e3aca73948776"},{"author":{"_account_id":20378,"name":"Trevor McCasland","email":"TM2086@att.com","username":"twm2016"},"change_message_id":"9214e9197feebb587b40b28cc046be3503860f7d","unresolved":false,"context_lines":[{"line_number":221,"context_line":"class TokensV3StaticTestJSON(base.BaseIdentityV3AdminTest):"},{"line_number":222,"context_line":""},{"line_number":223,"context_line":"    credentials \u003d [\u0027primary\u0027, \u0027admin\u0027, \u0027alt\u0027]"},{"line_number":224,"context_line":"    force_tenant_isolation \u003d False"},{"line_number":225,"context_line":""},{"line_number":226,"context_line":"    @decorators.idempotent_id(\u00270f9f5a5f-d5cd-4a86-8a5b-c5ded151f212\u0027)"},{"line_number":227,"context_line":"    def test_tokens(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"ff82abbf_a399b2c4","line":224,"in_reply_to":"ff82abbf_e5792c2f","updated":"2017-11-24 21:34:05.000000000","message":"Done","commit_id":"468bb5a404b8ac397b00f08f320e3aca73948776"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"9896e97c320a6d587648d7748dd656ae18616d3f","unresolved":false,"context_lines":[{"line_number":226,"context_line":"    @decorators.idempotent_id(\u00270f9f5a5f-d5cd-4a86-8a5b-c5ded151f212\u0027)"},{"line_number":227,"context_line":"    def test_tokens(self):"},{"line_number":228,"context_line":"        # Valid user\u0027s token is authenticated"},{"line_number":229,"context_line":"        user \u003d self.os_admin.credentials"},{"line_number":230,"context_line":"        user_id \u003d user.user_id"},{"line_number":231,"context_line":"        # Perform Authentication"},{"line_number":232,"context_line":"        resp \u003d self.token.auth(user_id\u003duser_id,"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_76be2a65","line":229,"range":{"start_line":229,"start_character":20,"end_line":229,"end_character":28},"updated":"2018-07-02 21:56:04.000000000","message":"If this uses os_primary then shouldn\u0027t need admin base class plus `force_tenant_isolation \u003d False` can be dropped.  This will simplify things. Need to test it though.","commit_id":"b19aff858aa604f7b0bdd5f137cef3150b58212e"},{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"cb75ca33f2ba68ec6d48d8669cc6b6eff5e5d459","unresolved":false,"context_lines":[{"line_number":226,"context_line":"    @decorators.idempotent_id(\u00270f9f5a5f-d5cd-4a86-8a5b-c5ded151f212\u0027)"},{"line_number":227,"context_line":"    def test_tokens(self):"},{"line_number":228,"context_line":"        # Valid user\u0027s token is authenticated"},{"line_number":229,"context_line":"        user \u003d self.os_admin.credentials"},{"line_number":230,"context_line":"        user_id \u003d user.user_id"},{"line_number":231,"context_line":"        # Perform Authentication"},{"line_number":232,"context_line":"        resp \u003d self.token.auth(user_id\u003duser_id,"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_ca80ae9f","line":229,"range":{"start_line":229,"start_character":20,"end_line":229,"end_character":28},"in_reply_to":"5f7c97a3_76be2a65","updated":"2018-07-02 22:52:31.000000000","message":"Done","commit_id":"b19aff858aa604f7b0bdd5f137cef3150b58212e"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"11334d5675e786bb51b5047a0a1443a43e00f81c","unresolved":false,"context_lines":[{"line_number":218,"context_line":"                         % \", \".join(missing_domain_ids))"},{"line_number":219,"context_line":""},{"line_number":220,"context_line":""},{"line_number":221,"context_line":"class TokensV3StaticTestJSON(base.BaseIdentityV3Test):"},{"line_number":222,"context_line":""},{"line_number":223,"context_line":"    @decorators.idempotent_id(\u00270f9f5a5f-d5cd-4a86-8a5b-c5ded151f212\u0027)"},{"line_number":224,"context_line":"    def test_tokens(self):"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_0e63081b","line":221,"range":{"start_line":221,"start_character":6,"end_line":221,"end_character":28},"updated":"2018-07-03 15:26:57.000000000","message":"nit: I think TokensStaticV3TestJSON is better. \n\nWe should also add a comment underneath this explaining why it\u0027s isolated:\n\n# Tests basic token auth functionality in a way that is compatible\n# with pre-provisioned credentails. The default user is used for\n# token authentication.","commit_id":"69189bb5dde9d4c48958fa6961cc7aa80418c911"},{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"e4abd545b4ed4bacdeaeeccd4a61f4fcf38184b5","unresolved":false,"context_lines":[{"line_number":218,"context_line":"                         % \", \".join(missing_domain_ids))"},{"line_number":219,"context_line":""},{"line_number":220,"context_line":""},{"line_number":221,"context_line":"class TokensV3StaticTestJSON(base.BaseIdentityV3Test):"},{"line_number":222,"context_line":""},{"line_number":223,"context_line":"    @decorators.idempotent_id(\u00270f9f5a5f-d5cd-4a86-8a5b-c5ded151f212\u0027)"},{"line_number":224,"context_line":"    def test_tokens(self):"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_02be7963","line":221,"range":{"start_line":221,"start_character":6,"end_line":221,"end_character":28},"in_reply_to":"5f7c97a3_0e63081b","updated":"2018-07-03 18:56:21.000000000","message":"Moving this to the non-admin folder.  But Done.","commit_id":"69189bb5dde9d4c48958fa6961cc7aa80418c911"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"11334d5675e786bb51b5047a0a1443a43e00f81c","unresolved":false,"context_lines":[{"line_number":219,"context_line":""},{"line_number":220,"context_line":""},{"line_number":221,"context_line":"class TokensV3StaticTestJSON(base.BaseIdentityV3Test):"},{"line_number":222,"context_line":""},{"line_number":223,"context_line":"    @decorators.idempotent_id(\u00270f9f5a5f-d5cd-4a86-8a5b-c5ded151f212\u0027)"},{"line_number":224,"context_line":"    def test_tokens(self):"},{"line_number":225,"context_line":"        # Valid user\u0027s token is authenticated"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_eeba4c6f","line":222,"updated":"2018-07-03 15:26:57.000000000","message":"Similarly, this is failing due to missing initialization of cls.token in base. WIll need:\n\n    @classmethod\n    def setup_clients(cls):\n        super(TokensV3StaticTestJSON, cls).setup_clients()\n        cls.token \u003d cls.os_admin.token_v3_client","commit_id":"69189bb5dde9d4c48958fa6961cc7aa80418c911"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"f18112a6c7bacf0ebcc8e5b04d7a07b065787563","unresolved":false,"context_lines":[{"line_number":219,"context_line":""},{"line_number":220,"context_line":""},{"line_number":221,"context_line":"class TokensV3StaticTestJSON(base.BaseIdentityV3Test):"},{"line_number":222,"context_line":""},{"line_number":223,"context_line":"    @decorators.idempotent_id(\u00270f9f5a5f-d5cd-4a86-8a5b-c5ded151f212\u0027)"},{"line_number":224,"context_line":"    def test_tokens(self):"},{"line_number":225,"context_line":"        # Valid user\u0027s token is authenticated"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_e7334fc3","line":222,"in_reply_to":"5f7c97a3_0e4c689b","updated":"2018-07-03 17:34:25.000000000","message":"Now that I think about it this should go into the non-admin directory as well.","commit_id":"69189bb5dde9d4c48958fa6961cc7aa80418c911"},{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"e4abd545b4ed4bacdeaeeccd4a61f4fcf38184b5","unresolved":false,"context_lines":[{"line_number":219,"context_line":""},{"line_number":220,"context_line":""},{"line_number":221,"context_line":"class TokensV3StaticTestJSON(base.BaseIdentityV3Test):"},{"line_number":222,"context_line":""},{"line_number":223,"context_line":"    @decorators.idempotent_id(\u00270f9f5a5f-d5cd-4a86-8a5b-c5ded151f212\u0027)"},{"line_number":224,"context_line":"    def test_tokens(self):"},{"line_number":225,"context_line":"        # Valid user\u0027s token is authenticated"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_c2b72185","line":222,"in_reply_to":"5f7c97a3_e7334fc3","updated":"2018-07-03 18:56:21.000000000","message":"Done","commit_id":"69189bb5dde9d4c48958fa6961cc7aa80418c911"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"95f5bc553726f2483ccdb5c0d25d4ab467ea26de","unresolved":false,"context_lines":[{"line_number":219,"context_line":""},{"line_number":220,"context_line":""},{"line_number":221,"context_line":"class TokensV3StaticTestJSON(base.BaseIdentityV3Test):"},{"line_number":222,"context_line":""},{"line_number":223,"context_line":"    @decorators.idempotent_id(\u00270f9f5a5f-d5cd-4a86-8a5b-c5ded151f212\u0027)"},{"line_number":224,"context_line":"    def test_tokens(self):"},{"line_number":225,"context_line":"        # Valid user\u0027s token is authenticated"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_0e4c689b","line":222,"in_reply_to":"5f7c97a3_eeba4c6f","updated":"2018-07-03 15:27:53.000000000","message":"Whoops, cls.token should be cls.os_primary.token_v3_client","commit_id":"69189bb5dde9d4c48958fa6961cc7aa80418c911"}],"tempest/api/identity/v3/test_tokens.py":[{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"f2ae8b11f5d952df3c3aa1f29170ffc6cf8ae6ce","unresolved":false,"context_lines":[{"line_number":93,"context_line":"        self.assertEqual(resp[\u0027methods\u0027][0], \u0027password\u0027)"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"class TokensStaticV3Test(base.BaseIdentityV3Test):"},{"line_number":97,"context_line":"    # Tests basic token auth functionality in a way that is compatible with"},{"line_number":98,"context_line":"    # pre-provisioned credentials. The default user is used for token"},{"line_number":99,"context_line":"    # authentication."}],"source_content_type":"text/x-python","patch_set":5,"id":"5f7c97a3_dd72a4b0","line":96,"range":{"start_line":96,"start_character":6,"end_line":96,"end_character":24},"updated":"2018-07-03 19:09:27.000000000","message":"Can combine with test class above.","commit_id":"0512cba7226521da043616052b98e59f8226d432"},{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"db5406f979f201d3728dcaec88452a0127c22c49","unresolved":false,"context_lines":[{"line_number":93,"context_line":"        self.assertEqual(resp[\u0027methods\u0027][0], \u0027password\u0027)"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"class TokensStaticV3Test(base.BaseIdentityV3Test):"},{"line_number":97,"context_line":"    # Tests basic token auth functionality in a way that is compatible with"},{"line_number":98,"context_line":"    # pre-provisioned credentials. The default user is used for token"},{"line_number":99,"context_line":"    # authentication."}],"source_content_type":"text/x-python","patch_set":5,"id":"5f7c97a3_1416b24b","line":96,"range":{"start_line":96,"start_character":6,"end_line":96,"end_character":24},"in_reply_to":"5f7c97a3_dd72a4b0","updated":"2018-07-04 02:06:47.000000000","message":"Done","commit_id":"0512cba7226521da043616052b98e59f8226d432"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"f2ae8b11f5d952df3c3aa1f29170ffc6cf8ae6ce","unresolved":false,"context_lines":[{"line_number":94,"context_line":""},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"class TokensStaticV3Test(base.BaseIdentityV3Test):"},{"line_number":97,"context_line":"    # Tests basic token auth functionality in a way that is compatible with"},{"line_number":98,"context_line":"    # pre-provisioned credentials. The default user is used for token"},{"line_number":99,"context_line":"    # authentication."},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"    @classmethod"},{"line_number":102,"context_line":"    def setup_clients(cls):"}],"source_content_type":"text/x-python","patch_set":5,"id":"5f7c97a3_9def4c1c","line":99,"range":{"start_line":97,"start_character":0,"end_line":99,"end_character":21},"updated":"2018-07-03 19:09:27.000000000","message":"I guess we can move this down into the test itself post-test class merge.","commit_id":"0512cba7226521da043616052b98e59f8226d432"},{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"db5406f979f201d3728dcaec88452a0127c22c49","unresolved":false,"context_lines":[{"line_number":94,"context_line":""},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"class TokensStaticV3Test(base.BaseIdentityV3Test):"},{"line_number":97,"context_line":"    # Tests basic token auth functionality in a way that is compatible with"},{"line_number":98,"context_line":"    # pre-provisioned credentials. The default user is used for token"},{"line_number":99,"context_line":"    # authentication."},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"    @classmethod"},{"line_number":102,"context_line":"    def setup_clients(cls):"}],"source_content_type":"text/x-python","patch_set":5,"id":"5f7c97a3_740da633","line":99,"range":{"start_line":97,"start_character":0,"end_line":99,"end_character":21},"in_reply_to":"5f7c97a3_9def4c1c","updated":"2018-07-04 02:06:47.000000000","message":"Done","commit_id":"0512cba7226521da043616052b98e59f8226d432"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"f2ae8b11f5d952df3c3aa1f29170ffc6cf8ae6ce","unresolved":false,"context_lines":[{"line_number":98,"context_line":"    # pre-provisioned credentials. The default user is used for token"},{"line_number":99,"context_line":"    # authentication."},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"    @classmethod"},{"line_number":102,"context_line":"    def setup_clients(cls):"},{"line_number":103,"context_line":"        super(TokensStaticV3TestJSON, cls).setup_clients()"},{"line_number":104,"context_line":"        cls.token \u003d cls.os_primary.token_v3_client"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"    @decorators.idempotent_id(\u00270f9f5a5f-d5cd-4a86-8a5b-c5ded151f212\u0027)"},{"line_number":107,"context_line":"    def test_create_token(self):"}],"source_content_type":"text/x-python","patch_set":5,"id":"5f7c97a3_1d47bc4e","line":104,"range":{"start_line":101,"start_character":0,"end_line":104,"end_character":50},"updated":"2018-07-03 19:09:27.000000000","message":"Can remove.","commit_id":"0512cba7226521da043616052b98e59f8226d432"},{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"db5406f979f201d3728dcaec88452a0127c22c49","unresolved":false,"context_lines":[{"line_number":98,"context_line":"    # pre-provisioned credentials. The default user is used for token"},{"line_number":99,"context_line":"    # authentication."},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"    @classmethod"},{"line_number":102,"context_line":"    def setup_clients(cls):"},{"line_number":103,"context_line":"        super(TokensStaticV3TestJSON, cls).setup_clients()"},{"line_number":104,"context_line":"        cls.token \u003d cls.os_primary.token_v3_client"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"    @decorators.idempotent_id(\u00270f9f5a5f-d5cd-4a86-8a5b-c5ded151f212\u0027)"},{"line_number":107,"context_line":"    def test_create_token(self):"}],"source_content_type":"text/x-python","patch_set":5,"id":"5f7c97a3_5410aa4f","line":104,"range":{"start_line":101,"start_character":0,"end_line":104,"end_character":50},"in_reply_to":"5f7c97a3_1d47bc4e","updated":"2018-07-04 02:06:47.000000000","message":"Done","commit_id":"0512cba7226521da043616052b98e59f8226d432"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"f2ae8b11f5d952df3c3aa1f29170ffc6cf8ae6ce","unresolved":false,"context_lines":[{"line_number":104,"context_line":"        cls.token \u003d cls.os_primary.token_v3_client"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"    @decorators.idempotent_id(\u00270f9f5a5f-d5cd-4a86-8a5b-c5ded151f212\u0027)"},{"line_number":107,"context_line":"    def test_create_token(self):"},{"line_number":108,"context_line":"        # Valid user\u0027s token is authenticated"},{"line_number":109,"context_line":"        user \u003d self.os_primary.credentials"},{"line_number":110,"context_line":"        user_id \u003d user.user_id"}],"source_content_type":"text/x-python","patch_set":5,"id":"5f7c97a3_1d601ccf","line":107,"range":{"start_line":107,"start_character":8,"end_line":107,"end_character":25},"updated":"2018-07-03 19:09:27.000000000","message":"Should rename to:\n\n    test_token_auth_creation_existence_deletion\n\nThe admin version of this isn\u0027t in interop so we should be able to safely rename it: http://codesearch.openstack.org/?q\u003dtest_create_token\u0026i\u003dnope\u0026files\u003d\u0026repos\u003dinterop","commit_id":"0512cba7226521da043616052b98e59f8226d432"},{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"db5406f979f201d3728dcaec88452a0127c22c49","unresolved":false,"context_lines":[{"line_number":104,"context_line":"        cls.token \u003d cls.os_primary.token_v3_client"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"    @decorators.idempotent_id(\u00270f9f5a5f-d5cd-4a86-8a5b-c5ded151f212\u0027)"},{"line_number":107,"context_line":"    def test_create_token(self):"},{"line_number":108,"context_line":"        # Valid user\u0027s token is authenticated"},{"line_number":109,"context_line":"        user \u003d self.os_primary.credentials"},{"line_number":110,"context_line":"        user_id \u003d user.user_id"}],"source_content_type":"text/x-python","patch_set":5,"id":"5f7c97a3_d4fcba0d","line":107,"range":{"start_line":107,"start_character":8,"end_line":107,"end_character":25},"in_reply_to":"5f7c97a3_1d601ccf","updated":"2018-07-04 02:06:47.000000000","message":"Done","commit_id":"0512cba7226521da043616052b98e59f8226d432"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"f2ae8b11f5d952df3c3aa1f29170ffc6cf8ae6ce","unresolved":false,"context_lines":[{"line_number":109,"context_line":"        user \u003d self.os_primary.credentials"},{"line_number":110,"context_line":"        user_id \u003d user.user_id"},{"line_number":111,"context_line":"        # Perform Authentication"},{"line_number":112,"context_line":"        resp \u003d self.token.auth(user_id\u003duser_id,"},{"line_number":113,"context_line":"                               password\u003duser.password).response"},{"line_number":114,"context_line":"        subject_token \u003d resp[\u0027x-subject-token\u0027]"},{"line_number":115,"context_line":"        self.client.check_token_existence(subject_token)"}],"source_content_type":"text/x-python","patch_set":5,"id":"5f7c97a3_9d53cc16","line":112,"range":{"start_line":112,"start_character":20,"end_line":112,"end_character":25},"updated":"2018-07-03 19:09:27.000000000","message":"self.non_admin_token\n\nI missed this but as you can see this in above class is initialized in base non-admin class.","commit_id":"0512cba7226521da043616052b98e59f8226d432"},{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"db5406f979f201d3728dcaec88452a0127c22c49","unresolved":false,"context_lines":[{"line_number":109,"context_line":"        user \u003d self.os_primary.credentials"},{"line_number":110,"context_line":"        user_id \u003d user.user_id"},{"line_number":111,"context_line":"        # Perform Authentication"},{"line_number":112,"context_line":"        resp \u003d self.token.auth(user_id\u003duser_id,"},{"line_number":113,"context_line":"                               password\u003duser.password).response"},{"line_number":114,"context_line":"        subject_token \u003d resp[\u0027x-subject-token\u0027]"},{"line_number":115,"context_line":"        self.client.check_token_existence(subject_token)"}],"source_content_type":"text/x-python","patch_set":5,"id":"5f7c97a3_743606ea","line":112,"range":{"start_line":112,"start_character":20,"end_line":112,"end_character":25},"in_reply_to":"5f7c97a3_9d53cc16","updated":"2018-07-04 02:06:47.000000000","message":"Done","commit_id":"0512cba7226521da043616052b98e59f8226d432"},{"author":{"_account_id":27078,"name":"Manik Bindlish","email":"manikbindlish19@gmail.com","username":"manik"},"change_message_id":"9cfa236d6f2cc08d03c44df564825e6d3ee326de","unresolved":false,"context_lines":[{"line_number":103,"context_line":"        user_id \u003d user.user_id"},{"line_number":104,"context_line":"        # Perform Authentication"},{"line_number":105,"context_line":"        resp \u003d self.non_admin_token.auth("},{"line_number":106,"context_line":"            user_id\u003duser_id, password\u003duser.password).response"},{"line_number":107,"context_line":"        subject_token \u003d resp[\u0027x-subject-token\u0027]"},{"line_number":108,"context_line":"        self.non_admin_client.check_token_existence(subject_token)"},{"line_number":109,"context_line":"        # Perform GET Token"}],"source_content_type":"text/x-python","patch_set":9,"id":"5f7c97a3_e7034175","line":106,"range":{"start_line":106,"start_character":20,"end_line":106,"end_character":51},"updated":"2018-07-04 09:32:59.000000000","message":"nit: if user.user_id is assigned in user_id then further things should be use in same way. I mean for user.password\nsame convention should be followed","commit_id":"9acff04c60e8c5644e51f0dcbf0e95d8bc2b720d"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"5f8df30182e6e242f93dfe0d46ad511b5f3e69ea","unresolved":false,"context_lines":[{"line_number":103,"context_line":"        user_id \u003d user.user_id"},{"line_number":104,"context_line":"        # Perform Authentication"},{"line_number":105,"context_line":"        resp \u003d self.non_admin_token.auth("},{"line_number":106,"context_line":"            user_id\u003duser_id, password\u003duser.password).response"},{"line_number":107,"context_line":"        subject_token \u003d resp[\u0027x-subject-token\u0027]"},{"line_number":108,"context_line":"        self.non_admin_client.check_token_existence(subject_token)"},{"line_number":109,"context_line":"        # Perform GET Token"}],"source_content_type":"text/x-python","patch_set":9,"id":"5f7c97a3_3d1b736f","line":106,"range":{"start_line":106,"start_character":20,"end_line":106,"end_character":51},"in_reply_to":"5f7c97a3_56ed04b6","updated":"2018-07-05 13:19:04.000000000","message":"These changes are unrelated to patchset but are quite trivial, so I think it\u0027s OK","commit_id":"9acff04c60e8c5644e51f0dcbf0e95d8bc2b720d"},{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"a8471b6109fe12a1934d1d81c4dac2687561e8e6","unresolved":false,"context_lines":[{"line_number":103,"context_line":"        user_id \u003d user.user_id"},{"line_number":104,"context_line":"        # Perform Authentication"},{"line_number":105,"context_line":"        resp \u003d self.non_admin_token.auth("},{"line_number":106,"context_line":"            user_id\u003duser_id, password\u003duser.password).response"},{"line_number":107,"context_line":"        subject_token \u003d resp[\u0027x-subject-token\u0027]"},{"line_number":108,"context_line":"        self.non_admin_client.check_token_existence(subject_token)"},{"line_number":109,"context_line":"        # Perform GET Token"}],"source_content_type":"text/x-python","patch_set":9,"id":"5f7c97a3_56ed04b6","line":106,"range":{"start_line":106,"start_character":20,"end_line":106,"end_character":51},"in_reply_to":"5f7c97a3_e7034175","updated":"2018-07-04 14:21:47.000000000","message":"Done","commit_id":"9acff04c60e8c5644e51f0dcbf0e95d8bc2b720d"},{"author":{"_account_id":27078,"name":"Manik Bindlish","email":"manikbindlish19@gmail.com","username":"manik"},"change_message_id":"9cfa236d6f2cc08d03c44df564825e6d3ee326de","unresolved":false,"context_lines":[{"line_number":111,"context_line":"            subject_token)[\u0027token\u0027]"},{"line_number":112,"context_line":"        self.assertEqual(resp[\u0027x-subject-token\u0027], subject_token)"},{"line_number":113,"context_line":"        self.assertEqual(token_details[\u0027user\u0027][\u0027id\u0027], user_id)"},{"line_number":114,"context_line":"        self.assertEqual(token_details[\u0027user\u0027][\u0027name\u0027], user.username)"},{"line_number":115,"context_line":"        # Perform Delete Token"},{"line_number":116,"context_line":"        self.non_admin_client.delete_token(subject_token)"},{"line_number":117,"context_line":"        self.assertRaises(lib_exc.NotFound,"}],"source_content_type":"text/x-python","patch_set":9,"id":"5f7c97a3_c7fe4569","line":114,"range":{"start_line":114,"start_character":56,"end_line":114,"end_character":69},"updated":"2018-07-04 09:32:59.000000000","message":"ditto","commit_id":"9acff04c60e8c5644e51f0dcbf0e95d8bc2b720d"},{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"a8471b6109fe12a1934d1d81c4dac2687561e8e6","unresolved":false,"context_lines":[{"line_number":111,"context_line":"            subject_token)[\u0027token\u0027]"},{"line_number":112,"context_line":"        self.assertEqual(resp[\u0027x-subject-token\u0027], subject_token)"},{"line_number":113,"context_line":"        self.assertEqual(token_details[\u0027user\u0027][\u0027id\u0027], user_id)"},{"line_number":114,"context_line":"        self.assertEqual(token_details[\u0027user\u0027][\u0027name\u0027], user.username)"},{"line_number":115,"context_line":"        # Perform Delete Token"},{"line_number":116,"context_line":"        self.non_admin_client.delete_token(subject_token)"},{"line_number":117,"context_line":"        self.assertRaises(lib_exc.NotFound,"}],"source_content_type":"text/x-python","patch_set":9,"id":"5f7c97a3_76ea80a0","line":114,"range":{"start_line":114,"start_character":56,"end_line":114,"end_character":69},"in_reply_to":"5f7c97a3_c7fe4569","updated":"2018-07-04 14:21:47.000000000","message":"Done","commit_id":"9acff04c60e8c5644e51f0dcbf0e95d8bc2b720d"}]}
