Skip to content

Commit 2cf7452

Browse files
committed
RDBC-698 TimeSeriesIncludesTest::includeMultipleTimeSeries
1 parent 9b9d259 commit 2cf7452

File tree

1 file changed

+76
-0
lines changed

1 file changed

+76
-0
lines changed

ravendb/tests/jvm_migrated_tests/client_tests/time_series_tests/test_time_series_includes.py

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -197,3 +197,79 @@ def test_include_time_series_and_update_existing_range_in_cache(self):
197197
self.assertEqual(base_line + timedelta(minutes=3), vals[0].timestamp)
198198
self.assertEqual(base_line + timedelta(minutes=3, seconds=3), vals[1].timestamp)
199199
self.assertEqual(base_line + timedelta(minutes=5), vals[13].timestamp)
200+
201+
def test_include_multiple_time_series(self):
202+
document_id = "users/gracjan"
203+
base_line = datetime(2023, 8, 20, 21, 30)
204+
205+
with self.store.open_session() as session:
206+
user = User(name="Gracjan")
207+
session.store(user, document_id)
208+
session.save_changes()
209+
210+
with self.store.open_session() as session:
211+
for i in range(360):
212+
session.time_series_for(document_id, "Heartrate").append_single(
213+
base_line + timedelta(seconds=i * 10), 6, "watches/fitbit"
214+
)
215+
session.time_series_for(document_id, "BloodPressure").append_single(
216+
base_line + timedelta(seconds=i * 10), 66, "watches/fitbit"
217+
)
218+
session.time_series_for(document_id, "Nasdaq").append_single(
219+
base_line + timedelta(seconds=i * 10), 8097.23, "nasdaq.com"
220+
)
221+
222+
session.save_changes()
223+
224+
with self.store.open_session() as session:
225+
session.load(
226+
document_id,
227+
User,
228+
lambda i: i.include_time_series(
229+
"Heartrate", base_line + timedelta(minutes=3), base_line + timedelta(minutes=5)
230+
)
231+
.include_time_series(
232+
"BloodPressure", base_line + timedelta(minutes=40), base_line + timedelta(minutes=45)
233+
)
234+
.include_time_series("Nasdaq", base_line + timedelta(minutes=15), base_line + timedelta(minutes=25)),
235+
)
236+
237+
self.assertEqual(1, session.advanced.number_of_requests)
238+
239+
self.assertEqual("Gracjan", user.name)
240+
241+
# should not go to server
242+
243+
vals = session.time_series_for(document_id, "Heartrate").get(
244+
base_line + timedelta(minutes=3), base_line + timedelta(minutes=5)
245+
)
246+
self.assertEqual(1, session.advanced.number_of_requests)
247+
248+
self.assertEqual(13, len(vals))
249+
250+
self.assertEqual(base_line + timedelta(minutes=3), vals[0].timestamp)
251+
self.assertEqual(base_line + timedelta(minutes=5), vals[12].timestamp)
252+
253+
# should not go to server
254+
255+
vals = session.time_series_for(document_id, "BloodPressure").get(
256+
base_line + timedelta(minutes=40), base_line + timedelta(minutes=45)
257+
)
258+
self.assertEqual(1, session.advanced.number_of_requests)
259+
260+
self.assertEqual(31, len(vals))
261+
262+
self.assertEqual(base_line + timedelta(minutes=40), vals[0].timestamp)
263+
self.assertEqual(base_line + timedelta(minutes=45), vals[30].timestamp)
264+
265+
# should not go to server
266+
267+
vals = session.time_series_for(document_id, "Nasdaq").get(
268+
base_line + timedelta(minutes=15), base_line + timedelta(minutes=25)
269+
)
270+
self.assertEqual(1, session.advanced.number_of_requests)
271+
272+
self.assertEqual(61, len(vals))
273+
274+
self.assertEqual(base_line + timedelta(minutes=15), vals[0].timestamp)
275+
self.assertEqual(base_line + timedelta(minutes=25), vals[60].timestamp)

0 commit comments

Comments
 (0)