)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"e879648cf846c97087d817735212fe222472845a","unresolved":false,"context_lines":[{"line_number":12,"context_line":"token."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"This means we have two expiry checking code paths, one in cache and one"},{"line_number":15,"context_line":"for checking regular tokens."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Modify cache so that only the token data is stored in memcache and that"},{"line_number":18,"context_line":"expiry validation of the token happens in the same way regardless of"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"7a016987_d1ccba8a","line":15,"updated":"2015-05-22 21:45:25.000000000","message":"This is by design. We cache expired tokens, so that we don\u0027t need to check with the server that the token is expired.","commit_id":"3d0f3bb248e0fd09523be46944501c97ad9ab656"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"0f08869e7c89d97c26f5ebb6673c260aa41e3ec7","unresolved":false,"context_lines":[{"line_number":12,"context_line":"token."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"This means we have two expiry checking code paths, one in cache and one"},{"line_number":15,"context_line":"for checking regular tokens."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Modify cache so that only the token data is stored in memcache and that"},{"line_number":18,"context_line":"expiry validation of the token happens in the same way regardless of"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"7a016987_a312ed07","line":15,"in_reply_to":"7a016987_d1ccba8a","updated":"2015-05-26 02:07:25.000000000","message":"i tried to reword it","commit_id":"3d0f3bb248e0fd09523be46944501c97ad9ab656"}],"keystonemiddleware/auth_token/_cache.py":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"e879648cf846c97087d817735212fe222472845a","unresolved":false,"context_lines":[{"line_number":243,"context_line":"            self._LOG.debug(\u0027Cached Token is marked unauthorized\u0027)"},{"line_number":244,"context_line":"            raise exc.InvalidToken(_(\u0027Token authorization failed\u0027))"},{"line_number":245,"context_line":""},{"line_number":246,"context_line":"        return cached"},{"line_number":247,"context_line":""},{"line_number":248,"context_line":"    def _cache_store(self, token_id, data):"},{"line_number":249,"context_line":"        \"\"\"Store value into memcache."}],"source_content_type":"text/x-python","patch_set":8,"id":"7a016987_51e32ad9","line":246,"updated":"2015-05-22 21:45:25.000000000","message":"what\u0027s going to happen if a customer upgrades their auth_token and points it to a cache containing the old entries? We need to support this case.","commit_id":"3d0f3bb248e0fd09523be46944501c97ad9ab656"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"0f08869e7c89d97c26f5ebb6673c260aa41e3ec7","unresolved":false,"context_lines":[{"line_number":243,"context_line":"            self._LOG.debug(\u0027Cached Token is marked unauthorized\u0027)"},{"line_number":244,"context_line":"            raise exc.InvalidToken(_(\u0027Token authorization failed\u0027))"},{"line_number":245,"context_line":""},{"line_number":246,"context_line":"        return cached"},{"line_number":247,"context_line":""},{"line_number":248,"context_line":"    def _cache_store(self, token_id, data):"},{"line_number":249,"context_line":"        \"\"\"Store value into memcache."}],"source_content_type":"text/x-python","patch_set":8,"id":"7a016987_e308e5db","line":246,"in_reply_to":"7a016987_51e32ad9","updated":"2015-05-26 02:07:25.000000000","message":"Done","commit_id":"3d0f3bb248e0fd09523be46944501c97ad9ab656"}],"keystonemiddleware/tests/unit/auth_token/test_auth_token_middleware.py":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"e879648cf846c97087d817735212fe222472845a","unresolved":false,"context_lines":[{"line_number":2085,"context_line":"        self.assertThat(lambda: self.middleware._token_cache.get(token),"},{"line_number":2086,"context_line":"                        matchers.raises(exc.InvalidToken))"},{"line_number":2087,"context_line":""},{"line_number":2088,"context_line":"    def test_cached_token_with_timezone_offset_not_expired(self):"},{"line_number":2089,"context_line":"        token \u003d \u0027mytoken\u0027"},{"line_number":2090,"context_line":"        data \u003d \u0027this_data\u0027"},{"line_number":2091,"context_line":"        self.set_middleware()"}],"source_content_type":"text/x-python","patch_set":8,"id":"7a016987_f14216ad","side":"PARENT","line":2088,"updated":"2015-05-22 21:45:25.000000000","message":"I think the removal of these timezone offset tests should be done in a separate commit.","commit_id":"530b5cbe5c02261af59822854d1f88894b3e2395"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"0f08869e7c89d97c26f5ebb6673c260aa41e3ec7","unresolved":false,"context_lines":[{"line_number":2085,"context_line":"        self.assertThat(lambda: self.middleware._token_cache.get(token),"},{"line_number":2086,"context_line":"                        matchers.raises(exc.InvalidToken))"},{"line_number":2087,"context_line":""},{"line_number":2088,"context_line":"    def test_cached_token_with_timezone_offset_not_expired(self):"},{"line_number":2089,"context_line":"        token \u003d \u0027mytoken\u0027"},{"line_number":2090,"context_line":"        data \u003d \u0027this_data\u0027"},{"line_number":2091,"context_line":"        self.set_middleware()"}],"source_content_type":"text/x-python","patch_set":8,"id":"7a016987_302be596","side":"PARENT","line":2088,"in_reply_to":"7a016987_f14216ad","updated":"2015-05-26 02:07:25.000000000","message":"i think this is part of the problem i\u0027m trying to show. We are already testing the timezone for normal token expiry checking (indicated above) and here we do a seperate set of tests for timezone tests when it\u0027s in the cache.","commit_id":"530b5cbe5c02261af59822854d1f88894b3e2395"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"0f08869e7c89d97c26f5ebb6673c260aa41e3ec7","unresolved":false,"context_lines":[{"line_number":2030,"context_line":"        actual_expires \u003d auth_token._get_token_expiration(data)"},{"line_number":2031,"context_line":"        self.assertEqual(actual_expires, expected_expires)"},{"line_number":2032,"context_line":""},{"line_number":2033,"context_line":"    def test_v3_token_with_timezone_offset_expired(self):"},{"line_number":2034,"context_line":"        self.useFixture(TimeFixture(\u00272000-01-01T00:01:10.000123Z\u0027))"},{"line_number":2035,"context_line":"        data \u003d self.create_v3_token_fixture("},{"line_number":2036,"context_line":"            expires\u003d\u00271999-12-31T19:05:10Z\u0027)"}],"source_content_type":"text/x-python","patch_set":8,"id":"7a016987_f01b0d7f","line":2033,"updated":"2015-05-26 02:07:25.000000000","message":"existing timezone tests.","commit_id":"3d0f3bb248e0fd09523be46944501c97ad9ab656"}]}
