update conftest.py

This commit is contained in:
long2ice 2020-09-10 18:42:19 +08:00
parent fc914acc80
commit 00dd04f97d

View File

@ -31,24 +31,29 @@ def reset_migrate():
Migrate._downgrade_m2m = [] Migrate._downgrade_m2m = []
@pytest.fixture(scope="session") @pytest.yield_fixture(scope="session")
def loop(): def event_loop():
loop = asyncio.get_event_loop() policy = asyncio.get_event_loop_policy()
return loop res = policy.new_event_loop()
asyncio.set_event_loop(res)
res._close = res.close
res.close = lambda: None
yield res
res._close()
@pytest.fixture(scope="session", autouse=True) @pytest.fixture(scope="session", autouse=True)
def initialize_tests(loop, request): async def initialize_tests(event_loop, request):
tortoise_orm["connections"]["diff_models"] = "sqlite://:memory:" tortoise_orm["connections"]["diff_models"] = "sqlite://:memory:"
tortoise_orm["apps"]["diff_models"] = { tortoise_orm["apps"]["diff_models"] = {
"models": ["tests.diff_models"], "models": ["tests.diff_models"],
"default_connection": "diff_models", "default_connection": "diff_models",
} }
loop.run_until_complete(Tortoise.init(config=tortoise_orm, _create_db=True)) await Tortoise.init(config=tortoise_orm, _create_db=True)
loop.run_until_complete( await generate_schema_for_client(Tortoise.get_connection("default"), safe=True)
generate_schema_for_client(Tortoise.get_connection("default"), safe=True)
)
client = Tortoise.get_connection("default") client = Tortoise.get_connection("default")
if client.schema_generator is MySQLSchemaGenerator: if client.schema_generator is MySQLSchemaGenerator:
@ -58,4 +63,4 @@ def initialize_tests(loop, request):
elif client.schema_generator is AsyncpgSchemaGenerator: elif client.schema_generator is AsyncpgSchemaGenerator:
Migrate.ddl = PostgresDDL(client) Migrate.ddl = PostgresDDL(client)
request.addfinalizer(lambda: loop.run_until_complete(Tortoise._drop_databases())) request.addfinalizer(lambda: event_loop.run_until_complete(Tortoise._drop_databases()))