11"""
22Additional tests to reach target coverage of 97.22%
33"""
4- import pytest
4+
55from fastapi import FastAPI
66
77
88def test_commit_on_exit_parameter ():
99 """Test commit_on_exit parameter in middleware initialization"""
1010 from sqlalchemy .ext .asyncio import create_async_engine
11+
1112 from fastapi_async_sqlalchemy .middleware import create_middleware_and_session_proxy
12-
13+
1314 SQLAlchemyMiddleware , db = create_middleware_and_session_proxy ()
1415 app = FastAPI ()
15-
16+
1617 # Test commit_on_exit=True
1718 custom_engine = create_async_engine ("sqlite+aiosqlite://" )
1819 middleware = SQLAlchemyMiddleware (app , custom_engine = custom_engine , commit_on_exit = True )
1920 assert middleware .commit_on_exit is True
20-
21+
2122 # Test commit_on_exit=False (default)
2223 middleware2 = SQLAlchemyMiddleware (app , custom_engine = custom_engine , commit_on_exit = False )
2324 assert middleware2 .commit_on_exit is False
@@ -26,75 +27,79 @@ def test_commit_on_exit_parameter():
2627def test_exception_classes_simple ():
2728 """Test exception classes are properly defined"""
2829 from fastapi_async_sqlalchemy .exceptions import MissingSessionError , SessionNotInitialisedError
29-
30+
3031 # Test exception instantiation without parameters
3132 missing_error = MissingSessionError ()
3233 assert isinstance (missing_error , Exception )
33-
34+
3435 init_error = SessionNotInitialisedError ()
3536 assert isinstance (init_error , Exception )
3637
3738
3839def test_middleware_properties ():
3940 """Test middleware properties and methods"""
40- from fastapi_async_sqlalchemy .middleware import create_middleware_and_session_proxy
41- from sqlalchemy .ext .asyncio import create_async_engine
4241 from fastapi import FastAPI
43-
42+ from sqlalchemy .ext .asyncio import create_async_engine
43+
44+ from fastapi_async_sqlalchemy .middleware import create_middleware_and_session_proxy
45+
4446 SQLAlchemyMiddleware , db = create_middleware_and_session_proxy ()
4547 app = FastAPI ()
46-
48+
4749 # Test middleware properties
4850 custom_engine = create_async_engine ("sqlite+aiosqlite://" )
49- middleware = SQLAlchemyMiddleware (
50- app ,
51- custom_engine = custom_engine ,
52- commit_on_exit = True
53- )
54-
55- assert hasattr (middleware , 'commit_on_exit' )
51+ middleware = SQLAlchemyMiddleware (app , custom_engine = custom_engine , commit_on_exit = True )
52+
53+ assert hasattr (middleware , "commit_on_exit" )
5654 assert middleware .commit_on_exit is True
5755
5856
5957def test_basic_imports ():
6058 """Test basic imports and module structure"""
6159 # Test main module imports
6260 from fastapi_async_sqlalchemy import SQLAlchemyMiddleware , db
61+
6362 assert SQLAlchemyMiddleware is not None
6463 assert db is not None
65-
64+
6665 # Test exception imports
6766 from fastapi_async_sqlalchemy .exceptions import MissingSessionError , SessionNotInitialisedError
68- assert MissingSessionError is not None
67+
68+ assert MissingSessionError is not None
6969 assert SessionNotInitialisedError is not None
70-
70+
7171 # Test middleware module imports
72- from fastapi_async_sqlalchemy .middleware import create_middleware_and_session_proxy , DefaultAsyncSession
72+ from fastapi_async_sqlalchemy .middleware import (
73+ DefaultAsyncSession ,
74+ create_middleware_and_session_proxy ,
75+ )
76+
7377 assert create_middleware_and_session_proxy is not None
7478 assert DefaultAsyncSession is not None
7579
7680
7781def test_middleware_factory_different_instances ():
7882 """Test creating multiple middleware/db instances"""
79- from fastapi_async_sqlalchemy .middleware import create_middleware_and_session_proxy
8083 from fastapi import FastAPI
8184 from sqlalchemy .ext .asyncio import create_async_engine
82-
85+
86+ from fastapi_async_sqlalchemy .middleware import create_middleware_and_session_proxy
87+
8388 # Create first instance
8489 SQLAlchemyMiddleware1 , db1 = create_middleware_and_session_proxy ()
85-
90+
8691 # Create second instance
8792 SQLAlchemyMiddleware2 , db2 = create_middleware_and_session_proxy ()
88-
93+
8994 # They should be different instances
9095 assert SQLAlchemyMiddleware1 is not SQLAlchemyMiddleware2
9196 assert db1 is not db2
92-
97+
9398 # Test both instances work
9499 app = FastAPI ()
95100 engine = create_async_engine ("sqlite+aiosqlite://" )
96-
101+
97102 middleware1 = SQLAlchemyMiddleware1 (app , custom_engine = engine )
98103 middleware2 = SQLAlchemyMiddleware2 (app , custom_engine = engine )
99-
100- assert middleware1 is not middleware2
104+
105+ assert middleware1 is not middleware2
0 commit comments