@@ -657,6 +657,20 @@ def clear_test_namespace(cls):
657
657
def setUp (self ):
658
658
self .clear_test_namespace ()
659
659
660
+ def test_get_redis_info (self ):
661
+ """Ensure get_redis_info() returns a dictionary with Redis server information."""
662
+ result = self .r .get_redis_info ()
663
+ self .assertIsInstance (result , dict )
664
+ self .assertIn ('redis_version' , result )
665
+
666
+ def test_sizeof (self ):
667
+ """Verify that RedisDict's __sizeof__() method returns the correct size."""
668
+ self .r .clear ()
669
+ self .r ['key' ] = 'value'
670
+ expected = self .r .to_dict ().__sizeof__ ()
671
+ result = self .r .__sizeof__ ()
672
+ self .assertEqual (expected , result )
673
+
660
674
def test_keys_empty (self ):
661
675
"""Calling RedisDict.keys() should return an empty list."""
662
676
keys = self .r .keys ()
@@ -1051,6 +1065,30 @@ def test_expire_at(self):
1051
1065
self .assertEqual (self .r ['key10' ], 'value10' )
1052
1066
self .assertRaises (KeyError , lambda : self .r ['key11' ])
1053
1067
1068
+ def test_expire_ttl (self ):
1069
+ expected = 2
1070
+ key , value = 'key12' , 'value12'
1071
+ self .r [key ] = value
1072
+ with self .r .expire_at (expected ):
1073
+ self .r [key ] = value
1074
+ # test within the context manager
1075
+ result = self .r .get_ttl (key )
1076
+ self .assertAlmostEqual (expected , result , delta = 1 )
1077
+
1078
+ # test outside the context manager
1079
+ result = self .r .get_ttl (key )
1080
+
1081
+ self .assertAlmostEqual (expected , result , delta = 1 )
1082
+ self .assertEqual (self .r [key ], value )
1083
+
1084
+ time .sleep (2.2 )
1085
+ self .assertRaises (KeyError , lambda : self .r [key ])
1086
+
1087
+ # test after expire
1088
+ expected = None
1089
+ result = self .r .get_ttl (key )
1090
+ self .assertEqual (result , expected )
1091
+
1054
1092
def test_set_get_empty_tuple (self ):
1055
1093
key = "empty_tuple"
1056
1094
value = ()
@@ -1615,8 +1653,4 @@ def test_set_get_set(self, key, value):
1615
1653
1616
1654
1617
1655
if __name__ == '__main__' :
1618
- import sys
1619
-
1620
- if sys .version_info [0 ] == 2 :
1621
- unittest .TestCase .assertRaisesRegex = unittest .TestCase .assertRaisesRegexp
1622
1656
unittest .main ()
0 commit comments