)]}'
{"keystoneclient/tests/v3/test_tokens.py":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"7f47c7d6bca07d38870c09aa2ee2aeae5d950d58","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"import uuid"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"import httpretty"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from keystoneclient import access"},{"line_number":18,"context_line":"from keystoneclient.tests import client_fixtures"}],"source_content_type":"text/x-python","patch_set":4,"id":"baada198_852048f9","line":15,"updated":"2014-08-03 23:53:57.000000000","message":"this needs a rebase. httpretty isn\u0027t used in keystoneclient anymore. b487f946cd60a907174f550e08372d5907ca319f","commit_id":"c0c027524f83bc744fbd8b7ee7c00f592eb638be"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"7f47c7d6bca07d38870c09aa2ee2aeae5d950d58","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"class TokenTests(utils.TestCase):"},{"line_number":23,"context_line":"    def setUp(self):"},{"line_number":24,"context_line":"        super(TokenTests, self).setUp()"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    @httpretty.activate"},{"line_number":27,"context_line":"    def test_revoke_token_with_token_id(self):"}],"source_content_type":"text/x-python","patch_set":4,"id":"baada198_0515189a","line":24,"updated":"2014-08-03 23:53:57.000000000","message":"remove this method since this is the default.","commit_id":"c0c027524f83bc744fbd8b7ee7c00f592eb638be"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"7f47c7d6bca07d38870c09aa2ee2aeae5d950d58","unresolved":false,"context_lines":[{"line_number":36,"context_line":"    def test_revoke_token_with_access_info_instance(self):"},{"line_number":37,"context_line":"        token_id \u003d uuid.uuid4().hex"},{"line_number":38,"context_line":"        examples \u003d client_fixtures.Examples()"},{"line_number":39,"context_line":"        examples.setUp()"},{"line_number":40,"context_line":"        token_ref \u003d examples.TOKEN_RESPONSES[examples.v3_UUID_TOKEN_DEFAULT]"},{"line_number":41,"context_line":"        token \u003d access.AccessInfoV3(token_id, token_ref[\u0027token\u0027])"},{"line_number":42,"context_line":"        self.stub_url(httpretty.DELETE, [\u0027/auth/tokens\u0027], status\u003d204)"}],"source_content_type":"text/x-python","patch_set":4,"id":"baada198_e57824fa","line":39,"updated":"2014-08-03 23:53:57.000000000","message":"isn\u0027t this supposed to happen automatically when you use fixture?","commit_id":"c0c027524f83bc744fbd8b7ee7c00f592eb638be"},{"author":{"_account_id":9101,"name":"wanghong","email":"reviewwanghong@126.com","username":"wanghong"},"change_message_id":"e59f024c893fb0f34757ae9a26c9e7f408b2fbaf","unresolved":false,"context_lines":[{"line_number":36,"context_line":"    def test_revoke_token_with_access_info_instance(self):"},{"line_number":37,"context_line":"        token_id \u003d uuid.uuid4().hex"},{"line_number":38,"context_line":"        examples \u003d client_fixtures.Examples()"},{"line_number":39,"context_line":"        examples.setUp()"},{"line_number":40,"context_line":"        token_ref \u003d examples.TOKEN_RESPONSES[examples.v3_UUID_TOKEN_DEFAULT]"},{"line_number":41,"context_line":"        token \u003d access.AccessInfoV3(token_id, token_ref[\u0027token\u0027])"},{"line_number":42,"context_line":"        self.stub_url(httpretty.DELETE, [\u0027/auth/tokens\u0027], status\u003d204)"}],"source_content_type":"text/x-python","patch_set":4,"id":"baada198_d3a9f825","line":39,"in_reply_to":"baada198_e57824fa","updated":"2014-08-05 03:49:44.000000000","message":"I have done test, it does not happen automatically.","commit_id":"c0c027524f83bc744fbd8b7ee7c00f592eb638be"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"e89553f5aeac3c27f58e2b798c862747dac661a1","unresolved":false,"context_lines":[{"line_number":27,"context_line":""},{"line_number":28,"context_line":"    def test_revoke_token_with_access_info_instance(self):"},{"line_number":29,"context_line":"        token_id \u003d uuid.uuid4().hex"},{"line_number":30,"context_line":"        examples \u003d client_fixtures.Examples()"},{"line_number":31,"context_line":"        examples.setUp()"},{"line_number":32,"context_line":"        token_ref \u003d examples.TOKEN_RESPONSES[examples.v3_UUID_TOKEN_DEFAULT]"},{"line_number":33,"context_line":"        token \u003d access.AccessInfoV3(token_id, token_ref[\u0027token\u0027])"}],"source_content_type":"text/x-python","patch_set":6,"id":"baada198_9631070d","line":30,"updated":"2014-08-05 23:24:34.000000000","message":"use self.useFixture when using a fixture, see http://testtools.readthedocs.org/en/latest/for-test-authors.html#fixtures","commit_id":"1d20aedf7cec112024cefb0f6f5bdaa4802ef66a"}],"keystoneclient/v3/client.py":[{"author":{"_account_id":11045,"name":"Bob Thyne","email":"bob.thyne@hp.com","username":"bobt"},"change_message_id":"e389284a0ccb727527db58b8c354e254c118808e","unresolved":false,"context_lines":[{"line_number":113,"context_line":"        self.services \u003d services.ServiceManager(self)"},{"line_number":114,"context_line":"        self.users \u003d users.UserManager(self)"},{"line_number":115,"context_line":"        self.trusts \u003d trusts.TrustManager(self)"},{"line_number":116,"context_line":"        self.tokens \u003d tokens.TokenManager(self)"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"        # DEPRECATED: if session is passed then we go to the new behaviour of"},{"line_number":119,"context_line":"        # authenticating on the first required call."}],"source_content_type":"text/x-python","patch_set":3,"id":"baada198_aabfa2fa","line":116,"updated":"2014-07-22 08:19:47.000000000","message":"Nit: move self.trusts \u003d … and self.tokens \u003d … into alphabetical order, consistent with the other assignments.","commit_id":"d8f381fff0fb4e7ddb72f3b28ce1507ce9e73a84"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"7f47c7d6bca07d38870c09aa2ee2aeae5d950d58","unresolved":false,"context_lines":[{"line_number":113,"context_line":"        self.services \u003d services.ServiceManager(self)"},{"line_number":114,"context_line":"        self.tokens \u003d tokens.TokenManager(self)"},{"line_number":115,"context_line":"        self.trusts \u003d trusts.TrustManager(self)"},{"line_number":116,"context_line":"        self.users \u003d users.UserManager(self)"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"        # DEPRECATED: if session is passed then we go to the new behaviour of"},{"line_number":119,"context_line":"        # authenticating on the first required call."}],"source_content_type":"text/x-python","patch_set":4,"id":"baada198_057c38ea","line":116,"updated":"2014-08-03 23:53:57.000000000","message":"why was this moved? revert this change.","commit_id":"c0c027524f83bc744fbd8b7ee7c00f592eb638be"},{"author":{"_account_id":9101,"name":"wanghong","email":"reviewwanghong@126.com","username":"wanghong"},"change_message_id":"371616c6e318173414ac163e3ae59a3006afd821","unresolved":false,"context_lines":[{"line_number":113,"context_line":"        self.services \u003d services.ServiceManager(self)"},{"line_number":114,"context_line":"        self.tokens \u003d tokens.TokenManager(self)"},{"line_number":115,"context_line":"        self.trusts \u003d trusts.TrustManager(self)"},{"line_number":116,"context_line":"        self.users \u003d users.UserManager(self)"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"        # DEPRECATED: if session is passed then we go to the new behaviour of"},{"line_number":119,"context_line":"        # authenticating on the first required call."}],"source_content_type":"text/x-python","patch_set":4,"id":"baada198_da4bfa25","line":116,"in_reply_to":"baada198_057c38ea","updated":"2014-08-04 02:28:26.000000000","message":"I want to change all the variables into alphabetical order.","commit_id":"c0c027524f83bc744fbd8b7ee7c00f592eb638be"},{"author":{"_account_id":9101,"name":"wanghong","email":"reviewwanghong@126.com","username":"wanghong"},"change_message_id":"ca1ce8cec14f0dbdd616efe3c7e8746013e8faec","unresolved":false,"context_lines":[{"line_number":113,"context_line":"        self.services \u003d services.ServiceManager(self)"},{"line_number":114,"context_line":"        self.tokens \u003d tokens.TokenManager(self)"},{"line_number":115,"context_line":"        self.trusts \u003d trusts.TrustManager(self)"},{"line_number":116,"context_line":"        self.users \u003d users.UserManager(self)"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"        # DEPRECATED: if session is passed then we go to the new behaviour of"},{"line_number":119,"context_line":"        # authenticating on the first required call."}],"source_content_type":"text/x-python","patch_set":4,"id":"baada198_3a08767f","line":116,"in_reply_to":"baada198_ba1566e7","updated":"2014-08-04 03:03:59.000000000","message":"OK.","commit_id":"c0c027524f83bc744fbd8b7ee7c00f592eb638be"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"f22a084edade22f5b5e74e6e89629bc5630c4a37","unresolved":false,"context_lines":[{"line_number":113,"context_line":"        self.services \u003d services.ServiceManager(self)"},{"line_number":114,"context_line":"        self.tokens \u003d tokens.TokenManager(self)"},{"line_number":115,"context_line":"        self.trusts \u003d trusts.TrustManager(self)"},{"line_number":116,"context_line":"        self.users \u003d users.UserManager(self)"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"        # DEPRECATED: if session is passed then we go to the new behaviour of"},{"line_number":119,"context_line":"        # authenticating on the first required call."}],"source_content_type":"text/x-python","patch_set":4,"id":"baada198_ba1566e7","line":116,"in_reply_to":"baada198_da4bfa25","updated":"2014-08-04 02:38:24.000000000","message":"Put it in a separate commit since it\u0027s unrelated to the change.","commit_id":"c0c027524f83bc744fbd8b7ee7c00f592eb638be"}],"keystoneclient/v3/tokens.py":[{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"c6b5a779487ab65852db20a6aa6a73c5a3697dd5","unresolved":false,"context_lines":[{"line_number":24,"context_line":"        if isinstance(token, access.AccessInfo):"},{"line_number":25,"context_line":"            revoke_token_url \u003d \u0027/auth/tokens/%s\u0027 % token.auth_token"},{"line_number":26,"context_line":"        else:"},{"line_number":27,"context_line":"            revoke_token_url \u003d \u0027/auth/tokens/%s\u0027 % base.getid(token)"},{"line_number":28,"context_line":"        return self._client.delete(revoke_token_url)"}],"source_content_type":"text/x-python","patch_set":1,"id":"1ae5cdf2_9e8fa722","line":27,"updated":"2014-06-27 21:01:47.000000000","message":"these methods don\u0027t exist... i believe you\u0027re looking for:\n\n  https://github.com/openstack/identity-api/blob/master/v3/src/markdown/identity-api-v3.md#revoke-token-delete-authtokens","commit_id":"cc756cfa92e6255a228bed76a2905cb7a4385984"},{"author":{"_account_id":220,"name":"Haneef Ali","email":"haneef.ali@hp.com","username":"haneef"},"change_message_id":"7869170c66bdc485f22953ee605d29acbf6f4fb8","unresolved":false,"context_lines":[{"line_number":20,"context_line":"    def __init__(self, client):"},{"line_number":21,"context_line":"        self._client \u003d client"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"    def revoke_token(self, token):"},{"line_number":24,"context_line":"        if isinstance(token, access.AccessInfo):"},{"line_number":25,"context_line":"            token_id \u003d token.auth_token"},{"line_number":26,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_b0f6705b","line":23,"updated":"2014-07-05 18:42:25.000000000","message":"Can you add a doc about params?","commit_id":"113ce5dbb80b0078e1370a9520bf96e76e48c15d"},{"author":{"_account_id":11045,"name":"Bob Thyne","email":"bob.thyne@hp.com","username":"bobt"},"change_message_id":"e389284a0ccb727527db58b8c354e254c118808e","unresolved":false,"context_lines":[{"line_number":30,"context_line":"        if isinstance(token, access.AccessInfo):"},{"line_number":31,"context_line":"            token_id \u003d token.auth_token"},{"line_number":32,"context_line":"        else:"},{"line_number":33,"context_line":"            token_id \u003d base.getid(token)"},{"line_number":34,"context_line":"        headers \u003d {\u0027X-Subject-Token\u0027: token_id}"},{"line_number":35,"context_line":"        return self._client.delete(\u0027/auth/tokens\u0027, headers\u003dheaders)"}],"source_content_type":"text/x-python","patch_set":3,"id":"baada198_2a09d2dc","line":33,"updated":"2014-07-22 08:19:47.000000000","message":"What happens if we don\u0027t find token? Or is this use case not possible?","commit_id":"d8f381fff0fb4e7ddb72f3b28ce1507ce9e73a84"},{"author":{"_account_id":9101,"name":"wanghong","email":"reviewwanghong@126.com","username":"wanghong"},"change_message_id":"5f88e51456aa07c8f977ccc5749808886794f1f2","unresolved":false,"context_lines":[{"line_number":30,"context_line":"        if isinstance(token, access.AccessInfo):"},{"line_number":31,"context_line":"            token_id \u003d token.auth_token"},{"line_number":32,"context_line":"        else:"},{"line_number":33,"context_line":"            token_id \u003d base.getid(token)"},{"line_number":34,"context_line":"        headers \u003d {\u0027X-Subject-Token\u0027: token_id}"},{"line_number":35,"context_line":"        return self._client.delete(\u0027/auth/tokens\u0027, headers\u003dheaders)"}],"source_content_type":"text/x-python","patch_set":3,"id":"baada198_cfd2e1d0","line":33,"in_reply_to":"baada198_2a09d2dc","updated":"2014-07-23 08:08:51.000000000","message":"Your token means token_id, right? Yes, this is not a possible use case. The base.getid method always returns a value.","commit_id":"d8f381fff0fb4e7ddb72f3b28ce1507ce9e73a84"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"7f47c7d6bca07d38870c09aa2ee2aeae5d950d58","unresolved":false,"context_lines":[{"line_number":24,"context_line":"        \"\"\"Revoke a token."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"        :param token: Token to be revoked. This can be an instance of"},{"line_number":27,"context_line":"                      keystoneclient.access.AccessInfo or a string token_id."},{"line_number":28,"context_line":"        \"\"\""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"        if isinstance(token, access.AccessInfo):"}],"source_content_type":"text/x-python","patch_set":4,"id":"baada198_656c1437","line":27,"updated":"2014-08-03 23:53:57.000000000","message":"This should be a reference to the class so that it\u0027s a hyperlink.","commit_id":"c0c027524f83bc744fbd8b7ee7c00f592eb638be"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"b7f2e030b3ff87804e4d27aeb3d27d9a32d30958","unresolved":false,"context_lines":[{"line_number":24,"context_line":"        \"\"\"Revoke a token."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"        :param token: Token to be revoked. This can be an instance of"},{"line_number":27,"context_line":"                      keystoneclient.access.AccessInfo or a string token_id."},{"line_number":28,"context_line":"        \"\"\""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"        if isinstance(token, access.AccessInfo):"}],"source_content_type":"text/x-python","patch_set":4,"id":"baada198_a1e516dc","line":27,"in_reply_to":"baada198_5afd2a6c","updated":"2014-08-04 23:09:29.000000000","message":"see http://sphinx-doc.org/domains.html#cross-referencing-python-objects , or look for examples in the keystoneclient code -- http://git.openstack.org/cgit/openstack/python-keystoneclient/tree/keystoneclient/v3/client.py#n105","commit_id":"c0c027524f83bc744fbd8b7ee7c00f592eb638be"},{"author":{"_account_id":9101,"name":"wanghong","email":"reviewwanghong@126.com","username":"wanghong"},"change_message_id":"ca1ce8cec14f0dbdd616efe3c7e8746013e8faec","unresolved":false,"context_lines":[{"line_number":24,"context_line":"        \"\"\"Revoke a token."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"        :param token: Token to be revoked. This can be an instance of"},{"line_number":27,"context_line":"                      keystoneclient.access.AccessInfo or a string token_id."},{"line_number":28,"context_line":"        \"\"\""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"        if isinstance(token, access.AccessInfo):"}],"source_content_type":"text/x-python","patch_set":4,"id":"baada198_5afd2a6c","line":27,"in_reply_to":"baada198_656c1437","updated":"2014-08-04 03:03:59.000000000","message":"I can not know what I should do... Could you explain more or give me an example?","commit_id":"c0c027524f83bc744fbd8b7ee7c00f592eb638be"}]}
