Skip to content

Commit 5838899

Browse files
committed
RDBC-685 RavenDB_11703Test::canGetNotificationAboutCounterIncrement
1 parent 935186a commit 5838899

File tree

1 file changed

+49
-0
lines changed

1 file changed

+49
-0
lines changed
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
from queue import Queue
2+
3+
from ravendb.changes.types import CounterChange, CounterChangeTypes
4+
from ravendb.infrastructure.entities import User
5+
from ravendb.tests.test_base import TestBase
6+
7+
8+
class TestRavenDB11703(TestBase):
9+
def setUp(self):
10+
super(TestRavenDB11703, self).setUp()
11+
12+
def test_can_get_notification_about_counter_increment(self):
13+
changes_queue = Queue()
14+
observer = self.store.changes().for_counters_of_document("users/1")
15+
close_method = observer.subscribe(changes_queue.put)
16+
17+
with self.store.open_session() as session:
18+
session.store(User(), "users/1")
19+
session.save_changes()
20+
21+
with self.store.open_session() as session:
22+
session.counters_for("users/1").increment("likes")
23+
session.save_changes()
24+
25+
counter_change: CounterChange = changes_queue.get(timeout=2)
26+
self.assertIsNotNone(counter_change)
27+
28+
self.assertEqual("users/1", counter_change.document_id)
29+
self.assertEqual("Users", counter_change.collection_name)
30+
self.assertEqual(CounterChangeTypes.PUT, counter_change.type_of_change)
31+
self.assertEqual("likes", counter_change.name)
32+
self.assertEqual(1, counter_change.value)
33+
self.assertIsNotNone(counter_change.change_vector)
34+
35+
with self.store.open_session() as session:
36+
session.counters_for("users/1").increment("likes")
37+
session.save_changes()
38+
39+
counter_change: CounterChange = changes_queue.get(timeout=2)
40+
self.assertIsNotNone(counter_change)
41+
42+
self.assertEqual("users/1", counter_change.document_id)
43+
self.assertEqual("Users", counter_change.collection_name)
44+
self.assertEqual(CounterChangeTypes.INCREMENT, counter_change.type_of_change)
45+
self.assertEqual("likes", counter_change.name)
46+
self.assertEqual(2, counter_change.value)
47+
self.assertIsNotNone(counter_change.change_vector)
48+
49+
close_method()

0 commit comments

Comments
 (0)