@@ -91,7 +91,7 @@ def _current_container_id() -> Optional[str]:
9191 return str (container .id )
9292
9393
94- @pytest .fixture (scope = "package " )
94+ @pytest .fixture (scope = "session " )
9595def network () -> Generator [Network , None , None ]:
9696 with Network () as network :
9797 self_id = _current_container_id ()
@@ -297,7 +297,7 @@ def create_arrow_client(session_uri: GdsSessionConnectionInfo) -> AuthenticatedA
297297 )
298298
299299
300- @pytest .fixture (scope = "package " )
300+ @pytest .fixture (scope = "session " )
301301def session_connection (
302302 network : Network ,
303303 tmp_path_factory : pytest .TempPathFactory ,
@@ -341,7 +341,7 @@ def start_database(
341341
342342 advertise_address = "neo4j-db" if inside_ci () else "localhost"
343343
344- db_logs_dir = logs_dir / request .node .name / "db_logs "
344+ db_logs_dir = logs_dir / request .node .name / "neo4j_db_logs "
345345 db_logs_dir .mkdir (parents = True , exist_ok = True )
346346 db_logs_dir .chmod (0o777 )
347347 db_container = (
@@ -387,6 +387,18 @@ def create_db_query_runner(neo4j_connection: DbmsConnectionInfo) -> Generator[Ne
387387 query_runner .close ()
388388
389389
390+ @pytest .fixture (scope = "session" )
391+ def neo4j_connection (
392+ network : Network , logs_dir : Path , request : pytest .FixtureRequest
393+ ) -> Generator [DbmsConnectionInfo , None , None ]:
394+ """Shared plain Neo4j (no GDS) database, reused across all packages that need a bare DB.
395+
396+ Packages that need a Neo4j+GDS-plugin database instead override this fixture (see
397+ procedure_surface/plugin/conftest.py).
398+ """
399+ yield from start_database (logs_dir , network , request )
400+
401+
390402# --------------------------------------------------------------------------- #
391403# Neo4j + GDS plugin container
392404# --------------------------------------------------------------------------- #
@@ -403,8 +415,8 @@ def start_gds_plugin_database(
403415 if GDS_LICENSE_KEY is None :
404416 raise ValueError ("Trying to start a Plugin database, but no GDS_LICENSE_KEY environment variable was set" )
405417
406- db_logs_dir = logs_dir / request .node .name / "db_logs "
407- db_logs_dir .mkdir (parents = True )
418+ db_logs_dir = logs_dir / request .node .name / "gds_plugin_db_logs "
419+ db_logs_dir .mkdir (parents = True , exist_ok = True )
408420 db_logs_dir .chmod (0o777 )
409421
410422 models_dir = tmp_path_factory .mktemp ("models" )
@@ -475,7 +487,7 @@ def create_gds_arrow_client(container: Neo4jContainer) -> Generator[GdsArrowClie
475487 yield client
476488
477489
478- @pytest .fixture (scope = "package " )
490+ @pytest .fixture (scope = "session " )
479491def gds_plugin_container (
480492 logs_dir : Path , tmp_path_factory : pytest .TempPathFactory , request : pytest .FixtureRequest
481493) -> Generator [Neo4jContainer , None , None ]:
0 commit comments