Skip to content

Commit be0f21a

Browse files
authored
Merge pull request #341 from martin-neotech/4.0-tx-metadata-procedures-renamed
Update test on procedure call tx.getMetaData
2 parents c96087d + 6b06256 commit be0f21a

File tree

1 file changed

+21
-5
lines changed

1 file changed

+21
-5
lines changed

tests/integration/test_autocommit.py

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,13 @@
2121

2222
from unittest import SkipTest
2323

24+
import pytest
2425
from pytest import raises
2526

2627
from neo4j.work.simple import Statement
2728
from neo4j.exceptions import CypherError, ClientError, TransientError
2829
from neo4j.graph import Node, Relationship
30+
from neo4j.api import Version
2931

3032

3133
def test_can_run_simple_statement(session):
@@ -166,15 +168,29 @@ def test_statement_object(session):
166168
assert value == 1
167169

168170

169-
def test_autocommit_transactions_should_support_metadata(session):
171+
@pytest.mark.parametrize(
172+
"test_input, neo4j_version",
173+
[
174+
("CALL dbms.getTXMetaData", Version(3, 0)),
175+
("CALL tx.getMetaData", Version(4, 0)),
176+
]
177+
)
178+
def test_autocommit_transactions_should_support_metadata(session, test_input, neo4j_version):
179+
# python -m pytest tests/integration/test_autocommit.py -s -r fEsxX -k test_autocommit_transactions_should_support_metadata
170180
metadata_in = {"foo": "bar"}
181+
182+
result = session.run("RETURN 1")
183+
value = result.single().value()
184+
summary = result.summary()
185+
server_agent = summary.server.agent
186+
171187
try:
172-
statement = Statement("CALL dbms.getTXMetaData", metadata=metadata_in)
173-
metadata_out = session.run(statement).single().value()
188+
statement = Statement(test_input, metadata=metadata_in)
189+
result = session.run(statement)
190+
metadata_out = result.single().value()
174191
except ClientError as e:
175192
if e.code == "Neo.ClientError.Procedure.ProcedureNotFound":
176-
raise SkipTest("Cannot assert correct metadata as Neo4j edition "
177-
"does not support procedure dbms.getTXMetaData")
193+
pytest.skip("Cannot assert correct metadata as {} does not support procedure '{}' introduced in Neo4j {}".format(server_agent, test_input, neo4j_version))
178194
else:
179195
raise
180196
else:

0 commit comments

Comments
 (0)