diff options
author | andy <andy@whiskeymedia.com> | 2012-10-07 22:14:19 -0700 |
---|---|---|
committer | andy <andy@whiskeymedia.com> | 2012-10-07 22:14:19 -0700 |
commit | a8426648791deab1927adbb7b29478f91a18e99b (patch) | |
tree | b139f3de80dc40b4c2eb711bbb6b0702cfccbc71 /tests/server_commands.py | |
parent | b4e0e98e9c94a55fd64e5c38e763ec5a26c47f4e (diff) | |
download | redis-py-a8426648791deab1927adbb7b29478f91a18e99b.tar.gz |
PEXPIRE/PEXPIREAT/PTTL commands
Diffstat (limited to 'tests/server_commands.py')
-rw-r--r-- | tests/server_commands.py | 52 |
1 files changed, 44 insertions, 8 deletions
diff --git a/tests/server_commands.py b/tests/server_commands.py index e8f6c7a..19d628a 100644 --- a/tests/server_commands.py +++ b/tests/server_commands.py @@ -168,6 +168,19 @@ class ServerCommandsTestCase(unittest.TestCase): self.assertEquals(self.client.persist('a'), True) self.assertEquals(self.client.ttl('a'), None) + def test_expireat(self): + expire_at = datetime.datetime.now() + datetime.timedelta(minutes=1) + self.assertEquals(self.client.expireat('a', expire_at), False) + self.client['a'] = 'foo' + # expire at in unix time + expire_at_seconds = int(time.mktime(expire_at.timetuple())) + self.assertEquals(self.client.expireat('a', expire_at_seconds), True) + self.assertEquals(self.client.ttl('a'), 60) + # expire at given a datetime object + self.client['b'] = 'bar' + self.assertEquals(self.client.expireat('b', expire_at), True) + self.assertEquals(self.client.ttl('b'), 60) + def test_pexpire(self): version = self.client.info()['redis_version'] if StrictVersion(version) < StrictVersion('2.6.0'): @@ -178,22 +191,29 @@ class ServerCommandsTestCase(unittest.TestCase): self.assertEquals(self.client.pexpire('a', 10000), False) self.client['a'] = 'foo' - self.assertEquals(self.client.expire('a', 10000), True) - self.assertEquals(self.client.pttl('a'), 10000) + self.assertEquals(self.client.pexpire('a', 10000), True) + self.assert_(self.client.pttl('a') <= 10000) self.assertEquals(self.client.persist('a'), True) self.assertEquals(self.client.pttl('a'), None) - def test_expireat(self): + def test_pexpireat(self): + version = self.client.info()['redis_version'] + if StrictVersion(version) < StrictVersion('2.6.0'): + try: + raise unittest.SkipTest() + except AttributeError: + return + expire_at = datetime.datetime.now() + datetime.timedelta(minutes=1) - self.assertEquals(self.client.expireat('a', expire_at), False) + self.assertEquals(self.client.pexpireat('a', expire_at), False) self.client['a'] = 'foo' - # expire at in unix time - expire_at_seconds = int(time.mktime(expire_at.timetuple())) - self.assertEquals(self.client.expireat('a', expire_at_seconds), True) + # expire at in unix time (milliseconds) + expire_at_seconds = int(time.mktime(expire_at.timetuple())) * 1000 + self.assertEquals(self.client.pexpireat('a', expire_at_seconds), True) self.assertEquals(self.client.ttl('a'), 60) # expire at given a datetime object self.client['b'] = 'bar' - self.assertEquals(self.client.expireat('b', expire_at), True) + self.assertEquals(self.client.pexpireat('b', expire_at), True) self.assertEquals(self.client.ttl('b'), 60) def test_get_set_bit(self): @@ -1492,6 +1512,22 @@ class ServerCommandsTestCase(unittest.TestCase): self.assertEquals(client.persist('a'), True) self.assertEquals(client.ttl('a'), -1) + def test_strict_pexpire(self): + client = self.get_client(redis.StrictRedis) + version = client.info()['redis_version'] + if StrictVersion(version) < StrictVersion('2.6.0'): + try: + raise unittest.SkipTest() + except AttributeError: + return + + self.assertEquals(client.pexpire('a', 10000), False) + self.client['a'] = 'foo' + self.assertEquals(client.pexpire('a', 10000), True) + self.assert_(client.pttl('a') <= 10000) + self.assertEquals(client.persist('a'), True) + self.assertEquals(client.pttl('a'), -1) + ## BINARY SAFE # TODO add more tests def test_binary_get_set(self): |