mirror of
https://github.com/Cog-Creators/Red-DiscordBot.git
synced 2025-11-06 03:08:55 -05:00
* passing loop to certain things was deprecated. additionally, `asyncio.get_event_loop()` is being deprecated * awesome, checks are functioning as intended * fun with fixtures * we can just stop misuing that anyhow * Update redbot/pytest/downloader.py Co-Authored-By: jack1142 <6032823+jack1142@users.noreply.github.com> Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
39 lines
1010 B
Python
39 lines
1010 B
Python
import asyncio
|
|
import os
|
|
|
|
import pytest
|
|
|
|
from redbot import _update_event_loop_policy
|
|
from redbot.core import drivers, data_manager
|
|
|
|
_update_event_loop_policy()
|
|
|
|
|
|
@pytest.fixture(scope="session")
|
|
def event_loop(request):
|
|
"""Create an instance of the default event loop for entire session."""
|
|
loop = asyncio.new_event_loop()
|
|
asyncio.set_event_loop(loop)
|
|
yield loop
|
|
asyncio.set_event_loop(None)
|
|
loop.close()
|
|
|
|
|
|
def _get_backend_type():
|
|
if os.getenv("RED_STORAGE_TYPE") == "postgres":
|
|
return drivers.BackendType.POSTGRES
|
|
else:
|
|
return drivers.BackendType.JSON
|
|
|
|
|
|
@pytest.fixture(scope="session", autouse=True)
|
|
async def _setup_driver():
|
|
backend_type = _get_backend_type()
|
|
storage_details = {}
|
|
data_manager.storage_type = lambda: backend_type.value
|
|
data_manager.storage_details = lambda: storage_details
|
|
driver_cls = drivers.get_driver_class(backend_type)
|
|
await driver_cls.initialize(**storage_details)
|
|
yield
|
|
await driver_cls.teardown()
|