Skip to content

Commit 2aa1304

Browse files
committed
added test expire key
1 parent 630f890 commit 2aa1304

File tree

1 file changed

+43
-0
lines changed

1 file changed

+43
-0
lines changed

tests/storage/test_redis.py

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -335,6 +335,27 @@ def test_add_impressions_to_pipe(self, mocker):
335335
storage.add_impressions_to_pipe(impressions, adapter)
336336
assert adapter.rpush.mock_calls == [mocker.call('SPLITIO.impressions', *to_validate)]
337337

338+
def test_expire_key(self, mocker):
339+
adapter = mocker.Mock(spec=RedisAdapter)
340+
metadata = get_metadata({})
341+
storage = RedisImpressionsStorage(adapter, metadata)
342+
343+
self.key = None
344+
self.ttl = None
345+
def expire(key, ttl):
346+
self.key = key
347+
self.ttl = ttl
348+
adapter.expire = expire
349+
350+
storage.expire_key(2, 2)
351+
assert self.key == 'SPLITIO.impressions'
352+
assert self.ttl == 3600
353+
354+
self.key = None
355+
storage.expire_key(2, 1)
356+
assert self.key == None
357+
358+
338359
class RedisImpressionsStorageAsyncTests(object): # pylint: disable=too-few-public-methods
339360
"""Redis Impressions async storage test cases."""
340361

@@ -453,6 +474,28 @@ def test_add_impressions_to_pipe(self, mocker):
453474
storage.add_impressions_to_pipe(impressions, adapter)
454475
assert adapter.rpush.mock_calls == [mocker.call('SPLITIO.impressions', *to_validate)]
455476

477+
@pytest.mark.asyncio
478+
async def test_expire_key(self, mocker):
479+
adapter = mocker.Mock(spec=RedisAdapterAsync)
480+
metadata = get_metadata({})
481+
storage = RedisImpressionsStorageAsync(adapter, metadata)
482+
483+
self.key = None
484+
self.ttl = None
485+
async def expire(key, ttl):
486+
self.key = key
487+
self.ttl = ttl
488+
adapter.expire = expire
489+
490+
await storage.expire_key(2, 2)
491+
assert self.key == 'SPLITIO.impressions'
492+
assert self.ttl == 3600
493+
494+
self.key = None
495+
await storage.expire_key(2, 1)
496+
assert self.key == None
497+
498+
456499

457500
class RedisEventsStorageTests(object): # pylint: disable=too-few-public-methods
458501
"""Redis Impression storage test cases."""

0 commit comments

Comments
 (0)