"""Tests for SQL connector.""" import pytest from src.connectors import sql def test_session_scope_exception(mocker): """Test scoped session context manager for exception handling.""" session_mock = mocker.Mock() session_mock.execute.side_effect = ValueError() with pytest.raises(ValueError): with sql.session_scope(session_mock) as session: session.execute() assert session_mock.execute.call_args[0] == () assert session_mock.rollback.call_count == 1 assert session_mock.rollback.call_args[0] == () assert session_mock.close.call_count == 1 assert session_mock.close.call_args[0] == () def test_session_scope_success(mocker): """Test scoped session context manager for successful execution.""" session_mock = mocker.Mock() with sql.session_scope(session_mock) as session: session.execute() assert session_mock.execute.call_count == 1 assert session_mock.execute.call_args[0] == () assert session_mock.commit.call_count == 1 assert session_mock.commit.call_args[0] == () assert session_mock.close.call_count == 1 assert session_mock.close.call_args[0] == ()