File tree Expand file tree Collapse file tree 1 file changed +51
-0
lines changed
ravendb/tests/jvm_migrated_tests/issues_tests Expand file tree Collapse file tree 1 file changed +51
-0
lines changed Original file line number Diff line number Diff line change 1+ from ravendb .documents .operations .counters import GetCountersOperation
2+ from ravendb .tests .test_base import TestBase , User
3+
4+
5+ class TestRavenDB15313 (TestBase ):
6+ def setUp (self ):
7+ super (TestRavenDB15313 , self ).setUp ()
8+
9+ def test_get_counters_operation_should_filter_duplicate_names__post_get (self ):
10+ doc_id = "users/1"
11+
12+ names = []
13+ dict = {}
14+
15+ with self .store .open_session () as session :
16+ session .store (User (), doc_id )
17+
18+ cf = session .counters_for (doc_id )
19+
20+ for i in range (1024 ):
21+ if i % 4 == 0 :
22+ name = "abc"
23+ elif i % 10 == 0 :
24+ name = "xyz"
25+ else :
26+ name = f"likes{ i } "
27+
28+ names .append (name )
29+
30+ old_val = dict .get (name , None )
31+ dict [name ] = (old_val + i ) if old_val is not None else i
32+
33+ cf .increment (name , i )
34+
35+ session .save_changes ()
36+
37+ vals = self .store .operations .send (GetCountersOperation (doc_id , names ))
38+
39+ expected_count = len (dict )
40+
41+ self .assertEqual (expected_count , len (vals .counters ))
42+
43+ hs = list (set (names ))
44+ hs_names = list (filter (lambda x : True if (hs .remove (x ) if x in hs else False ) is None else False , names )) # :D
45+ expected_vals = list (map (lambda x : dict .get (x , None ), hs_names ))
46+
47+ for i in range (len (hs_names )):
48+ name = hs_names [i ]
49+ self .assertEqual (
50+ next (filter (lambda c : c .counter_name == name , vals .counters )).total_value , expected_vals [i ]
51+ )
You can’t perform that action at this time.
0 commit comments