"""Tests for SQL connector.""" from flexmock import flexmock import pytest from connectors import sql def test_session_scope_exception(): """Test scoped session context manager for exception handling.""" session_mock = flexmock() session_mock.should_receive('execute').and_raise(ValueError) (flexmock(session_mock) .should_receive('rollback') .with_args() .once()) (flexmock(session_mock) .should_receive('close') .with_args() .once()) with pytest.raises(ValueError): with sql.session_scope(session_mock) as session: session.execute() def test_session_scope_success(): """Test scoped session context manager for successful execution.""" session_mock = flexmock() (flexmock(session_mock) .should_receive('execute') .with_args() .once()) (flexmock(session_mock) .should_receive('commit') .with_args() .once()) (flexmock(session_mock) .should_receive('close') .with_args() .once()) with sql.session_scope(session_mock) as session: session.execute()