| 71 | ) |
| 72 | @pytest.mark.onlynoncluster |
| 73 | def test_get_from_given_cache(self, r, r2): |
| 74 | cache = r.get_cache() |
| 75 | # add key to redis |
| 76 | r.set("foo", "bar") |
| 77 | # get key from redis and save in local cache |
| 78 | assert r.get("foo") in [b"bar", "bar"] |
| 79 | # get key from local cache |
| 80 | assert cache.get( |
| 81 | CacheKey(command="GET", redis_keys=("foo",), redis_args=("GET", "foo")) |
| 82 | ).cache_value in [ |
| 83 | b"bar", |
| 84 | "bar", |
| 85 | ] |
| 86 | # change key in redis (cause invalidation) |
| 87 | r2.set("foo", "barbar") |
| 88 | # Retrieves a new value from server and cache it |
| 89 | assert r.get("foo") in [b"barbar", "barbar"] |
| 90 | # Make sure that new value was cached |
| 91 | assert cache.get( |
| 92 | CacheKey(command="GET", redis_keys=("foo",), redis_args=("GET", "foo")) |
| 93 | ).cache_value in [ |
| 94 | b"barbar", |
| 95 | "barbar", |
| 96 | ] |
| 97 | |
| 98 | @pytest.mark.parametrize( |
| 99 | "r", |