Skip to content

Commit 844ba7a

Browse files
committed
RDBC-767 RavenDB_13100Test
1 parent 0c78ce5 commit 844ba7a

File tree

2 files changed

+35
-1
lines changed

2 files changed

+35
-1
lines changed

ravendb/documents/indexes/definitions.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -625,7 +625,7 @@ def detect_static_index_source_type(map_str: str) -> IndexSourceType:
625625

626626
tokens = [token for token in map_lower.split(" ", 4) if token]
627627

628-
if len(tokens) > 4 and tokens[2].lower() == "in":
628+
if len(tokens) >= 4 and tokens[2].lower() == "in":
629629
if tokens[3].startswith("timeseries"):
630630
return IndexSourceType.TIME_SERIES
631631
if tokens[3].startswith("counters"):
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
from ravendb import IndexSourceType
2+
from ravendb.documents.indexes.definitions import IndexDefinitionHelper
3+
from ravendb.tests.test_base import TestBase
4+
5+
6+
class TestRavenDB13100(TestBase):
7+
def setUp(self):
8+
super().setUp()
9+
10+
def test_can_detect_documents_index_source_method_syntax(self):
11+
map_ = "docs.Users.OrderBy(user => user.Id).Select(user => new { user.Name })"
12+
self.assertEqual(IndexSourceType.DOCUMENTS, IndexDefinitionHelper.detect_static_index_source_type(map_))
13+
14+
def test_can_detect_time_series_index_source_method_syntax(self):
15+
map_ = (
16+
"timeSeries.Companies.SelectMany(ts => ts.Entries, (ts, entry) => new {"
17+
" HeartBeat = entry.Values[0], "
18+
" Date = entry.Timestamp.Date, "
19+
" User = ts.DocumentId "
20+
"});"
21+
)
22+
self.assertEqual(IndexSourceType.TIME_SERIES, IndexDefinitionHelper.detect_static_index_source_type(map_))
23+
24+
def test_can_detect_time_series_index_source_linq_syntax_single_ts(self):
25+
map_ = "from ts in timeSeries.Users"
26+
self.assertEqual(IndexSourceType.TIME_SERIES, IndexDefinitionHelper.detect_static_index_source_type(map_))
27+
28+
def test_can_detect_time_series_index_source_linq_syntax_can_strip_white_space(self):
29+
map_ = "\t\t \t from ts \t \t in \t \t timeSeries.Users"
30+
self.assertEqual(IndexSourceType.TIME_SERIES, IndexDefinitionHelper.detect_static_index_source_type(map_))
31+
32+
def test_can_detect_time_series_index_source_linq_syntax_all_ts(self):
33+
map_ = "from ts in timeSeries"
34+
self.assertEqual(IndexSourceType.TIME_SERIES, IndexDefinitionHelper.detect_static_index_source_type(map_))

0 commit comments

Comments
 (0)