summaryrefslogtreecommitdiff
path: root/tests/server_commands.py
diff options
context:
space:
mode:
authorAndy McCurdy <andy@andymccurdy.com>2010-05-10 23:57:57 -0700
committerAndy McCurdy <andy@andymccurdy.com>2010-05-10 23:57:57 -0700
commit2b07bd7ad65d4fdee11e1a3dba65180dd920cf75 (patch)
tree7f23c64b6c6327754c032048e4a0c2508aa5e811 /tests/server_commands.py
parent09e2be4054debe073a4f351d3543d7fc48652833 (diff)
downloadredis-py-2b07bd7ad65d4fdee11e1a3dba65180dd920cf75.tar.gz
added missing EXPIREAT and SETEX commands
added a few missing tests
Diffstat (limited to 'tests/server_commands.py')
-rw-r--r--tests/server_commands.py34
1 files changed, 22 insertions, 12 deletions
diff --git a/tests/server_commands.py b/tests/server_commands.py
index c1f4384..056188a 100644
--- a/tests/server_commands.py
+++ b/tests/server_commands.py
@@ -89,10 +89,24 @@ class ServerCommandsTestCase(unittest.TestCase):
self.client['a'] = 'foo'
self.assertEquals(self.client.exists('a'), True)
- def expire(self):
- self.assertEquals(self.client.expire('a'), False)
+ def test_expire_and_ttl(self):
+ self.assertEquals(self.client.expire('a', 10), False)
self.client['a'] = 'foo'
- self.assertEquals(self.client.expire('a'), True)
+ self.assertEquals(self.client.expire('a', 10), True)
+ self.assertEquals(self.client.ttl('a'), 10)
+
+ 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_getset(self):
self.assertEquals(self.client.getset('a', 'foo'), None)
@@ -158,6 +172,11 @@ class ServerCommandsTestCase(unittest.TestCase):
self.assertEquals(self.client['a'], '1')
self.assertEquals(self.client['b'], '2')
+ def test_setex(self):
+ self.assertEquals(self.client.setex('a', '1', 60), True)
+ self.assertEquals(self.client['a'], '1')
+ self.assertEquals(self.client.ttl('a'), 60 )
+
def test_setnx(self):
self.assert_(self.client.setnx('a', '1'))
self.assertEquals(self.client['a'], '1')
@@ -178,15 +197,6 @@ class ServerCommandsTestCase(unittest.TestCase):
self.client['a'] = 123456 # does substr work with ints?
self.assertEquals(self.client.substr('a', 2, -2), '345')
- def test_ttl(self):
- self.assertEquals(self.client.ttl('a'), None)
- self.client['a'] = '1'
- self.assertEquals(self.client.ttl('a'), None)
- self.client.expire('a', 10)
- # this could potentially fail if for some reason there's a gap of
- # time between these commands.
- self.assertEquals(self.client.ttl('a'), 10)
-
def test_type(self):
self.assertEquals(self.client.type('a'), 'none')
self.client['a'] = '1'