diff options
author | Andy McCurdy <andy@andymccurdy.com> | 2010-05-10 23:57:57 -0700 |
---|---|---|
committer | Andy McCurdy <andy@andymccurdy.com> | 2010-05-10 23:57:57 -0700 |
commit | 2b07bd7ad65d4fdee11e1a3dba65180dd920cf75 (patch) | |
tree | 7f23c64b6c6327754c032048e4a0c2508aa5e811 /tests/server_commands.py | |
parent | 09e2be4054debe073a4f351d3543d7fc48652833 (diff) | |
download | redis-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.py | 34 |
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' |