@@ -93,6 +93,10 @@ def get_items_count(self, key):
9393 return len (self ._keys [key ])
9494 return None
9595
96+ def expire (self , key , ttl ):
97+ #Not needed for Memory storage
98+ pass
99+
96100class PluggableSplitStorageTests (object ):
97101 """In memory split storage test cases."""
98102
@@ -406,6 +410,27 @@ def test_wrap_impressions(self):
406410 })
407411 ])
408412
413+ def test_expire_key (self ):
414+ self .expired_called = False
415+ self .key = ""
416+ self .ttl = 0
417+ def mock_expire (impressions_queue_key , ttl ):
418+ self .key = impressions_queue_key
419+ self .ttl = ttl
420+ self .expired_called = True
421+
422+ self .mock_adapter .expire = mock_expire
423+
424+ # should not call if total_keys are higher
425+ self .pluggable_imp_storage .expire_key (200 , 10 )
426+ assert (not self .expired_called )
427+
428+ self .pluggable_imp_storage .expire_key (200 , 200 )
429+ assert (self .expired_called )
430+ assert (self .key == "myprefix.SPLITIO.impressions" )
431+ assert (self .ttl == self .pluggable_imp_storage .IMPRESSIONS_KEY_DEFAULT_TTL )
432+
433+
409434class PluggableEventsStorageTests (object ):
410435 """In memory events storage test cases."""
411436
@@ -481,3 +506,23 @@ def test_wrap_events(self):
481506 }
482507 })
483508 ])
509+
510+ def test_expire_key (self ):
511+ self .expired_called = False
512+ self .key = ""
513+ self .ttl = 0
514+ def mock_expire (impressions_event_key , ttl ):
515+ self .key = impressions_event_key
516+ self .ttl = ttl
517+ self .expired_called = True
518+
519+ self .mock_adapter .expire = mock_expire
520+
521+ # should not call if total_keys are higher
522+ self .pluggable_events_storage .expire_key (200 , 10 )
523+ assert (not self .expired_called )
524+
525+ self .pluggable_events_storage .expire_key (200 , 200 )
526+ assert (self .expired_called )
527+ assert (self .key == "myprefix.SPLITIO.events" )
528+ assert (self .ttl == self .pluggable_events_storage ._EVENTS_KEY_DEFAULT_TTL )
0 commit comments