Skip to content

Commit 4b1d551

Browse files
committed
RDBC-692 BasicCountersIndexes_JavaScript::basicMapIndex
1 parent fba1f5d commit 4b1d551

File tree

1 file changed

+61
-3
lines changed

1 file changed

+61
-3
lines changed

ravendb/tests/jvm_migrated_tests/client_tests/indexing_tests/counters_tests/test_basic_counters_indexes_javascript.py

Lines changed: 61 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@
55
from ravendb.tests.test_base import TestBase
66

77

8-
class MyCounterIndex(AbstractJavaScriptCountersIndexCreationTask):
8+
class MyCountersIndex(AbstractJavaScriptCountersIndexCreationTask):
99
def __init__(self):
10-
super(MyCounterIndex, self).__init__()
11-
self._maps = [
10+
super(MyCountersIndex, self).__init__()
11+
self.maps = [
1212
"counters.map('Companies', 'HeartRate', function (counter) {\n return {\n heartBeat: counter.Value,\nname: counter.Name,\nuser: counter.DocumentId\n};\n})"
1313
]
1414

@@ -146,3 +146,61 @@ def test_basic_map_reduce_index_with_load(self):
146146
terms = self.store.maintenance.send(GetTermsOperation(index_name, "city", None))
147147
self.assertEqual(1, len(terms))
148148
self.assertIn("ny", terms)
149+
150+
def test_basic_map_index(self):
151+
with self.store.open_session() as session:
152+
company = Company()
153+
session.store(company, "companies/1")
154+
session.counters_for_entity(company).increment("heartRate", 7)
155+
session.save_changes()
156+
157+
time_series_index = MyCountersIndex()
158+
index_definition = time_series_index.create_index_definition()
159+
160+
time_series_index.execute(self.store)
161+
self.wait_for_indexing(self.store)
162+
163+
terms = self.store.maintenance.send(GetTermsOperation("MyCountersIndex", "heartBeat", None))
164+
self.assertEqual(1, len(terms))
165+
self.assertIn("7", terms)
166+
167+
terms = self.store.maintenance.send(GetTermsOperation("MyCountersIndex", "user", None))
168+
self.assertEqual(1, len(terms))
169+
self.assertIn("companies/1", terms)
170+
171+
terms = self.store.maintenance.send(GetTermsOperation("MyCountersIndex", "name", None))
172+
self.assertEqual(1, len(terms))
173+
self.assertIn("heartrate", terms)
174+
175+
with self.store.open_session() as session:
176+
company1 = session.load("companies/1", Company)
177+
session.counters_for_entity(company1).increment("heartRate", 3)
178+
company2 = Company()
179+
session.store(company2, "companies/2")
180+
session.counters_for_entity(company2).increment("heartRate", 4)
181+
company3 = Company()
182+
session.store(company3, "companies/3")
183+
session.counters_for_entity(company3).increment("heartRate", 6)
184+
company999 = Company()
185+
session.store(company999, "companies/999")
186+
session.counters_for_entity(company999).increment("heartRate_Different", 999)
187+
188+
session.save_changes()
189+
190+
self.wait_for_indexing(self.store)
191+
192+
terms = self.store.maintenance.send(GetTermsOperation("MyCountersIndex", "heartBeat", None))
193+
self.assertEqual(3, len(terms))
194+
self.assertIn("10", terms)
195+
self.assertIn("4", terms)
196+
self.assertIn("6", terms)
197+
198+
terms = self.store.maintenance.send(GetTermsOperation("MyCountersIndex", "user", None))
199+
self.assertEqual(3, len(terms))
200+
self.assertIn("companies/1", terms)
201+
self.assertIn("companies/2", terms)
202+
self.assertIn("companies/3", terms)
203+
204+
terms = self.store.maintenance.send(GetTermsOperation("MyCountersIndex", "name", None))
205+
self.assertEqual(1, len(terms))
206+
self.assertIn("heartrate", terms)

0 commit comments

Comments
 (0)