)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"c05be575be6f4fe686da27063b840861574623e9","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Do not consume trust uses when create token fails"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Currently, Remaining trust uses are consumed even when create token"},{"line_number":10,"context_line":"fails. We should consume trust uses only when get token success."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I55a726250312fa81ed9556dfd530e96f72548930"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"baada198_d291e453","line":9,"updated":"2014-06-30 16:59:20.000000000","message":"nit: remaining*","commit_id":"be60955ced36acd5029929e2b3d1eb6bc4307b56"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"c05be575be6f4fe686da27063b840861574623e9","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Do not consume trust uses when create token fails"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Currently, Remaining trust uses are consumed even when create token"},{"line_number":10,"context_line":"fails. We should consume trust uses only when get token success."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I55a726250312fa81ed9556dfd530e96f72548930"},{"line_number":13,"context_line":"Closes-Bug: #1335037"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"baada198_f2750833","line":10,"updated":"2014-06-30 16:59:20.000000000","message":"nit: We should only consume trust uses when successfully creating a token.","commit_id":"be60955ced36acd5029929e2b3d1eb6bc4307b56"},{"author":{"_account_id":11045,"name":"Bob Thyne","email":"bob.thyne@hp.com","username":"bobt"},"change_message_id":"f8ef7b0812fe000ae2b6168985dd5c159b6092c6","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     wanghong \u003cw.wanghong@huawei.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2014-07-01 14:57:21 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Do not consume trust uses when create token fails"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Currently, remaining trust uses are consumed even when create token"},{"line_number":10,"context_line":"fails. We should only consume trust uses when successfully creating"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"baada198_351d0374","line":7,"updated":"2014-07-20 04:23:57.000000000","message":"Do not consume when create token or get token fails (or both)? Can you please confirm. Thanks.","commit_id":"28b865480e493ab6f46e05c39fc5e7d4a8da0344"},{"author":{"_account_id":9101,"name":"wanghong","email":"reviewwanghong@126.com","username":"wanghong"},"change_message_id":"a7b05fea5ceec0591eda2d7f14db81b0dd41048d","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     wanghong \u003cw.wanghong@huawei.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2014-07-01 14:57:21 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Do not consume trust uses when create token fails"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Currently, remaining trust uses are consumed even when create token"},{"line_number":10,"context_line":"fails. We should only consume trust uses when successfully creating"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"baada198_4c82e652","line":7,"in_reply_to":"baada198_351d0374","updated":"2014-07-21 07:58:53.000000000","message":"Only when create token fails.","commit_id":"28b865480e493ab6f46e05c39fc5e7d4a8da0344"}],"keystone/auth/controllers.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"711ef21841cd5e16c3b446e406d1c6664b5fdf06","unresolved":false,"context_lines":[{"line_number":384,"context_line":"                auth_context[\u0027user_id\u0027], method_names, expires_at, project_id,"},{"line_number":385,"context_line":"                domain_id, auth_context, trust, metadata_ref, include_catalog)"},{"line_number":386,"context_line":""},{"line_number":387,"context_line":"            # Make sure we consume trust uses only when getting token success"},{"line_number":388,"context_line":"            if trust:"},{"line_number":389,"context_line":"                self.trust_api.consume_use(trust[\u0027id\u0027])"},{"line_number":390,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"baada198_799b1873","line":387,"updated":"2014-07-18 14:27:29.000000000","message":"nit: suggest \"Only consume a trust use if we are using trusts and we\u0027ve successfully issued a token.\"","commit_id":"28b865480e493ab6f46e05c39fc5e7d4a8da0344"},{"author":{"_account_id":11045,"name":"Bob Thyne","email":"bob.thyne@hp.com","username":"bobt"},"change_message_id":"c5cd8a384ed45a9a5b1ce583fa3cf7dcfb9093f8","unresolved":false,"context_lines":[{"line_number":385,"context_line":"                domain_id, auth_context, trust, metadata_ref, include_catalog)"},{"line_number":386,"context_line":""},{"line_number":387,"context_line":"            # We consume a trust use only when we are using trusts and have"},{"line_number":388,"context_line":"            # successfully issued a token."},{"line_number":389,"context_line":"            if trust:"},{"line_number":390,"context_line":"                self.trust_api.consume_use(trust[\u0027id\u0027])"},{"line_number":391,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"baada198_cb5a6381","line":388,"updated":"2014-07-25 19:27:29.000000000","message":"Nice comment. \n\nUse \"NOTE(username):\" similar to line 379","commit_id":"aa0f2ac62e9415b63661c22163794fc103dff0ca"}],"keystone/tests/test_auth.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"c05be575be6f4fe686da27063b840861574623e9","unresolved":false,"context_lines":[{"line_number":966,"context_line":"            unscoped_token[\u0027access\u0027][\u0027token\u0027][\u0027id\u0027])"},{"line_number":967,"context_line":"        trust \u003d self.trust_controller.get_trust(context,"},{"line_number":968,"context_line":"                                                new_trust[\u0027id\u0027])[\u0027trust\u0027]"},{"line_number":969,"context_line":"        self.assertEqual(3, trust[\u0027remaining_uses\u0027])"},{"line_number":970,"context_line":""},{"line_number":971,"context_line":""},{"line_number":972,"context_line":"class TokenExpirationTest(AuthTest):"}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_12efdcb1","line":969,"updated":"2014-06-30 16:59:20.000000000","message":"We could change 3 to trust_data[\u0027remaining_uses\u0027]: \n\n    self.assertEqual(trust_data[\u0027remaining_uses\u0027], trust[\u0027remaining_uses\u0027])","commit_id":"be60955ced36acd5029929e2b3d1eb6bc4307b56"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"711ef21841cd5e16c3b446e406d1c6664b5fdf06","unresolved":false,"context_lines":[{"line_number":959,"context_line":"        request_body \u003d self.build_v2_token_request(\u0027TWO\u0027, \u0027two2\u0027, new_trust)"},{"line_number":960,"context_line":"        self.assertRaises("},{"line_number":961,"context_line":"            exception.Forbidden,"},{"line_number":962,"context_line":"            self.controller.authenticate, {}, request_body)"},{"line_number":963,"context_line":""},{"line_number":964,"context_line":"        unscoped_token \u003d self.get_unscoped_token(self.trustor[\u0027name\u0027])"},{"line_number":965,"context_line":"        context \u003d self._create_auth_context("}],"source_content_type":"text/x-python","patch_set":3,"id":"baada198_99a62caa","line":962,"updated":"2014-07-18 14:27:29.000000000","message":"nit: can this be rewritten like readability? \n\n    self.assertRaises(exception.Forbidden, \n                      self.controller.authenticate,\n                      {}, \n                      request_body)","commit_id":"28b865480e493ab6f46e05c39fc5e7d4a8da0344"},{"author":{"_account_id":11045,"name":"Bob Thyne","email":"bob.thyne@hp.com","username":"bobt"},"change_message_id":"c5cd8a384ed45a9a5b1ce583fa3cf7dcfb9093f8","unresolved":false,"context_lines":[{"line_number":947,"context_line":"            exception.Forbidden,"},{"line_number":948,"context_line":"            self.controller.authenticate, {}, request_body)"},{"line_number":949,"context_line":""},{"line_number":950,"context_line":"    def test_do_not_consume_remaining_uses_when_get_token_fails(self):"},{"line_number":951,"context_line":"        trust_data \u003d copy.deepcopy(self.sample_data)"},{"line_number":952,"context_line":"        trust_data[\u0027remaining_uses\u0027] \u003d 3"},{"line_number":953,"context_line":"        new_trust \u003d self.create_trust(trust_data, self.trustor[\u0027name\u0027])"}],"source_content_type":"text/x-python","patch_set":4,"id":"baada198_5d5d36eb","line":950,"updated":"2014-07-25 19:27:29.000000000","message":"We are checking that underneath the covers trust_api.consume_use is not called when get_token fails, correct? In which case, perhaps rename the method:\n\ntest_do_not_consume_use_when_get_token_fails","commit_id":"aa0f2ac62e9415b63661c22163794fc103dff0ca"},{"author":{"_account_id":9101,"name":"wanghong","email":"reviewwanghong@126.com","username":"wanghong"},"change_message_id":"77d5d885f3f4f4a8cd2af769ce3439bf933091a6","unresolved":false,"context_lines":[{"line_number":947,"context_line":"            exception.Forbidden,"},{"line_number":948,"context_line":"            self.controller.authenticate, {}, request_body)"},{"line_number":949,"context_line":""},{"line_number":950,"context_line":"    def test_do_not_consume_remaining_uses_when_get_token_fails(self):"},{"line_number":951,"context_line":"        trust_data \u003d copy.deepcopy(self.sample_data)"},{"line_number":952,"context_line":"        trust_data[\u0027remaining_uses\u0027] \u003d 3"},{"line_number":953,"context_line":"        new_trust \u003d self.create_trust(trust_data, self.trustor[\u0027name\u0027])"}],"source_content_type":"text/x-python","patch_set":4,"id":"baada198_e4058ac2","line":950,"in_reply_to":"baada198_5d5d36eb","updated":"2014-07-28 01:54:04.000000000","message":"No, I want to test we do not consume the remaining uses of trust when getting token fails.","commit_id":"aa0f2ac62e9415b63661c22163794fc103dff0ca"},{"author":{"_account_id":11045,"name":"Bob Thyne","email":"bob.thyne@hp.com","username":"bobt"},"change_message_id":"c5cd8a384ed45a9a5b1ce583fa3cf7dcfb9093f8","unresolved":false,"context_lines":[{"line_number":965,"context_line":"            unscoped_token[\u0027access\u0027][\u0027token\u0027][\u0027id\u0027])"},{"line_number":966,"context_line":"        trust \u003d self.trust_controller.get_trust(context,"},{"line_number":967,"context_line":"                                                new_trust[\u0027id\u0027])[\u0027trust\u0027]"},{"line_number":968,"context_line":"        self.assertEqual(new_trust[\u0027remaining_uses\u0027], trust[\u0027remaining_uses\u0027])"},{"line_number":969,"context_line":""},{"line_number":970,"context_line":""},{"line_number":971,"context_line":"class TokenExpirationTest(AuthTest):"}],"source_content_type":"text/x-python","patch_set":4,"id":"baada198_fd3a8a32","line":968,"updated":"2014-07-25 19:27:29.000000000","message":"I would vote on using a literal integer for the expected value and remove the existing trust variable defined on line 966.","commit_id":"aa0f2ac62e9415b63661c22163794fc103dff0ca"},{"author":{"_account_id":9101,"name":"wanghong","email":"reviewwanghong@126.com","username":"wanghong"},"change_message_id":"77d5d885f3f4f4a8cd2af769ce3439bf933091a6","unresolved":false,"context_lines":[{"line_number":965,"context_line":"            unscoped_token[\u0027access\u0027][\u0027token\u0027][\u0027id\u0027])"},{"line_number":966,"context_line":"        trust \u003d self.trust_controller.get_trust(context,"},{"line_number":967,"context_line":"                                                new_trust[\u0027id\u0027])[\u0027trust\u0027]"},{"line_number":968,"context_line":"        self.assertEqual(new_trust[\u0027remaining_uses\u0027], trust[\u0027remaining_uses\u0027])"},{"line_number":969,"context_line":""},{"line_number":970,"context_line":""},{"line_number":971,"context_line":"class TokenExpirationTest(AuthTest):"}],"source_content_type":"text/x-python","patch_set":4,"id":"baada198_4441d608","line":968,"in_reply_to":"baada198_fd3a8a32","updated":"2014-07-28 01:54:04.000000000","message":"I agree. It is more clearly.","commit_id":"aa0f2ac62e9415b63661c22163794fc103dff0ca"},{"author":{"_account_id":11045,"name":"Bob Thyne","email":"bob.thyne@hp.com","username":"bobt"},"change_message_id":"92146397a09247bba5174f7826613917890cf00b","unresolved":false,"context_lines":[{"line_number":960,"context_line":"            exception.Forbidden,"},{"line_number":961,"context_line":"            self.controller.authenticate, {}, request_body)"},{"line_number":962,"context_line":""},{"line_number":963,"context_line":"    def test_do_not_consume_remaining_uses_when_getting_token_fails(self):"},{"line_number":964,"context_line":"        trust_data \u003d copy.deepcopy(self.sample_data)"},{"line_number":965,"context_line":"        trust_data[\u0027remaining_uses\u0027] \u003d 3"},{"line_number":966,"context_line":"        new_trust \u003d self.create_trust(trust_data, self.trustor[\u0027name\u0027])"}],"source_content_type":"text/x-python","patch_set":5,"id":"baada198_8b63efa9","line":963,"updated":"2014-07-28 03:53:22.000000000","message":"Keep the original \"get_token_fails\" substring ... \"getting_token_fails\" doesn\u0027t read well.","commit_id":"3aa06b9edc80e4d2743ae92ff3ba4471c7abae8a"},{"author":{"_account_id":11045,"name":"Bob Thyne","email":"bob.thyne@hp.com","username":"bobt"},"change_message_id":"92146397a09247bba5174f7826613917890cf00b","unresolved":false,"context_lines":[{"line_number":978,"context_line":"            unscoped_token[\u0027access\u0027][\u0027token\u0027][\u0027id\u0027])"},{"line_number":979,"context_line":"        trust \u003d self.trust_controller.get_trust(context,"},{"line_number":980,"context_line":"                                                new_trust[\u0027id\u0027])[\u0027trust\u0027]"},{"line_number":981,"context_line":"        self.assertEqual(3, trust[\u0027remaining_uses\u0027])"},{"line_number":982,"context_line":""},{"line_number":983,"context_line":""},{"line_number":984,"context_line":"class TokenExpirationTest(AuthTest):"}],"source_content_type":"text/x-python","patch_set":5,"id":"baada198_2bc4a390","line":981,"updated":"2014-07-28 03:53:22.000000000","message":"self.assertEqual(actual, expected)","commit_id":"3aa06b9edc80e4d2743ae92ff3ba4471c7abae8a"},{"author":{"_account_id":11045,"name":"Bob Thyne","email":"bob.thyne@hp.com","username":"bobt"},"change_message_id":"910e4a944f6c3bc24a0e212d07aa86daa6d6b382","unresolved":false,"context_lines":[{"line_number":978,"context_line":"            unscoped_token[\u0027access\u0027][\u0027token\u0027][\u0027id\u0027])"},{"line_number":979,"context_line":"        trust \u003d self.trust_controller.get_trust(context,"},{"line_number":980,"context_line":"                                                new_trust[\u0027id\u0027])[\u0027trust\u0027]"},{"line_number":981,"context_line":"        self.assertEqual(3, trust[\u0027remaining_uses\u0027])"},{"line_number":982,"context_line":""},{"line_number":983,"context_line":""},{"line_number":984,"context_line":"class TokenExpirationTest(AuthTest):"}],"source_content_type":"text/x-python","patch_set":5,"id":"baada198_b6b3a107","line":981,"in_reply_to":"baada198_0257b95a","updated":"2014-07-28 15:15:38.000000000","message":"Indeed you are! I\u0027m off to eat some humble pie!","commit_id":"3aa06b9edc80e4d2743ae92ff3ba4471c7abae8a"},{"author":{"_account_id":9101,"name":"wanghong","email":"reviewwanghong@126.com","username":"wanghong"},"change_message_id":"e9397c85576d5848a1a7eb8f6a1efff2e4c6c83a","unresolved":false,"context_lines":[{"line_number":978,"context_line":"            unscoped_token[\u0027access\u0027][\u0027token\u0027][\u0027id\u0027])"},{"line_number":979,"context_line":"        trust \u003d self.trust_controller.get_trust(context,"},{"line_number":980,"context_line":"                                                new_trust[\u0027id\u0027])[\u0027trust\u0027]"},{"line_number":981,"context_line":"        self.assertEqual(3, trust[\u0027remaining_uses\u0027])"},{"line_number":982,"context_line":""},{"line_number":983,"context_line":""},{"line_number":984,"context_line":"class TokenExpirationTest(AuthTest):"}],"source_content_type":"text/x-python","patch_set":5,"id":"baada198_0257b95a","line":981,"in_reply_to":"baada198_2bc4a390","updated":"2014-07-28 09:19:37.000000000","message":"I think I am right:), please refer to https://bugs.launchpad.net/keystone/+bug/1277104","commit_id":"3aa06b9edc80e4d2743ae92ff3ba4471c7abae8a"}],"keystone/tests/test_v3_auth.py":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"9000d714093efbf9a23b24f5519582fd1c78feef","unresolved":false,"context_lines":[{"line_number":3161,"context_line":""},{"line_number":3162,"context_line":"        trust_id \u003d r.result.get(\u0027trust\u0027).get(\u0027id\u0027)"},{"line_number":3163,"context_line":"        auth_data \u003d self.build_authentication_request("},{"line_number":3164,"context_line":"            user_id\u003dself.default_domain_user[\u0027id\u0027],"},{"line_number":3165,"context_line":"            password\u003dself.default_domain_user[\u0027password\u0027],"},{"line_number":3166,"context_line":"            trust_id\u003dtrust_id)"},{"line_number":3167,"context_line":"        self.post(\u0027/auth/tokens\u0027, body\u003dauth_data, expected_status\u003d403)"}],"source_content_type":"text/x-python","patch_set":1,"id":"dab895d6_87a56506","line":3164,"updated":"2014-06-30 05:53:29.000000000","message":"are you are using self.default_domain_user because it wasn\u0027t the trustee, and therefore fails the auth call? \n\nif so, i would prefer you use a random uuid instead, it makes it a bit clearer.","commit_id":"020b34ad1449623f91f941443e6c1937e6961ab1"},{"author":{"_account_id":9101,"name":"wanghong","email":"reviewwanghong@126.com","username":"wanghong"},"change_message_id":"e033d6029d0df444627e34105f61de823e8ba8a7","unresolved":false,"context_lines":[{"line_number":3161,"context_line":""},{"line_number":3162,"context_line":"        trust_id \u003d r.result.get(\u0027trust\u0027).get(\u0027id\u0027)"},{"line_number":3163,"context_line":"        auth_data \u003d self.build_authentication_request("},{"line_number":3164,"context_line":"            user_id\u003dself.default_domain_user[\u0027id\u0027],"},{"line_number":3165,"context_line":"            password\u003dself.default_domain_user[\u0027password\u0027],"},{"line_number":3166,"context_line":"            trust_id\u003dtrust_id)"},{"line_number":3167,"context_line":"        self.post(\u0027/auth/tokens\u0027, body\u003dauth_data, expected_status\u003d403)"}],"source_content_type":"text/x-python","patch_set":1,"id":"dab895d6_87f3a472","line":3164,"in_reply_to":"dab895d6_87a56506","updated":"2014-06-30 07:00:42.000000000","message":"Here, we must specify an exist user. Because before consume trust uses the auth call would check user\u0027s password. But I agree with that here is not very clear, I will add a comment on this line.","commit_id":"020b34ad1449623f91f941443e6c1937e6961ab1"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"c05be575be6f4fe686da27063b840861574623e9","unresolved":false,"context_lines":[{"line_number":3168,"context_line":"        self.post(\u0027/auth/tokens\u0027, body\u003dauth_data, expected_status\u003d403)"},{"line_number":3169,"context_line":""},{"line_number":3170,"context_line":"        r \u003d self.get(\u0027/OS-TRUST/trusts/%s\u0027 % trust_id)"},{"line_number":3171,"context_line":"        self.assertEqual(3, r.result.get(\u0027trust\u0027).get(\u0027remaining_uses\u0027))"},{"line_number":3172,"context_line":""},{"line_number":3173,"context_line":""},{"line_number":3174,"context_line":"class TestAPIProtectionWithoutAuthContextMiddleware(test_v3.RestfulTestCase):"}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_121d1cbe","line":3171,"updated":"2014-06-30 16:59:20.000000000","message":"Same comment as on previous test.","commit_id":"be60955ced36acd5029929e2b3d1eb6bc4307b56"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"711ef21841cd5e16c3b446e406d1c6664b5fdf06","unresolved":false,"context_lines":[{"line_number":3161,"context_line":""},{"line_number":3162,"context_line":"        new_trust \u003d r.result.get(\u0027trust\u0027)"},{"line_number":3163,"context_line":"        trust_id \u003d new_trust.get(\u0027id\u0027)"},{"line_number":3164,"context_line":"        # Give an another user but not trustee user to let get token fail"},{"line_number":3165,"context_line":"        auth_data \u003d self.build_authentication_request("},{"line_number":3166,"context_line":"            user_id\u003dself.default_domain_user[\u0027id\u0027],"},{"line_number":3167,"context_line":"            password\u003dself.default_domain_user[\u0027password\u0027],"}],"source_content_type":"text/x-python","patch_set":3,"id":"baada198_19ea1c74","line":3164,"updated":"2014-07-18 14:27:29.000000000","message":"nit: suggest\n\n    # Pass in another user\u0027s ID as the trustee, the result being a failed token \n    # get and the remaining_uses of the trust should not be decremented.","commit_id":"28b865480e493ab6f46e05c39fc5e7d4a8da0344"},{"author":{"_account_id":11045,"name":"Bob Thyne","email":"bob.thyne@hp.com","username":"bobt"},"change_message_id":"c5cd8a384ed45a9a5b1ce583fa3cf7dcfb9093f8","unresolved":false,"context_lines":[{"line_number":3147,"context_line":"            expected_status\u003d200)"},{"line_number":3148,"context_line":"        self.assertValidRoleResponse(r, self.role)"},{"line_number":3149,"context_line":""},{"line_number":3150,"context_line":"    def test_do_not_consume_remaining_uses_when_get_token_fails(self):"},{"line_number":3151,"context_line":"        ref \u003d self.new_trust_ref("},{"line_number":3152,"context_line":"            trustor_user_id\u003dself.user_id,"},{"line_number":3153,"context_line":"            trustee_user_id\u003dself.trustee_user_id,"}],"source_content_type":"text/x-python","patch_set":4,"id":"baada198_bd0f32df","line":3150,"updated":"2014-07-25 19:27:29.000000000","message":"Similar to previous comment. Rename to:\n\ntest_do_not_consume_use_when_get_token_fails","commit_id":"aa0f2ac62e9415b63661c22163794fc103dff0ca"},{"author":{"_account_id":11045,"name":"Bob Thyne","email":"bob.thyne@hp.com","username":"bobt"},"change_message_id":"c5cd8a384ed45a9a5b1ce583fa3cf7dcfb9093f8","unresolved":false,"context_lines":[{"line_number":3172,"context_line":""},{"line_number":3173,"context_line":"        r \u003d self.get(\u0027/OS-TRUST/trusts/%s\u0027 % trust_id)"},{"line_number":3174,"context_line":"        self.assertEqual(new_trust[\u0027remaining_uses\u0027],"},{"line_number":3175,"context_line":"                         r.result.get(\u0027trust\u0027).get(\u0027remaining_uses\u0027))"},{"line_number":3176,"context_line":""},{"line_number":3177,"context_line":""},{"line_number":3178,"context_line":"class TestAPIProtectionWithoutAuthContextMiddleware(test_v3.RestfulTestCase):"}],"source_content_type":"text/x-python","patch_set":4,"id":"baada198_bdfe5268","line":3175,"updated":"2014-07-25 19:27:29.000000000","message":"I would vote on using a literal integer for the expected value","commit_id":"aa0f2ac62e9415b63661c22163794fc103dff0ca"},{"author":{"_account_id":11045,"name":"Bob Thyne","email":"bob.thyne@hp.com","username":"bobt"},"change_message_id":"92146397a09247bba5174f7826613917890cf00b","unresolved":false,"context_lines":[{"line_number":3092,"context_line":"            expected_status\u003d200)"},{"line_number":3093,"context_line":"        self.assertValidRoleResponse(r, self.role)"},{"line_number":3094,"context_line":""},{"line_number":3095,"context_line":"    def test_do_not_consume_remaining_uses_when_getting_token_fails(self):"},{"line_number":3096,"context_line":"        ref \u003d self.new_trust_ref("},{"line_number":3097,"context_line":"            trustor_user_id\u003dself.user_id,"},{"line_number":3098,"context_line":"            trustee_user_id\u003dself.trustee_user_id,"}],"source_content_type":"text/x-python","patch_set":5,"id":"baada198_8bfa0fb8","line":3095,"updated":"2014-07-28 03:53:22.000000000","message":"Keep the original \"get_token_fails\" substring ... \"getting_token_fails\" doesn\u0027t read well.","commit_id":"3aa06b9edc80e4d2743ae92ff3ba4471c7abae8a"},{"author":{"_account_id":11045,"name":"Bob Thyne","email":"bob.thyne@hp.com","username":"bobt"},"change_message_id":"92146397a09247bba5174f7826613917890cf00b","unresolved":false,"context_lines":[{"line_number":3116,"context_line":"        self.v3_authenticate_token(auth_data, expected_status\u003d403)"},{"line_number":3117,"context_line":""},{"line_number":3118,"context_line":"        r \u003d self.get(\u0027/OS-TRUST/trusts/%s\u0027 % trust_id)"},{"line_number":3119,"context_line":"        self.assertEqual(3, r.result.get(\u0027trust\u0027).get(\u0027remaining_uses\u0027))"},{"line_number":3120,"context_line":""},{"line_number":3121,"context_line":""},{"line_number":3122,"context_line":"class TestAPIProtectionWithoutAuthContextMiddleware(test_v3.RestfulTestCase):"}],"source_content_type":"text/x-python","patch_set":5,"id":"baada198_ab2c334b","line":3119,"updated":"2014-07-28 03:53:22.000000000","message":"self.assertEquals(actual, expected)","commit_id":"3aa06b9edc80e4d2743ae92ff3ba4471c7abae8a"}],"keystone/token/controllers.py":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"9000d714093efbf9a23b24f5519582fd1c78feef","unresolved":false,"context_lines":[{"line_number":131,"context_line":"            auth_token_data, roles_ref\u003droles_ref, catalog_ref\u003dcatalog_ref)"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"        # Make sure we consume trust uses only when getting token success"},{"line_number":134,"context_line":"        if metadata_ref.get(\u0027trust_id\u0027):"},{"line_number":135,"context_line":"            self.trust_api.consume_use(metadata_ref[\u0027trust_id\u0027])"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"        return token_data"}],"source_content_type":"text/x-python","patch_set":1,"id":"dab895d6_8720059d","line":134,"updated":"2014-06-30 05:53:29.000000000","message":"I would stick to checking the auth variable,\n\n  if \u0027trust_id\u0027 in auth: ...","commit_id":"020b34ad1449623f91f941443e6c1937e6961ab1"},{"author":{"_account_id":11717,"name":"Ryan Oshima","email":"ryan.oshima@hp.com","username":"RyanOshima"},"change_message_id":"17609c06979a89d10d05d96de490aa6eab0dbee2","unresolved":false,"context_lines":[{"line_number":130,"context_line":"        (token_id, token_data) \u003d self.token_provider_api.issue_v2_token("},{"line_number":131,"context_line":"            auth_token_data, roles_ref\u003droles_ref, catalog_ref\u003dcatalog_ref)"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"        # Make sure we consume trust uses only when getting token success"},{"line_number":134,"context_line":"        if CONF.trust.enabled and \u0027trust_id\u0027 in auth:"},{"line_number":135,"context_line":"            self.trust_api.consume_use(auth[\u0027trust_id\u0027])"},{"line_number":136,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"baada198_6ef50982","line":133,"updated":"2014-07-18 17:01:46.000000000","message":"\"get\"-\u003e\"we get\"","commit_id":"28b865480e493ab6f46e05c39fc5e7d4a8da0344"},{"author":{"_account_id":11045,"name":"Bob Thyne","email":"bob.thyne@hp.com","username":"bobt"},"change_message_id":"c5cd8a384ed45a9a5b1ce583fa3cf7dcfb9093f8","unresolved":false,"context_lines":[{"line_number":130,"context_line":"        (token_id, token_data) \u003d self.token_provider_api.issue_v2_token("},{"line_number":131,"context_line":"            auth_token_data, roles_ref\u003droles_ref, catalog_ref\u003dcatalog_ref)"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"        # We consume a trust use only when we are using trusts and have"},{"line_number":134,"context_line":"        # successfully issued a token."},{"line_number":135,"context_line":"        if CONF.trust.enabled and \u0027trust_id\u0027 in auth:"},{"line_number":136,"context_line":"            self.trust_api.consume_use(auth[\u0027trust_id\u0027])"}],"source_content_type":"text/x-python","patch_set":4,"id":"baada198_3d2c0293","line":133,"updated":"2014-07-25 19:27:29.000000000","message":"Add NOTE(username):","commit_id":"aa0f2ac62e9415b63661c22163794fc103dff0ca"}]}
