Coverage for tests\conftest.py: 100%

23 statements  

« prev     ^ index     » next       coverage.py v7.1.0, created at 2023-02-05 19:00 +0800

1import asyncio 

2 

3import httpx 

4import pytest 

5 

6from database.connection import Settings 

7from main import app 

8from models.events import Event 

9from models.users import User 

10 

11 

12@pytest.fixture(scope="session") 

13def event_loop(): 

14 loop = asyncio.get_event_loop() 

15 yield loop 

16 loop.close() 

17 

18 

19async def init_db(): 

20 test_settings = Settings() 

21 test_settings.DATABASE_URL = "mongodb://localhost:27017/testdb" 

22 

23 await test_settings.initialize_database() 

24 

25 

26@pytest.fixture(scope="session") 

27async def default_client(): 

28 await init_db() 

29 async with httpx.AsyncClient(app=app, base_url="http://app") as client: 

30 yield client 

31 

32 # 리소스 정리 

33 await Event.find_all().delete() 

34 await User.find_all().delete()