Skip to content

Commit 55201b1

Browse files
committed
Add Get write hook
1 parent aab3867 commit 55201b1

File tree

2 files changed

+42
-2
lines changed

2 files changed

+42
-2
lines changed

Makefile

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,9 +51,7 @@ test-integration:
5151
@killall rethinkdb
5252

5353
test-integration-2.4:
54-
@rethinkdb&
5554
pytest -v -m integration_v2_4_x
56-
@killall rethinkdb
5755

5856
test-ci:
5957
@rethinkdb&
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
import pytest
2+
3+
from tests.helpers import IntegrationTestCaseBase
4+
5+
@pytest.mark.integration_v2_4_x
6+
class TestWriteHooks(IntegrationTestCaseBase):
7+
def setup_method(self):
8+
super(TestWriteHooks, self).setup_method()
9+
10+
self.table_name = 'test_write_hooks'
11+
self.documents = [
12+
{'id': 1, 'name': 'Testing write hooks 1'},
13+
]
14+
15+
self.r.table_create(self.table_name).run(self.conn)
16+
self.r.table(self.table_name).insert(self.documents).run(self.conn)
17+
18+
def test_set_write_hook(self):
19+
self.r.table(self.table_name).set_write_hook(lambda context, old_val, new_val:
20+
new_val.merge({
21+
'modified_at': context['timestamp']
22+
})
23+
).run(self.conn)
24+
25+
hook = self.r.table(self.table_name).get_write_hook().run(self.conn)
26+
27+
assert hook.keys() == ['function', 'query']
28+
29+
def test_write_hook_add_extra_data(self):
30+
self.r.table(self.table_name).set_write_hook(lambda context, old_val, new_val:
31+
new_val.merge({
32+
'modified_at': context['timestamp']
33+
})
34+
).run(self.conn)
35+
36+
self.r.table(self.table_name).insert({
37+
'id': 2, 'name': 'Testing write hooks 1'
38+
}).run(self.conn)
39+
40+
document = self.r.table(self.table_name).get(2).run(self.conn)
41+
42+
assert document.get('modified_at') != None

0 commit comments

Comments
 (0)