"""Test Neo4J verification logic.""" from unittest.mock import MagicMock from logic import verify_neo4j def test_verify_write_node_exists(query_result_with_write_node): """Test verify function returns None when WRITE node exists.""" result = verify_neo4j.verify_write_node_exists( query_result_with_write_node) assert result is None def test_verify_no_write_node( query_result_no_write_node, query_result_verification_no_write_node): """Test verify function returns error when there is no WRITE node.""" result = verify_neo4j.verify_write_node_exists(query_result_no_write_node) assert result == query_result_verification_no_write_node def test_verify_neo4j_cluster(mock_driver_and_session): """Test verification queries are executed.""" driver, session = mock_driver_and_session session_mock = MagicMock() session.__enter__.return_value = session_mock verify_neo4j.verify_neo4j_cluster(driver) for name, query in verify_neo4j.QUERIES_TO_VERIFY.items(): session_mock.run.assert_called_with(query) def test_verify_neo4j_cluster_has_errors( mock_driver_and_session, query_result_no_write_node, query_result_verification_no_write_node): """Test verification queries are executed and errors are present.""" driver, session = mock_driver_and_session session_mock = MagicMock() session.__enter__.return_value = session_mock session_mock.run.return_value.data.return_value = [ query_result_no_write_node] result = verify_neo4j.verify_neo4j_cluster(driver) for name, query in verify_neo4j.QUERIES_TO_VERIFY.items(): session_mock.run.assert_called_with(query) assert result == [query_result_verification_no_write_node] def test_verify_neo4j_cluster_no_errors( mock_driver_and_session, query_result_with_write_node): """Test verification queries are executed and no errors are present.""" driver, session = mock_driver_and_session session_mock = MagicMock() session.__enter__.return_value = session_mock session_mock.run.return_value.data.return_value = [ query_result_with_write_node] result = verify_neo4j.verify_neo4j_cluster(driver) for name, query in verify_neo4j.QUERIES_TO_VERIFY.items(): session_mock.run.assert_called_with(query) assert result == []