summaryrefslogtreecommitdiff
path: root/tests/pipeline.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/pipeline.py')
-rw-r--r--tests/pipeline.py25
1 files changed, 25 insertions, 0 deletions
diff --git a/tests/pipeline.py b/tests/pipeline.py
index ee3b3c5..82ca4bc 100644
--- a/tests/pipeline.py
+++ b/tests/pipeline.py
@@ -32,6 +32,31 @@ class PipelineTestCase(unittest.TestCase):
self.assertEquals(self.client['b'], 'b1')
self.assertEquals(self.client['c'], 'c1')
+ def test_pipeline_no_transaction_watch(self):
+ self.client.set('a', 0)
+
+ pipe = self.client.pipeline(transaction=False)
+ pipe.watch('a')
+ a = pipe.get('a')
+
+ pipe.multi()
+ pipe.set('a', int(a) + 1)
+ result = pipe.execute()
+ self.assertEquals(result, [True])
+
+ def test_pipeline_no_transaction_watch_failure(self):
+ self.client.set('a', 0)
+
+ pipe = self.client.pipeline(transaction=False)
+ pipe.watch('a')
+ a = pipe.get('a')
+
+ self.client.set('a', 'bad')
+
+ pipe.multi()
+ pipe.set('a', int(a) + 1)
+ self.assertRaises(redis.WatchError, pipe.execute)
+
def test_invalid_command_in_pipeline(self):
# all commands but the invalid one should be excuted correctly
self.client['c'] = 'a'