"""Test fixtures.""" import sys from unittest.mock import MagicMock from neo4j import ResultSummary from neo4j import ServerInfo from neo4j import Version from neo4j.graph import Graph from neo4j.graph import Node from neo4j.graph import Relationship import pytest import snowflake_connector.snowflake_conn as _sf_conn _sf_conn.set_default_sessionmaker = MagicMock() mock_pythonfeatures = MagicMock() sys.modules['pythonfeatures'] = mock_pythonfeatures sys.modules['pythonfeatures.connectors'] = mock_pythonfeatures sys.modules['pythonfeatures.connectors.split'] = mock_pythonfeatures sys.modules['pythonfeatures.constants'] = mock_pythonfeatures sys.modules['uwsgi'] = MagicMock() from sound_recordings import api # noqa: E402 @pytest.fixture def app_client(): """Flask test_client for app.""" return api.app.test_client() @pytest.fixture def make_graph_node(): """Node generating factory as fixture.""" graph = Graph() def _make_node(node_id, labels=(), data={}): data['id'] = node_id return Node(graph, node_id, node_id, n_labels=labels, properties=data) return _make_node @pytest.fixture def make_graph_rel(): """Relationship generating factory as fixture.""" graph = Graph() def _make_rel(rel_id, data={}): data['id'] = rel_id return Relationship(graph, rel_id, rel_id, properties=data) return _make_rel @pytest.fixture def make_graph_result_summary(): """Summary obj generating factory as fixture.""" def _make_summary(stats): return ResultSummary( address='nowhere', metadata={ 'server': ServerInfo('nowhere', Version(4, 4)), 'stats': stats, }, had_key=True, had_record=True, # available stats: # https://github.com/neo4j/neo4j-python-driver/blob/5.28.1/src/neo4j/_work/summary.py#L314 # noqa:E501 ) return _make_summary