summaryrefslogtreecommitdiff
path: root/tests/server_commands.py
diff options
context:
space:
mode:
authorAndy McCurdy <andy@andymccurdy.com>2010-10-07 23:45:18 -0700
committerAndy McCurdy <andy@andymccurdy.com>2010-10-07 23:45:18 -0700
commit894c48b0979c4d07e6bc4fcf4366c7a71a41de71 (patch)
tree06f885ce20027acfc04e1e05c0b6b5b10a9730a8 /tests/server_commands.py
parent0c8715b40271488fb94497172c3d3dcd8e73b610 (diff)
downloadredis-py-894c48b0979c4d07e6bc4fcf4366c7a71a41de71.tar.gz
tests for linsert, lpushx, and rpushx
Diffstat (limited to 'tests/server_commands.py')
-rw-r--r--tests/server_commands.py42
1 files changed, 42 insertions, 0 deletions
diff --git a/tests/server_commands.py b/tests/server_commands.py
index 3d4b3aa..9df004a 100644
--- a/tests/server_commands.py
+++ b/tests/server_commands.py
@@ -272,6 +272,24 @@ class ServerCommandsTestCase(unittest.TestCase):
self.assertEquals(self.client.lindex('a', '1'), 'b')
self.assertEquals(self.client.lindex('a', '2'), 'c')
+ def test_linsert(self):
+ # no key
+ self.assertEquals(self.client.linsert('a', 'after', 'x', 'y'), 0)
+ # key is not a list
+ self.client['a'] = 'b'
+ self.assertRaises(
+ redis.ResponseError, self.client.linsert, 'a', 'after', 'x', 'y'
+ )
+ del self.client['a']
+ # real logic
+ self.make_list('a', 'abc')
+ self.assertEquals(self.client.linsert('a', 'after', 'b', 'b1'), 4)
+ self.assertEquals(self.client.lrange('a', 0, -1),
+ ['a', 'b', 'b1', 'c'])
+ self.assertEquals(self.client.linsert('a', 'before', 'b', 'a1'), 5)
+ self.assertEquals(self.client.lrange('a', 0, -1),
+ ['a', 'a1', 'b', 'b1', 'c'])
+
def test_llen(self):
# no key
self.assertEquals(self.client.llen('a'), 0)
@@ -313,6 +331,18 @@ class ServerCommandsTestCase(unittest.TestCase):
self.assertEquals(self.client.lindex('a', 0), 'a')
self.assertEquals(self.client.lindex('a', 1), 'b')
+ def test_lpushx(self):
+ # key is not a list
+ self.client['a'] = 'b'
+ self.assertRaises(redis.ResponseError, self.client.lpushx, 'a', 'a')
+ del self.client['a']
+ # real logic
+ self.assertEquals(self.client.lpushx('a', 'b'), 0)
+ self.assertEquals(self.client.lrange('a', 0, -1), [])
+ self.make_list('a', 'abc')
+ self.assertEquals(self.client.lpushx('a', 'd'), 4)
+ self.assertEquals(self.client.lrange('a', 0, -1), ['d', 'a', 'b', 'c'])
+
def test_lrange(self):
# no key
self.assertEquals(self.client.lrange('a', 0, 1), [])
@@ -436,6 +466,18 @@ class ServerCommandsTestCase(unittest.TestCase):
self.assertEquals(self.client.lindex('a', 0), 'a')
self.assertEquals(self.client.lindex('a', 1), 'b')
+ def test_rpushx(self):
+ # key is not a list
+ self.client['a'] = 'b'
+ self.assertRaises(redis.ResponseError, self.client.rpushx, 'a', 'a')
+ del self.client['a']
+ # real logic
+ self.assertEquals(self.client.rpushx('a', 'b'), 0)
+ self.assertEquals(self.client.lrange('a', 0, -1), [])
+ self.make_list('a', 'abc')
+ self.assertEquals(self.client.rpushx('a', 'd'), 4)
+ self.assertEquals(self.client.lrange('a', 0, -1), ['a', 'b', 'c', 'd'])
+
# Set commands
def make_set(self, name, l):
for i in l: