Skip to content

Commit 308340d

Browse files
authored
Updates tests to work with new Neo4j calendar versioning (#246)
1 parent dff160b commit 308340d

File tree

2 files changed

+47
-0
lines changed

2 files changed

+47
-0
lines changed

tests/unit/experimental/components/test_kg_writer.py

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
# limitations under the License.
1515
from __future__ import annotations
1616

17+
from typing import Tuple
1718
from unittest import mock
1819
from unittest.mock import MagicMock, Mock
1920

@@ -331,3 +332,45 @@ async def test_run_is_version_5_23_or_above(_: Mock) -> None:
331332
parameters_=parameters_,
332333
database_=None,
333334
)
335+
336+
337+
@pytest.mark.parametrize(
338+
"description, version, version_tuple, is_5_23_or_above",
339+
[
340+
("SemVer, < 5.23", "5.22.0", (5, 22, 0), False),
341+
("SemVer, > 5.23", "5.24.0", (5, 24, 0), True),
342+
("SemVer, < 5.23, Aura", "5.22-aura", (5, 22, 0), False),
343+
("SemVer, > 5.23, Aura", "5.24-aura", (5, 24, 0), True),
344+
("CalVer", "2025.01.0", (2025, 1, 0), True),
345+
("CalVer, Aura", "2025.01-aura", (2025, 1, 0), True),
346+
],
347+
)
348+
@mock.patch(
349+
"neo4j_graphrag.experimental.components.kg_writer.Neo4jWriter._db_setup",
350+
return_value=None,
351+
)
352+
def test_get_version(
353+
_: Mock,
354+
driver: MagicMock,
355+
description: str,
356+
version: str,
357+
version_tuple: Tuple[int],
358+
is_5_23_or_above: bool,
359+
) -> None:
360+
execute_query_mock = MagicMock(
361+
return_value=(
362+
[
363+
{"versions": [version]},
364+
],
365+
None,
366+
None,
367+
)
368+
)
369+
driver.execute_query = execute_query_mock
370+
neo4j_writer = Neo4jWriter(driver=driver)
371+
assert (
372+
version_tuple == neo4j_writer._get_version()
373+
), f"Failed version_tuple test case: {description}"
374+
assert (
375+
neo4j_writer.is_version_5_23_or_above is is_5_23_or_above
376+
), f"Failed is_version_5_23_or_above test case: {description}"

tests/unit/retrievers/test_base.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@
3232
(["5.19.0"], ((5, 19, 0), False)),
3333
(["4.3.5"], ((4, 3, 5), False)),
3434
(["5.23.0-6698"], ((5, 23, 0), False)),
35+
(["2025.01.0"], ((2025, 1, 0), False)),
36+
(["2025.01-aura"], ((2025, 1, 0), True)),
3537
],
3638
)
3739
def test_retriever_get_version(
@@ -58,6 +60,8 @@ def get_search_results(self, *args: Any, **kwargs: Any) -> RawSearchResult:
5860
(((5, 19, 0), False), None),
5961
(((4, 3, 5), False), Neo4jVersionError),
6062
(((5, 23, 0), False), None),
63+
(((2025, 1, 0), False), None),
64+
(((2025, 1, 0), True), None),
6165
],
6266
)
6367
@patch("neo4j_graphrag.retrievers.base.Retriever._get_version")

0 commit comments

Comments
 (0)