)]}'
{"tempest/api/identity/admin/v3/test_tokens.py":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"c63fb0559b69f59705b33421fc417f2ae7951e3e","unresolved":false,"context_lines":[{"line_number":52,"context_line":"        resp, _ \u003d self.client.delete_token(subject_token)"},{"line_number":53,"context_line":"        self.assertRaises(exceptions.NotFound, self.client.get_token,"},{"line_number":54,"context_line":"                          subject_token)"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"    def test_tokens_nocatalog(self):"},{"line_number":57,"context_line":"        # Valid user\u0027s token with nocatalog"},{"line_number":58,"context_line":"        alt_user \u003d CONF.identity.alt_username"}],"source_content_type":"text/x-python","patch_set":3,"id":"7adec928_eea3e4fd","line":55,"updated":"2014-05-15 15:36:34.000000000","message":"Type of test is missing.","commit_id":"e9afe4915f8d47039ea0e33c5f9eb26ff55576c3"},{"author":{"_account_id":2238,"name":"rajalakshmi-ganesan","email":"rajalakshmi.girish@hpe.com","username":"rajalakshmi-ganesan"},"change_message_id":"29a2eaafa744306927ea601bacc368c1d9547e2f","unresolved":false,"context_lines":[{"line_number":52,"context_line":"        resp, _ \u003d self.client.delete_token(subject_token)"},{"line_number":53,"context_line":"        self.assertRaises(exceptions.NotFound, self.client.get_token,"},{"line_number":54,"context_line":"                          subject_token)"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"    def test_tokens_nocatalog(self):"},{"line_number":57,"context_line":"        # Valid user\u0027s token with nocatalog"},{"line_number":58,"context_line":"        alt_user \u003d CONF.identity.alt_username"}],"source_content_type":"text/x-python","patch_set":3,"id":"7adec928_7c2860e2","line":55,"in_reply_to":"7adec928_eea3e4fd","updated":"2014-05-16 15:07:56.000000000","message":"Done","commit_id":"e9afe4915f8d47039ea0e33c5f9eb26ff55576c3"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"c63fb0559b69f59705b33421fc417f2ae7951e3e","unresolved":false,"context_lines":[{"line_number":77,"context_line":""},{"line_number":78,"context_line":"        # Perform Delete Token"},{"line_number":79,"context_line":"        resp, _ \u003d self.client.delete_token(subject_token)"},{"line_number":80,"context_line":"        self.assertRaises(exceptions.NotFound, self.client.get_token,"},{"line_number":81,"context_line":"                          subject_token)"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"    @attr(type\u003d\u0027gate\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"7adec928_0e72d0ac","line":80,"updated":"2014-05-15 15:36:34.000000000","message":"Please check the \u0027resp\u0027 for delete call.","commit_id":"e9afe4915f8d47039ea0e33c5f9eb26ff55576c3"},{"author":{"_account_id":2238,"name":"rajalakshmi-ganesan","email":"rajalakshmi.girish@hpe.com","username":"rajalakshmi-ganesan"},"change_message_id":"29a2eaafa744306927ea601bacc368c1d9547e2f","unresolved":false,"context_lines":[{"line_number":77,"context_line":""},{"line_number":78,"context_line":"        # Perform Delete Token"},{"line_number":79,"context_line":"        resp, _ \u003d self.client.delete_token(subject_token)"},{"line_number":80,"context_line":"        self.assertRaises(exceptions.NotFound, self.client.get_token,"},{"line_number":81,"context_line":"                          subject_token)"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"    @attr(type\u003d\u0027gate\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"7adec928_9c252c0b","line":80,"in_reply_to":"7adec928_0e72d0ac","updated":"2014-05-16 15:07:56.000000000","message":"Done","commit_id":"e9afe4915f8d47039ea0e33c5f9eb26ff55576c3"},{"author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"change_message_id":"f0f7b20f980870e93fbb34c5c826ce5657867bb0","unresolved":false,"context_lines":[{"line_number":53,"context_line":"        self.assertRaises(exceptions.NotFound, self.client.get_token,"},{"line_number":54,"context_line":"                          subject_token)"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"    @attr(type\u003d\u0027smoke\u0027)"},{"line_number":57,"context_line":"    def test_tokens_nocatalog(self):"},{"line_number":58,"context_line":"        # Valid user\u0027s token with nocatalog"},{"line_number":59,"context_line":"        alt_user \u003d CONF.identity.alt_username"}],"source_content_type":"text/x-python","patch_set":4,"id":"3ae8d1ca_a6a3f54d","line":56,"updated":"2014-05-29 05:33:07.000000000","message":"Is this test able to work with the havana keystone config ?\nIf not it might break the grenade test.\nMay be Would be better to flag it as \u0027gete\u0027.","commit_id":"f656207c2bb5e6bce86e013e763fcd05b28b85e3"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"5e002270eec494827851c9b2b9ff6d2ab718da7f","unresolved":false,"context_lines":[{"line_number":63,"context_line":""},{"line_number":64,"context_line":"        # Perform POST Token with nocatalog"},{"line_number":65,"context_line":"        resp, body \u003d self.token.auth(user_id, alt_pass, nocatalog\u003dTrue)"},{"line_number":66,"context_line":"        self.assertEqual(201, resp.status)"},{"line_number":67,"context_line":"        subject_token \u003d resp[\u0027x-subject-token\u0027]"},{"line_number":68,"context_line":"        self.assertNotIn(\u0027catalog\u0027, body[\u0027token\u0027])"},{"line_number":69,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"1ae5cdf2_b42b5293","line":66,"updated":"2014-06-09 08:09:20.000000000","message":"Add delete_token request with addCleanup also to avoid any resource leakage in case of failure before call to delete.","commit_id":"0134aeb0e5a5c91fbb30811f4ce7852c731c73d0"},{"author":{"_account_id":2222,"name":"meenakshi-m","username":"meenakshi-m"},"change_message_id":"d4d3ff57196532c2f7b61481e33b2997ccdb7788","unresolved":false,"context_lines":[{"line_number":63,"context_line":""},{"line_number":64,"context_line":"        # Perform POST Token with nocatalog"},{"line_number":65,"context_line":"        resp, body \u003d self.token.auth(user_id, alt_pass, nocatalog\u003dTrue)"},{"line_number":66,"context_line":"        self.assertEqual(201, resp.status)"},{"line_number":67,"context_line":"        subject_token \u003d resp[\u0027x-subject-token\u0027]"},{"line_number":68,"context_line":"        self.assertNotIn(\u0027catalog\u0027, body[\u0027token\u0027])"},{"line_number":69,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"1ae5cdf2_79bb1a0f","line":66,"in_reply_to":"1ae5cdf2_b42b5293","updated":"2014-06-11 12:28:03.000000000","message":"Done","commit_id":"0134aeb0e5a5c91fbb30811f4ce7852c731c73d0"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"cdf96ef870963347b7b5610fb0be8f7804536edc","unresolved":false,"context_lines":[{"line_number":25,"context_line":"class TokensV3TestJSON(base.BaseIdentityV3AdminTest):"},{"line_number":26,"context_line":"    _interface \u003d \u0027json\u0027"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"    def _delete_token(self, subject_token):"},{"line_number":29,"context_line":"        resp, _ \u003d self.client.delete_token(subject_token)"},{"line_number":30,"context_line":"        self.assertEqual(204, resp.status)"},{"line_number":31,"context_line":"        self.assertRaises("}],"source_content_type":"text/x-python","patch_set":7,"id":"1ae5cdf2_836f475f","line":28,"updated":"2014-06-13 13:46:12.000000000","message":"If you want to introduce a new helper function, make sure the rest of the code uses it. This way we have a consistent code base. (see line 58 of this file)","commit_id":"bbd3cc29c44c74717bb7ea07664febe1668ca738"},{"author":{"_account_id":6455,"name":"Harika Vakadi","email":"harika_vakadi@persistent.co.in","username":"harika-vakadi"},"change_message_id":"998fd2da615dc334dafa42d9a8dddee301c39297","unresolved":false,"context_lines":[{"line_number":25,"context_line":"class TokensV3TestJSON(base.BaseIdentityV3AdminTest):"},{"line_number":26,"context_line":"    _interface \u003d \u0027json\u0027"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"    def _delete_token(self, subject_token):"},{"line_number":29,"context_line":"        resp, _ \u003d self.client.delete_token(subject_token)"},{"line_number":30,"context_line":"        self.assertEqual(204, resp.status)"},{"line_number":31,"context_line":"        self.assertRaises("}],"source_content_type":"text/x-python","patch_set":7,"id":"1ae5cdf2_2aaa88d2","line":28,"in_reply_to":"1ae5cdf2_836f475f","updated":"2014-06-16 14:17:14.000000000","message":"Done","commit_id":"bbd3cc29c44c74717bb7ea07664febe1668ca738"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"45d2ecf5e64adf83457356f4b972b780264d96c8","unresolved":false,"context_lines":[{"line_number":176,"context_line":"        self.assertEqual(role[\u0027name\u0027], token_auth[\u0027token\u0027][\u0027roles\u0027][0][\u0027name\u0027])"},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"        # Revoke the unscoped token."},{"line_number":179,"context_line":"        self.addCleanup(self._delete_token, token1_id)"},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"        # Now get another scoped token using the unscoped token."},{"line_number":182,"context_line":"        resp, token_auth \u003d self.token.auth(token\u003dtoken_id,"}],"source_content_type":"text/x-python","patch_set":8,"id":"1ae5cdf2_4a9194f0","line":179,"updated":"2014-06-16 14:26:40.000000000","message":"Are you sure about this ? Do you know what addCleanup is doing and when it is run ? \n\nFor this change, on this line, I am afraid you might change the meaning and the purpose of this test.","commit_id":"142e6bc0dbc124c362e71803f577d3851ea95e0c"},{"author":{"_account_id":2238,"name":"rajalakshmi-ganesan","email":"rajalakshmi.girish@hpe.com","username":"rajalakshmi-ganesan"},"change_message_id":"5382e2f51b39c4b21de2cd8de7c1ad709998271c","unresolved":false,"context_lines":[{"line_number":176,"context_line":"        self.assertEqual(role[\u0027name\u0027], token_auth[\u0027token\u0027][\u0027roles\u0027][0][\u0027name\u0027])"},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"        # Revoke the unscoped token."},{"line_number":179,"context_line":"        self.addCleanup(self._delete_token, token1_id)"},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"        # Now get another scoped token using the unscoped token."},{"line_number":182,"context_line":"        resp, token_auth \u003d self.token.auth(token\u003dtoken_id,"}],"source_content_type":"text/x-python","patch_set":8,"id":"1ae5cdf2_089eaf07","line":179,"in_reply_to":"1ae5cdf2_4a9194f0","updated":"2014-06-16 16:54:54.000000000","message":"Hi Pitter,\n\nYes, you are right. This addition would change the purpose of test. \n\naddCleanup runs at the end of complete test script and deletes resources in the order of \u0027last in first out\u0027. Thus it is not correct to change \u0027client.delete_token\u0027 to \u0027addCleanup\u0027 here. \n\nThe change is restored back in next patch . Patch set-9.\n\nThank you,\nRajalakshmi Ganesan","commit_id":"142e6bc0dbc124c362e71803f577d3851ea95e0c"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"64cc3ce47b6f346f5f1849272fbfcd39fd038800","unresolved":false,"context_lines":[{"line_number":55,"context_line":"        self.assertEqual(token_details[\u0027user\u0027][\u0027id\u0027], user[\u0027id\u0027])"},{"line_number":56,"context_line":"        self.assertEqual(token_details[\u0027user\u0027][\u0027name\u0027], u_name)"},{"line_number":57,"context_line":"        # Perform Delete Token"},{"line_number":58,"context_line":"        self.addCleanup(self._delete_token, subject_token)"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"    @test.attr(type\u003d\u0027gate\u0027)"},{"line_number":61,"context_line":"    def test_tokens_nocatalog(self):"}],"source_content_type":"text/x-python","patch_set":9,"id":"1ae5cdf2_1e467c7b","line":58,"updated":"2014-06-18 16:33:31.000000000","message":"May be it will be better to put this line in front of L51.","commit_id":"d67e1d31592652893227993089ced9d9c1cb15a5"},{"author":{"_account_id":6455,"name":"Harika Vakadi","email":"harika_vakadi@persistent.co.in","username":"harika-vakadi"},"change_message_id":"6fc83be556fafd40406b15f7afcb24f2c1b3837c","unresolved":false,"context_lines":[{"line_number":55,"context_line":"        self.assertEqual(token_details[\u0027user\u0027][\u0027id\u0027], user[\u0027id\u0027])"},{"line_number":56,"context_line":"        self.assertEqual(token_details[\u0027user\u0027][\u0027name\u0027], u_name)"},{"line_number":57,"context_line":"        # Perform Delete Token"},{"line_number":58,"context_line":"        self.addCleanup(self._delete_token, subject_token)"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"    @test.attr(type\u003d\u0027gate\u0027)"},{"line_number":61,"context_line":"    def test_tokens_nocatalog(self):"}],"source_content_type":"text/x-python","patch_set":9,"id":"1ae5cdf2_90941438","line":58,"in_reply_to":"1ae5cdf2_1e467c7b","updated":"2014-06-19 13:02:27.000000000","message":"Hi Yaroslav,\n\nPlease look into my explanation in https://review.openstack.org/#/c/92100/6/tempest/api/identity/admin/v3/test_users.py. If furthur required, I will update in next patch.\n\nRegards,\nHarika","commit_id":"d67e1d31592652893227993089ced9d9c1cb15a5"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"367fe334b7c4de4660c380e79571a6af31858d09","unresolved":false,"context_lines":[{"line_number":55,"context_line":"        self.assertEqual(token_details[\u0027user\u0027][\u0027id\u0027], user[\u0027id\u0027])"},{"line_number":56,"context_line":"        self.assertEqual(token_details[\u0027user\u0027][\u0027name\u0027], u_name)"},{"line_number":57,"context_line":"        # Perform Delete Token"},{"line_number":58,"context_line":"        self.addCleanup(self._delete_token, subject_token)"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"    @test.attr(type\u003d\u0027gate\u0027)"},{"line_number":61,"context_line":"    def test_tokens_nocatalog(self):"}],"source_content_type":"text/x-python","patch_set":9,"id":"1ae5cdf2_cb28c699","line":58,"in_reply_to":"1ae5cdf2_1e467c7b","updated":"2014-06-19 00:29:55.000000000","message":"Yes, even i will suggest before L50.","commit_id":"d67e1d31592652893227993089ced9d9c1cb15a5"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"cb76a2774dee3b16904c17c6da8bf7a2ee208717","unresolved":false,"context_lines":[{"line_number":55,"context_line":"        self.assertEqual(token_details[\u0027user\u0027][\u0027id\u0027], user[\u0027id\u0027])"},{"line_number":56,"context_line":"        self.assertEqual(token_details[\u0027user\u0027][\u0027name\u0027], u_name)"},{"line_number":57,"context_line":"        # Perform Delete Token"},{"line_number":58,"context_line":"        self.addCleanup(self._delete_token, subject_token)"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"    @test.attr(type\u003d\u0027gate\u0027)"},{"line_number":61,"context_line":"    def test_tokens_nocatalog(self):"}],"source_content_type":"text/x-python","patch_set":9,"id":"1ae5cdf2_a0953d33","line":58,"in_reply_to":"1ae5cdf2_90941438","updated":"2014-06-19 15:36:53.000000000","message":"Harika, I think self.addCleanup(...) should be placed right after self.assertEqual(...). I agree with Ghanshyam.","commit_id":"d67e1d31592652893227993089ced9d9c1cb15a5"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"fbd6efd2e5c4684c9de895be516e1e493eb5fc1b","unresolved":false,"context_lines":[{"line_number":55,"context_line":"        self.assertEqual(token_details[\u0027user\u0027][\u0027id\u0027], user[\u0027id\u0027])"},{"line_number":56,"context_line":"        self.assertEqual(token_details[\u0027user\u0027][\u0027name\u0027], u_name)"},{"line_number":57,"context_line":"        # Perform Delete Token"},{"line_number":58,"context_line":"        self.addCleanup(self._delete_token, subject_token)"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"    @test.attr(type\u003d\u0027gate\u0027)"},{"line_number":61,"context_line":"    def test_tokens_nocatalog(self):"}],"source_content_type":"text/x-python","patch_set":9,"id":"1ae5cdf2_fb96d447","line":58,"in_reply_to":"1ae5cdf2_a0953d33","updated":"2014-06-22 19:37:47.000000000","message":"Harika, I mean to add self.addCleanup(...) right after lines\n\n    self.assertEqual(201, resp.status)\n    subject_token \u003d resp[\u0027x-subject-token\u0027]\n\nto avoid leakage of resources if failure happens in line 52 or 53, or 54, ... .","commit_id":"d67e1d31592652893227993089ced9d9c1cb15a5"},{"author":{"_account_id":6455,"name":"Harika Vakadi","email":"harika_vakadi@persistent.co.in","username":"harika-vakadi"},"change_message_id":"4211abc8d9dd3d5d6591de8b345cedbacbc2c5e4","unresolved":false,"context_lines":[{"line_number":55,"context_line":"        self.assertEqual(token_details[\u0027user\u0027][\u0027id\u0027], user[\u0027id\u0027])"},{"line_number":56,"context_line":"        self.assertEqual(token_details[\u0027user\u0027][\u0027name\u0027], u_name)"},{"line_number":57,"context_line":"        # Perform Delete Token"},{"line_number":58,"context_line":"        self.addCleanup(self._delete_token, subject_token)"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"    @test.attr(type\u003d\u0027gate\u0027)"},{"line_number":61,"context_line":"    def test_tokens_nocatalog(self):"}],"source_content_type":"text/x-python","patch_set":9,"id":"1ae5cdf2_5714984c","line":58,"in_reply_to":"1ae5cdf2_fb96d447","updated":"2014-06-25 08:41:24.000000000","message":"Done","commit_id":"d67e1d31592652893227993089ced9d9c1cb15a5"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"367fe334b7c4de4660c380e79571a6af31858d09","unresolved":false,"context_lines":[{"line_number":69,"context_line":"        resp, body \u003d self.token.auth(user_id, alt_pass, nocatalog\u003dTrue)"},{"line_number":70,"context_line":"        self.assertEqual(201, resp.status)"},{"line_number":71,"context_line":"        subject_token \u003d resp[\u0027x-subject-token\u0027]"},{"line_number":72,"context_line":"        self.addCleanup(self._delete_token, subject_token)"},{"line_number":73,"context_line":"        self.assertNotIn(\u0027catalog\u0027, body[\u0027token\u0027])"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"        # Perform GET Token with nocatalog"}],"source_content_type":"text/x-python","patch_set":9,"id":"1ae5cdf2_4b14b64c","line":72,"updated":"2014-06-19 00:29:55.000000000","message":"ditto. it can be moved before L71","commit_id":"d67e1d31592652893227993089ced9d9c1cb15a5"},{"author":{"_account_id":6455,"name":"Harika Vakadi","email":"harika_vakadi@persistent.co.in","username":"harika-vakadi"},"change_message_id":"4211abc8d9dd3d5d6591de8b345cedbacbc2c5e4","unresolved":false,"context_lines":[{"line_number":69,"context_line":"        resp, body \u003d self.token.auth(user_id, alt_pass, nocatalog\u003dTrue)"},{"line_number":70,"context_line":"        self.assertEqual(201, resp.status)"},{"line_number":71,"context_line":"        subject_token \u003d resp[\u0027x-subject-token\u0027]"},{"line_number":72,"context_line":"        self.addCleanup(self._delete_token, subject_token)"},{"line_number":73,"context_line":"        self.assertNotIn(\u0027catalog\u0027, body[\u0027token\u0027])"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"        # Perform GET Token with nocatalog"}],"source_content_type":"text/x-python","patch_set":9,"id":"1ae5cdf2_9a0c853b","line":72,"in_reply_to":"1ae5cdf2_4b14b64c","updated":"2014-06-25 08:41:24.000000000","message":"Done","commit_id":"d67e1d31592652893227993089ced9d9c1cb15a5"},{"author":{"_account_id":2222,"name":"meenakshi-m","username":"meenakshi-m"},"change_message_id":"21be43fcb49197082367827eef9c9af4d338792d","unresolved":false,"context_lines":[{"line_number":69,"context_line":"        resp, body \u003d self.token.auth(user_id, alt_pass, nocatalog\u003dTrue)"},{"line_number":70,"context_line":"        self.assertEqual(201, resp.status)"},{"line_number":71,"context_line":"        subject_token \u003d resp[\u0027x-subject-token\u0027]"},{"line_number":72,"context_line":"        self.addCleanup(self._delete_token, subject_token)"},{"line_number":73,"context_line":"        self.assertNotIn(\u0027catalog\u0027, body[\u0027token\u0027])"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"        # Perform GET Token with nocatalog"}],"source_content_type":"text/x-python","patch_set":9,"id":"1ae5cdf2_9e97a244","line":72,"in_reply_to":"1ae5cdf2_4b14b64c","updated":"2014-06-20 12:16:43.000000000","message":"Hi Ghanshyam,\n\nThanks for your suggestion.\n\nIf we place “self.addCleanup”  before line 71, then it will be modified to “self.addCleanup(self._delete_token, resp[\u0027x-subject-token\u0027])”  instead of “self.addCleanup(self._delete_token, subject_token)” since “subject_token” variable will be assigned after the self.addCleanup declaration.\n\nPlease confirm, if this proposal is fine to go with and simultaneously will make the appropriate changes and submit in the next patch.\n\nRegards,\nMeenakshi","commit_id":"d67e1d31592652893227993089ced9d9c1cb15a5"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"f8a59c9852a31ae1eed09e1664aa9df4d82c6756","unresolved":false,"context_lines":[{"line_number":69,"context_line":"        resp, body \u003d self.token.auth(user_id, alt_pass, nocatalog\u003dTrue)"},{"line_number":70,"context_line":"        self.assertEqual(201, resp.status)"},{"line_number":71,"context_line":"        subject_token \u003d resp[\u0027x-subject-token\u0027]"},{"line_number":72,"context_line":"        self.addCleanup(self._delete_token, subject_token)"},{"line_number":73,"context_line":"        self.assertNotIn(\u0027catalog\u0027, body[\u0027token\u0027])"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"        # Perform GET Token with nocatalog"}],"source_content_type":"text/x-python","patch_set":9,"id":"1ae5cdf2_13986574","line":72,"in_reply_to":"1ae5cdf2_9e97a244","updated":"2014-06-25 07:43:55.000000000","message":"That\u0027s ok.","commit_id":"d67e1d31592652893227993089ced9d9c1cb15a5"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"289c3689fa887e1841923b28fc3c62e52e016f55","unresolved":false,"context_lines":[{"line_number":47,"context_line":"        # Perform Authentication"},{"line_number":48,"context_line":"        resp, body \u003d self.token.auth(user[\u0027id\u0027], u_password)"},{"line_number":49,"context_line":"        self.addCleanup(self._delete_token, resp[\u0027x-subject-token\u0027])"},{"line_number":50,"context_line":"        self.assertEqual(201, resp.status)"},{"line_number":51,"context_line":"        subject_token \u003d resp[\u0027x-subject-token\u0027]"},{"line_number":52,"context_line":"        # Perform GET Token"},{"line_number":53,"context_line":"        resp, token_details \u003d self.client.get_token(subject_token)"}],"source_content_type":"text/x-python","patch_set":12,"id":"1ae5cdf2_338d612b","line":50,"updated":"2014-06-25 07:45:45.000000000","message":"addCleanup should be after L50 (resp check). Please check discussion on https://review.openstack.org/#/c/92100/6/tempest/api/identity/admin/v3/test_users.py.","commit_id":"8f95f47603752b64e55af8b626eeb4653f5d5ebf"},{"author":{"_account_id":6455,"name":"Harika Vakadi","email":"harika_vakadi@persistent.co.in","username":"harika-vakadi"},"change_message_id":"9271c09089143a76171b8e70a01966fb7a1f8659","unresolved":false,"context_lines":[{"line_number":47,"context_line":"        # Perform Authentication"},{"line_number":48,"context_line":"        resp, body \u003d self.token.auth(user[\u0027id\u0027], u_password)"},{"line_number":49,"context_line":"        self.addCleanup(self._delete_token, resp[\u0027x-subject-token\u0027])"},{"line_number":50,"context_line":"        self.assertEqual(201, resp.status)"},{"line_number":51,"context_line":"        subject_token \u003d resp[\u0027x-subject-token\u0027]"},{"line_number":52,"context_line":"        # Perform GET Token"},{"line_number":53,"context_line":"        resp, token_details \u003d self.client.get_token(subject_token)"}],"source_content_type":"text/x-python","patch_set":12,"id":"1ae5cdf2_772354be","line":50,"in_reply_to":"1ae5cdf2_338d612b","updated":"2014-06-25 08:40:01.000000000","message":"Done","commit_id":"8f95f47603752b64e55af8b626eeb4653f5d5ebf"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"289c3689fa887e1841923b28fc3c62e52e016f55","unresolved":false,"context_lines":[{"line_number":66,"context_line":""},{"line_number":67,"context_line":"        # Perform POST Token with nocatalog"},{"line_number":68,"context_line":"        resp, body \u003d self.token.auth(user_id, alt_pass, nocatalog\u003dTrue)"},{"line_number":69,"context_line":"        self.addCleanup(self._delete_token, resp[\u0027x-subject-token\u0027])"},{"line_number":70,"context_line":"        self.assertEqual(201, resp.status)"},{"line_number":71,"context_line":"        subject_token \u003d resp[\u0027x-subject-token\u0027]"},{"line_number":72,"context_line":"        self.assertNotIn(\u0027catalog\u0027, body[\u0027token\u0027])"}],"source_content_type":"text/x-python","patch_set":12,"id":"1ae5cdf2_53902d42","line":69,"updated":"2014-06-25 07:45:45.000000000","message":"ditto.","commit_id":"8f95f47603752b64e55af8b626eeb4653f5d5ebf"},{"author":{"_account_id":6455,"name":"Harika Vakadi","email":"harika_vakadi@persistent.co.in","username":"harika-vakadi"},"change_message_id":"9271c09089143a76171b8e70a01966fb7a1f8659","unresolved":false,"context_lines":[{"line_number":66,"context_line":""},{"line_number":67,"context_line":"        # Perform POST Token with nocatalog"},{"line_number":68,"context_line":"        resp, body \u003d self.token.auth(user_id, alt_pass, nocatalog\u003dTrue)"},{"line_number":69,"context_line":"        self.addCleanup(self._delete_token, resp[\u0027x-subject-token\u0027])"},{"line_number":70,"context_line":"        self.assertEqual(201, resp.status)"},{"line_number":71,"context_line":"        subject_token \u003d resp[\u0027x-subject-token\u0027]"},{"line_number":72,"context_line":"        self.assertNotIn(\u0027catalog\u0027, body[\u0027token\u0027])"}],"source_content_type":"text/x-python","patch_set":12,"id":"1ae5cdf2_b72ddcaa","line":69,"in_reply_to":"1ae5cdf2_53902d42","updated":"2014-06-25 08:40:01.000000000","message":"Done","commit_id":"8f95f47603752b64e55af8b626eeb4653f5d5ebf"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"8cb682e84c075e0ec74dcfda7322326782204554","unresolved":false,"context_lines":[{"line_number":61,"context_line":"        # Valid user\u0027s token with nocatalog"},{"line_number":62,"context_line":"        alt_user \u003d CONF.identity.alt_username"},{"line_number":63,"context_line":"        alt_pass \u003d CONF.identity.alt_password"},{"line_number":64,"context_line":"        user_details \u003d self.get_user_by_name(alt_user)"},{"line_number":65,"context_line":"        user_id \u003d user_details[\u0027id\u0027]"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"        # Perform POST Token with nocatalog"}],"source_content_type":"text/x-python","patch_set":13,"id":"baada198_2d914947","line":64,"updated":"2014-07-04 03:39:12.000000000","message":"Hmm, I think we should check the response code of this get_user_by_name(). But we can\u0027t do it now though...","commit_id":"8d9724e5263cc434f752a63ae9fa1d0edc81dd3c"},{"author":{"_account_id":7227,"name":"Timur Nurlygayanov","email":"tnurlygayanov@mirantis.com","username":"tnurlygayanov"},"change_message_id":"9c76412fcb1d852357ab3c3b4b82a73e6c6bf613","unresolved":false,"context_lines":[{"line_number":63,"context_line":"        # Perform POST Token with nocatalog"},{"line_number":64,"context_line":"        resp, body \u003d self.token.auth(user_id, alt_pass, nocatalog\u003dTrue)"},{"line_number":65,"context_line":"        self.addCleanup(self._delete_token, resp[\u0027x-subject-token\u0027])"},{"line_number":66,"context_line":"        subject_token \u003d resp[\u0027x-subject-token\u0027]"},{"line_number":67,"context_line":"        self.assertNotIn(\u0027catalog\u0027, body[\u0027token\u0027])"},{"line_number":68,"context_line":"        # Perform GET Token with nocatalog"},{"line_number":69,"context_line":"        _, token_details \u003d self.client.get_token(subject_token,"}],"source_content_type":"text/x-python","patch_set":17,"id":"baada198_dcc33d8a","line":66,"updated":"2014-08-08 10:33:41.000000000","message":"if you save resp[\u0027x-subject-token\u0027] in local variable \u0027subject_token\u0027, let\u0027s use this local variable instead of resp[\u0027x-subject-token\u0027], like:\n\n...\nresp, body \u003d self.token.auth(user_id, alt_pass, nocatalog\u003dTrue)\nsubject_token \u003d resp[\u0027x-subject-token\u0027]\nself.addCleanup(self._delete_token, subject_token)\n...\n\nself.assertEqual(subject_token, subject_token)","commit_id":"eda542421a51194904aa058a0d98309f62835899"},{"author":{"_account_id":2238,"name":"rajalakshmi-ganesan","email":"rajalakshmi.girish@hpe.com","username":"rajalakshmi-ganesan"},"change_message_id":"5f37d6705cd770d4052989c23adcf33a03b8534b","unresolved":false,"context_lines":[{"line_number":63,"context_line":"        # Perform POST Token with nocatalog"},{"line_number":64,"context_line":"        resp, body \u003d self.token.auth(user_id, alt_pass, nocatalog\u003dTrue)"},{"line_number":65,"context_line":"        self.addCleanup(self._delete_token, resp[\u0027x-subject-token\u0027])"},{"line_number":66,"context_line":"        subject_token \u003d resp[\u0027x-subject-token\u0027]"},{"line_number":67,"context_line":"        self.assertNotIn(\u0027catalog\u0027, body[\u0027token\u0027])"},{"line_number":68,"context_line":"        # Perform GET Token with nocatalog"},{"line_number":69,"context_line":"        _, token_details \u003d self.client.get_token(subject_token,"}],"source_content_type":"text/x-python","patch_set":17,"id":"baada198_f8a8a222","line":66,"in_reply_to":"baada198_dcc33d8a","updated":"2014-08-12 11:49:30.000000000","message":"Done","commit_id":"eda542421a51194904aa058a0d98309f62835899"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"7570883be3fd2d7e92f90680fc13c544b9e6ba2a","unresolved":false,"context_lines":[{"line_number":27,"context_line":""},{"line_number":28,"context_line":"    def _delete_token(self, subject_token):"},{"line_number":29,"context_line":"        resp, _ \u003d self.client.delete_token(subject_token)"},{"line_number":30,"context_line":"        self.assertEqual(204, resp.status)"},{"line_number":31,"context_line":"        self.assertRaises("},{"line_number":32,"context_line":"            exceptions.NotFound, self.client.get_token, subject_token)"},{"line_number":33,"context_line":""}],"source_content_type":"text/x-python","patch_set":19,"id":"fa98f980_c82576af","line":30,"updated":"2014-09-09 07:52:14.000000000","message":"this can be removed.","commit_id":"05fe9c0ca3e82c02a790dc7fb973db7b0134e0ff"},{"author":{"_account_id":2222,"name":"meenakshi-m","username":"meenakshi-m"},"change_message_id":"a70e242c8d8b5dae7e99c35019cb245bc3d3b6ed","unresolved":false,"context_lines":[{"line_number":27,"context_line":""},{"line_number":28,"context_line":"    def _delete_token(self, subject_token):"},{"line_number":29,"context_line":"        resp, _ \u003d self.client.delete_token(subject_token)"},{"line_number":30,"context_line":"        self.assertEqual(204, resp.status)"},{"line_number":31,"context_line":"        self.assertRaises("},{"line_number":32,"context_line":"            exceptions.NotFound, self.client.get_token, subject_token)"},{"line_number":33,"context_line":""}],"source_content_type":"text/x-python","patch_set":19,"id":"fa98f980_ec630b18","line":30,"in_reply_to":"fa98f980_c82576af","updated":"2014-09-10 08:20:21.000000000","message":"Done","commit_id":"05fe9c0ca3e82c02a790dc7fb973db7b0134e0ff"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"7d4cd11e49102faf3eb2b7644f9c4e198c31ba5f","unresolved":false,"context_lines":[{"line_number":52,"context_line":"        self.assertEqual(u_name, token_details[\u0027user\u0027][\u0027name\u0027])"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    @test.attr(type\u003d\u0027gate\u0027)"},{"line_number":55,"context_line":"    def test_tokens_nocatalog(self):"},{"line_number":56,"context_line":"        alt_user \u003d CONF.identity.alt_username"},{"line_number":57,"context_line":"        alt_pass \u003d CONF.identity.alt_password"},{"line_number":58,"context_line":"        user_details \u003d self.get_user_by_name(alt_user)"}],"source_content_type":"text/x-python","patch_set":21,"id":"fa98f980_dfe0dd98","line":55,"updated":"2014-09-17 19:06:16.000000000","message":"So does this test really require an admin role? The only thing which I think might require admin is the GET on the username, which we should be able to work around.\n\nI\u0027m thinking we should use this test to start new test file for non-admin token tests.","commit_id":"c8087bf94e69395263485111efb932956ae68098"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"899a6b37affcc1ea5424c9c4115393e121c95da0","unresolved":false,"context_lines":[{"line_number":52,"context_line":"        self.assertEqual(u_name, token_details[\u0027user\u0027][\u0027name\u0027])"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    @test.attr(type\u003d\u0027gate\u0027)"},{"line_number":55,"context_line":"    def test_tokens_nocatalog(self):"},{"line_number":56,"context_line":"        alt_user \u003d CONF.identity.alt_username"},{"line_number":57,"context_line":"        alt_pass \u003d CONF.identity.alt_password"},{"line_number":58,"context_line":"        user_details \u003d self.get_user_by_name(alt_user)"}],"source_content_type":"text/x-python","patch_set":21,"id":"fa98f980_36dad517","line":55,"in_reply_to":"fa98f980_b97083a5","updated":"2014-09-18 18:24:13.000000000","message":"No, that is incorrect, there isn\u0027t a reason to use admin for this test. A username and password should be sufficient to acquire a token. Think about it this way. As a user without an admin role on my account I need to ask an admin to give me my user_id. If the user_id is really a required field for getting a token then it must be user fetch-able, how else are people expected to get tokens?\n\nLooking at the api spec: http://developer.openstack.org/api-ref-identity-v3.html\na username or id can be used. So there is no reason to require admin here.","commit_id":"c8087bf94e69395263485111efb932956ae68098"},{"author":{"_account_id":2222,"name":"meenakshi-m","username":"meenakshi-m"},"change_message_id":"9eea94522bb85cee4f6eda617d04552de2cad2d2","unresolved":false,"context_lines":[{"line_number":52,"context_line":"        self.assertEqual(u_name, token_details[\u0027user\u0027][\u0027name\u0027])"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    @test.attr(type\u003d\u0027gate\u0027)"},{"line_number":55,"context_line":"    def test_tokens_nocatalog(self):"},{"line_number":56,"context_line":"        alt_user \u003d CONF.identity.alt_username"},{"line_number":57,"context_line":"        alt_pass \u003d CONF.identity.alt_password"},{"line_number":58,"context_line":"        user_details \u003d self.get_user_by_name(alt_user)"}],"source_content_type":"text/x-python","patch_set":21,"id":"fa98f980_b97083a5","line":55,"in_reply_to":"fa98f980_dfe0dd98","updated":"2014-09-18 12:13:54.000000000","message":"Hi Matthew,\n\nYes, the test require admin to get user_id, using that user_id(i.e., alt_user_id) we are generating token.\n\nIMO, eventhough if we start a new test file for non-admin token tests, it require\u0027s admin to get user details.\n\nHence it is better to have in admin token tests.\n\nPlease correct me if I am wrong.\n\nRegards,\nMeenakshi","commit_id":"c8087bf94e69395263485111efb932956ae68098"}],"tempest/services/identity/v3/json/identity_client.py":[{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"14656c21d34468190fdb53f36c08733227aad8fe","unresolved":false,"context_lines":[{"line_number":237,"context_line":"        body \u003d json.loads(body)"},{"line_number":238,"context_line":"        return resp, body[\u0027domain\u0027]"},{"line_number":239,"context_line":""},{"line_number":240,"context_line":"    def get_token(self, resp_token, **kwargs):"},{"line_number":241,"context_line":"        \"\"\"Get token details.\"\"\""},{"line_number":242,"context_line":"        headers \u003d {\u0027X-Subject-Token\u0027: resp_token}"},{"line_number":243,"context_line":"        url \u003d \"auth/tokens\""}],"source_content_type":"text/x-python","patch_set":5,"id":"1ae5cdf2_a29cfc6a","line":240,"updated":"2014-05-30 16:24:50.000000000","message":"Maybe, it will be better to make the flag \"nocatalog\u003dFalse\".\n\n    def get_token(self, resp_token, nocatalog\u003dFalse):\n        \"\"\"Get token details.\"\"\"\n        headers \u003d {\u0027X-Subject-Token\u0027: resp_token}\n        url \u003d \"auth/tokens\"\n        if nocatalog:\n            url \u003d \"auth/tokens?nocatalog\"\n        resp, body \u003d self.get(url, headers\u003dheaders)\n        body \u003d json.loads(body)\n        return resp, body[\u0027token\u0027]","commit_id":"5f692859049399b4680c8b2f87248ecb0e93832d"},{"author":{"_account_id":6455,"name":"Harika Vakadi","email":"harika_vakadi@persistent.co.in","username":"harika-vakadi"},"change_message_id":"0075bb1ae1631329920de0648df3a9680ff4ce5e","unresolved":false,"context_lines":[{"line_number":237,"context_line":"        body \u003d json.loads(body)"},{"line_number":238,"context_line":"        return resp, body[\u0027domain\u0027]"},{"line_number":239,"context_line":""},{"line_number":240,"context_line":"    def get_token(self, resp_token, **kwargs):"},{"line_number":241,"context_line":"        \"\"\"Get token details.\"\"\""},{"line_number":242,"context_line":"        headers \u003d {\u0027X-Subject-Token\u0027: resp_token}"},{"line_number":243,"context_line":"        url \u003d \"auth/tokens\""}],"source_content_type":"text/x-python","patch_set":5,"id":"1ae5cdf2_6151e5d7","line":240,"in_reply_to":"1ae5cdf2_a29cfc6a","updated":"2014-06-02 08:48:34.000000000","message":"Done","commit_id":"5f692859049399b4680c8b2f87248ecb0e93832d"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"cdf96ef870963347b7b5610fb0be8f7804536edc","unresolved":false,"context_lines":[{"line_number":242,"context_line":"        headers \u003d {\u0027X-Subject-Token\u0027: resp_token}"},{"line_number":243,"context_line":"        url \u003d \"auth/tokens\""},{"line_number":244,"context_line":"        if nocatalog:"},{"line_number":245,"context_line":"            url \u003d \"auth/tokens?nocatalog\""},{"line_number":246,"context_line":"        resp, body \u003d self.get(url, headers\u003dheaders)"},{"line_number":247,"context_line":"        body \u003d json.loads(body)"},{"line_number":248,"context_line":"        return resp, body[\u0027token\u0027]"}],"source_content_type":"text/x-python","patch_set":7,"id":"1ae5cdf2_636a3b82","line":245,"updated":"2014-06-13 13:46:12.000000000","message":"Don\u0027t duplicate the common path. You should do :\nif nocatalog:\n     url +\u003d \"?nocatalog\"","commit_id":"bbd3cc29c44c74717bb7ea07664febe1668ca738"},{"author":{"_account_id":6455,"name":"Harika Vakadi","email":"harika_vakadi@persistent.co.in","username":"harika-vakadi"},"change_message_id":"998fd2da615dc334dafa42d9a8dddee301c39297","unresolved":false,"context_lines":[{"line_number":242,"context_line":"        headers \u003d {\u0027X-Subject-Token\u0027: resp_token}"},{"line_number":243,"context_line":"        url \u003d \"auth/tokens\""},{"line_number":244,"context_line":"        if nocatalog:"},{"line_number":245,"context_line":"            url \u003d \"auth/tokens?nocatalog\""},{"line_number":246,"context_line":"        resp, body \u003d self.get(url, headers\u003dheaders)"},{"line_number":247,"context_line":"        body \u003d json.loads(body)"},{"line_number":248,"context_line":"        return resp, body[\u0027token\u0027]"}],"source_content_type":"text/x-python","patch_set":7,"id":"1ae5cdf2_aa85b85a","line":245,"in_reply_to":"1ae5cdf2_636a3b82","updated":"2014-06-16 14:17:14.000000000","message":"Done","commit_id":"bbd3cc29c44c74717bb7ea07664febe1668ca738"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"cdf96ef870963347b7b5610fb0be8f7804536edc","unresolved":false,"context_lines":[{"line_number":473,"context_line":"        \"\"\""},{"line_number":474,"context_line":"        :param user: user id or name, as specified in user_type"},{"line_number":475,"context_line":"        :param domain: the user and tenant domain"},{"line_number":476,"context_line":"        :param token: a token to re-scope."},{"line_number":477,"context_line":""},{"line_number":478,"context_line":"        Accepts different combinations of credentials. Restrictions:"},{"line_number":479,"context_line":"        - tenant and domain are only name (no id)"}],"source_content_type":"text/x-python","patch_set":7,"id":"1ae5cdf2_e33f2b85","line":476,"updated":"2014-06-13 13:46:12.000000000","message":"Please document the nocatalog parameter","commit_id":"bbd3cc29c44c74717bb7ea07664febe1668ca738"},{"author":{"_account_id":6455,"name":"Harika Vakadi","email":"harika_vakadi@persistent.co.in","username":"harika-vakadi"},"change_message_id":"998fd2da615dc334dafa42d9a8dddee301c39297","unresolved":false,"context_lines":[{"line_number":473,"context_line":"        \"\"\""},{"line_number":474,"context_line":"        :param user: user id or name, as specified in user_type"},{"line_number":475,"context_line":"        :param domain: the user and tenant domain"},{"line_number":476,"context_line":"        :param token: a token to re-scope."},{"line_number":477,"context_line":""},{"line_number":478,"context_line":"        Accepts different combinations of credentials. Restrictions:"},{"line_number":479,"context_line":"        - tenant and domain are only name (no id)"}],"source_content_type":"text/x-python","patch_set":7,"id":"1ae5cdf2_8a80fc4a","line":476,"in_reply_to":"1ae5cdf2_e33f2b85","updated":"2014-06-16 14:17:14.000000000","message":"Done","commit_id":"bbd3cc29c44c74717bb7ea07664febe1668ca738"},{"author":{"_account_id":12355,"name":"Vlad Okhrimenko","email":"vokhrimenko@mirantis.com","username":"vokhrimenko"},"change_message_id":"e53bf6c17eaef7bd07abfabbc170408a72166016","unresolved":false,"context_lines":[{"line_number":592,"context_line":"            scope \u003d dict(project\u003dproject)"},{"line_number":593,"context_line":"            creds[\u0027auth\u0027][\u0027scope\u0027] \u003d scope"},{"line_number":594,"context_line":""},{"line_number":595,"context_line":"        body \u003d json.dumps(creds)"},{"line_number":596,"context_line":"        if nocatalog:"},{"line_number":597,"context_line":"            self.auth_url \u003d self.auth_url + \u0027?nocatalog\u0027"},{"line_number":598,"context_line":"        resp, body \u003d self.post(self.auth_url, body\u003dbody)"}],"source_content_type":"text/x-python","patch_set":18,"id":"1abeadc6_fe918847","line":595,"updated":"2014-08-29 07:54:45.000000000","message":"Please add blank line:\n\nbody \u003d json.dumps(creds)\n\nif nocatalog:\n\n............","commit_id":"ba15e523242d4755fb188481e1e39d75e37ce5f5"},{"author":{"_account_id":2222,"name":"meenakshi-m","username":"meenakshi-m"},"change_message_id":"4df2cbc536fe4cebc3c5688dbcd284bb8a650d79","unresolved":false,"context_lines":[{"line_number":592,"context_line":"            scope \u003d dict(project\u003dproject)"},{"line_number":593,"context_line":"            creds[\u0027auth\u0027][\u0027scope\u0027] \u003d scope"},{"line_number":594,"context_line":""},{"line_number":595,"context_line":"        body \u003d json.dumps(creds)"},{"line_number":596,"context_line":"        if nocatalog:"},{"line_number":597,"context_line":"            self.auth_url \u003d self.auth_url + \u0027?nocatalog\u0027"},{"line_number":598,"context_line":"        resp, body \u003d self.post(self.auth_url, body\u003dbody)"}],"source_content_type":"text/x-python","patch_set":18,"id":"fa98f980_35bbe40f","line":595,"in_reply_to":"1abeadc6_fe918847","updated":"2014-09-01 06:21:41.000000000","message":"Done","commit_id":"ba15e523242d4755fb188481e1e39d75e37ce5f5"},{"author":{"_account_id":1192,"name":"David Kranz","email":"dkranz@redhat.com","username":"david-kranz"},"change_message_id":"78a198b8746dc63ed97dfd6eecaf7009250b959b","unresolved":false,"context_lines":[{"line_number":594,"context_line":""},{"line_number":595,"context_line":"        body \u003d json.dumps(creds)"},{"line_number":596,"context_line":"        if nocatalog:"},{"line_number":597,"context_line":"            self.auth_url \u003d self.auth_url + \u0027?nocatalog\u0027"},{"line_number":598,"context_line":"        resp, body \u003d self.post(self.auth_url, body\u003dbody)"},{"line_number":599,"context_line":"        return resp, body"},{"line_number":600,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"7ac7a964_5cba23df","line":597,"updated":"2014-08-14 21:09:12.000000000","message":"It can\u0027t be right to side-effect the client auth_url when nocatalog is True but not when it is False.","commit_id":"ba15e523242d4755fb188481e1e39d75e37ce5f5"},{"author":{"_account_id":2238,"name":"rajalakshmi-ganesan","email":"rajalakshmi.girish@hpe.com","username":"rajalakshmi-ganesan"},"change_message_id":"2c05441c94a4bcb82bef58558964fe8964979c85","unresolved":false,"context_lines":[{"line_number":594,"context_line":""},{"line_number":595,"context_line":"        body \u003d json.dumps(creds)"},{"line_number":596,"context_line":"        if nocatalog:"},{"line_number":597,"context_line":"            self.auth_url \u003d self.auth_url + \u0027?nocatalog\u0027"},{"line_number":598,"context_line":"        resp, body \u003d self.post(self.auth_url, body\u003dbody)"},{"line_number":599,"context_line":"        return resp, body"},{"line_number":600,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"1abeadc6_04130d5d","line":597,"in_reply_to":"7ac7a964_5cba23df","updated":"2014-08-18 12:11:10.000000000","message":"Hi Kranz,\n\nWe thought this would be the right place to add \u0027nocatalog\u0027 parameter.\n\nIf not here, can you please suggest what is the correct place to add this logic?\n\nRegards,\nRajalakshmi Ganesan","commit_id":"ba15e523242d4755fb188481e1e39d75e37ce5f5"}],"tempest/services/identity/v3/xml/identity_client.py":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"c63fb0559b69f59705b33421fc417f2ae7951e3e","unresolved":false,"context_lines":[{"line_number":145,"context_line":""},{"line_number":146,"context_line":"    def get_users(self, params\u003dNone):"},{"line_number":147,"context_line":"        \"\"\"Get the list of users.\"\"\""},{"line_number":148,"context_line":"        url \u003d \u0027users\u0027"},{"line_number":149,"context_line":"        if params:"},{"line_number":150,"context_line":"            url +\u003d \u0027?%s\u0027 % urllib.urlencode(params)"},{"line_number":151,"context_line":"        resp, body \u003d self.get(url)"}],"source_content_type":"text/x-python","patch_set":3,"id":"7adec928_0e2ad02b","line":148,"updated":"2014-05-15 15:36:34.000000000","message":"Can you please elaborate these changes in commit message.","commit_id":"e9afe4915f8d47039ea0e33c5f9eb26ff55576c3"},{"author":{"_account_id":2238,"name":"rajalakshmi-ganesan","email":"rajalakshmi.girish@hpe.com","username":"rajalakshmi-ganesan"},"change_message_id":"29a2eaafa744306927ea601bacc368c1d9547e2f","unresolved":false,"context_lines":[{"line_number":145,"context_line":""},{"line_number":146,"context_line":"    def get_users(self, params\u003dNone):"},{"line_number":147,"context_line":"        \"\"\"Get the list of users.\"\"\""},{"line_number":148,"context_line":"        url \u003d \u0027users\u0027"},{"line_number":149,"context_line":"        if params:"},{"line_number":150,"context_line":"            url +\u003d \u0027?%s\u0027 % urllib.urlencode(params)"},{"line_number":151,"context_line":"        resp, body \u003d self.get(url)"}],"source_content_type":"text/x-python","patch_set":3,"id":"7adec928_fc7b90f2","line":148,"in_reply_to":"7adec928_0e2ad02b","updated":"2014-05-16 15:07:56.000000000","message":"Done","commit_id":"e9afe4915f8d47039ea0e33c5f9eb26ff55576c3"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"14656c21d34468190fdb53f36c08733227aad8fe","unresolved":false,"context_lines":[{"line_number":302,"context_line":"        body \u003d self._parse_body(etree.fromstring(body))"},{"line_number":303,"context_line":"        return resp, body"},{"line_number":304,"context_line":""},{"line_number":305,"context_line":"    def get_token(self, resp_token, **kwargs):"},{"line_number":306,"context_line":"        \"\"\"GET a Token Details.\"\"\""},{"line_number":307,"context_line":"        headers \u003d {\u0027Content-Type\u0027: \u0027application/xml\u0027,"},{"line_number":308,"context_line":"                   \u0027Accept\u0027: \u0027application/xml\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"1ae5cdf2_c2dd8816","line":305,"updated":"2014-05-30 16:24:50.000000000","message":"ditto","commit_id":"5f692859049399b4680c8b2f87248ecb0e93832d"},{"author":{"_account_id":6455,"name":"Harika Vakadi","email":"harika_vakadi@persistent.co.in","username":"harika-vakadi"},"change_message_id":"0075bb1ae1631329920de0648df3a9680ff4ce5e","unresolved":false,"context_lines":[{"line_number":302,"context_line":"        body \u003d self._parse_body(etree.fromstring(body))"},{"line_number":303,"context_line":"        return resp, body"},{"line_number":304,"context_line":""},{"line_number":305,"context_line":"    def get_token(self, resp_token, **kwargs):"},{"line_number":306,"context_line":"        \"\"\"GET a Token Details.\"\"\""},{"line_number":307,"context_line":"        headers \u003d {\u0027Content-Type\u0027: \u0027application/xml\u0027,"},{"line_number":308,"context_line":"                   \u0027Accept\u0027: \u0027application/xml\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"1ae5cdf2_a1620dab","line":305,"in_reply_to":"1ae5cdf2_c2dd8816","updated":"2014-06-02 08:48:34.000000000","message":"Done","commit_id":"5f692859049399b4680c8b2f87248ecb0e93832d"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"cdf96ef870963347b7b5610fb0be8f7804536edc","unresolved":false,"context_lines":[{"line_number":308,"context_line":"                   \u0027Accept\u0027: \u0027application/xml\u0027,"},{"line_number":309,"context_line":"                   \u0027X-Subject-Token\u0027: resp_token}"},{"line_number":310,"context_line":"        url \u003d \"auth/tokens\""},{"line_number":311,"context_line":"        if nocatalog:"},{"line_number":312,"context_line":"            url \u003d \"auth/tokens?nocatalog\""},{"line_number":313,"context_line":"        resp, body \u003d self.get(url, headers\u003dheaders)"},{"line_number":314,"context_line":"        body \u003d self._parse_body(etree.fromstring(body))"}],"source_content_type":"text/x-python","patch_set":7,"id":"1ae5cdf2_2322f351","line":311,"updated":"2014-06-13 13:46:12.000000000","message":"Don\u0027t duplicate the common path. Use the +\u003d operator.","commit_id":"bbd3cc29c44c74717bb7ea07664febe1668ca738"},{"author":{"_account_id":6455,"name":"Harika Vakadi","email":"harika_vakadi@persistent.co.in","username":"harika-vakadi"},"change_message_id":"998fd2da615dc334dafa42d9a8dddee301c39297","unresolved":false,"context_lines":[{"line_number":308,"context_line":"                   \u0027Accept\u0027: \u0027application/xml\u0027,"},{"line_number":309,"context_line":"                   \u0027X-Subject-Token\u0027: resp_token}"},{"line_number":310,"context_line":"        url \u003d \"auth/tokens\""},{"line_number":311,"context_line":"        if nocatalog:"},{"line_number":312,"context_line":"            url \u003d \"auth/tokens?nocatalog\""},{"line_number":313,"context_line":"        resp, body \u003d self.get(url, headers\u003dheaders)"},{"line_number":314,"context_line":"        body \u003d self._parse_body(etree.fromstring(body))"}],"source_content_type":"text/x-python","patch_set":7,"id":"1ae5cdf2_4a8ef47a","line":311,"in_reply_to":"1ae5cdf2_2322f351","updated":"2014-06-16 14:17:14.000000000","message":"Done","commit_id":"bbd3cc29c44c74717bb7ea07664febe1668ca738"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"cdf96ef870963347b7b5610fb0be8f7804536edc","unresolved":false,"context_lines":[{"line_number":475,"context_line":"        self.auth_url \u003d auth_url"},{"line_number":476,"context_line":""},{"line_number":477,"context_line":"    def auth(self, user\u003dNone, password\u003dNone, tenant\u003dNone, user_type\u003d\u0027id\u0027,"},{"line_number":478,"context_line":"             domain\u003dNone, token\u003dNone, nocatalog\u003dFalse):"},{"line_number":479,"context_line":"        \"\"\""},{"line_number":480,"context_line":"        :param user: user id or name, as specified in user_type"},{"line_number":481,"context_line":"        :param domain: the user and tenant domain"}],"source_content_type":"text/x-python","patch_set":7,"id":"1ae5cdf2_c3d86f55","line":478,"updated":"2014-06-13 13:46:12.000000000","message":"Please document the nocatalog parameter","commit_id":"bbd3cc29c44c74717bb7ea07664febe1668ca738"},{"author":{"_account_id":6455,"name":"Harika Vakadi","email":"harika_vakadi@persistent.co.in","username":"harika-vakadi"},"change_message_id":"998fd2da615dc334dafa42d9a8dddee301c39297","unresolved":false,"context_lines":[{"line_number":475,"context_line":"        self.auth_url \u003d auth_url"},{"line_number":476,"context_line":""},{"line_number":477,"context_line":"    def auth(self, user\u003dNone, password\u003dNone, tenant\u003dNone, user_type\u003d\u0027id\u0027,"},{"line_number":478,"context_line":"             domain\u003dNone, token\u003dNone, nocatalog\u003dFalse):"},{"line_number":479,"context_line":"        \"\"\""},{"line_number":480,"context_line":"        :param user: user id or name, as specified in user_type"},{"line_number":481,"context_line":"        :param domain: the user and tenant domain"}],"source_content_type":"text/x-python","patch_set":7,"id":"1ae5cdf2_6a8bb068","line":478,"in_reply_to":"1ae5cdf2_c3d86f55","updated":"2014-06-16 14:17:14.000000000","message":"Done","commit_id":"bbd3cc29c44c74717bb7ea07664febe1668ca738"},{"author":{"_account_id":1192,"name":"David Kranz","email":"dkranz@redhat.com","username":"david-kranz"},"change_message_id":"78a198b8746dc63ed97dfd6eecaf7009250b959b","unresolved":false,"context_lines":[{"line_number":596,"context_line":"            auth.append(scope)"},{"line_number":597,"context_line":""},{"line_number":598,"context_line":"        if nocatalog:"},{"line_number":599,"context_line":"            self.auth_url \u003d self.auth_url + \u0027?nocatalog\u0027"},{"line_number":600,"context_line":"        resp, body \u003d self.post(self.auth_url, body\u003dstr(common.Document(auth)))"},{"line_number":601,"context_line":"        return resp, body"},{"line_number":602,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"7ac7a964_9ccbdb71","line":599,"updated":"2014-08-14 21:09:12.000000000","message":"Ditto","commit_id":"ba15e523242d4755fb188481e1e39d75e37ce5f5"},{"author":{"_account_id":2238,"name":"rajalakshmi-ganesan","email":"rajalakshmi.girish@hpe.com","username":"rajalakshmi-ganesan"},"change_message_id":"2c05441c94a4bcb82bef58558964fe8964979c85","unresolved":false,"context_lines":[{"line_number":596,"context_line":"            auth.append(scope)"},{"line_number":597,"context_line":""},{"line_number":598,"context_line":"        if nocatalog:"},{"line_number":599,"context_line":"            self.auth_url \u003d self.auth_url + \u0027?nocatalog\u0027"},{"line_number":600,"context_line":"        resp, body \u003d self.post(self.auth_url, body\u003dstr(common.Document(auth)))"},{"line_number":601,"context_line":"        return resp, body"},{"line_number":602,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"1abeadc6_e42531ac","line":599,"in_reply_to":"7ac7a964_9ccbdb71","updated":"2014-08-18 12:11:10.000000000","message":"Ditto","commit_id":"ba15e523242d4755fb188481e1e39d75e37ce5f5"}]}
