mirror of
https://github.com/aiogram/aiogram.git
synced 2026-04-08 16:37:47 +00:00
added fixture registration for pymongo storage
This commit is contained in:
parent
cb6b6d509c
commit
63423941be
1 changed files with 31 additions and 0 deletions
|
|
@ -17,6 +17,7 @@ from aiogram.fsm.storage.memory import (
|
|||
SimpleEventIsolation,
|
||||
)
|
||||
from aiogram.fsm.storage.mongo import MongoStorage
|
||||
from aiogram.fsm.storage.pymongo import PyMongoStorage
|
||||
from aiogram.fsm.storage.redis import RedisStorage
|
||||
from tests.mocked_bot import MockedBot
|
||||
|
||||
|
|
@ -102,6 +103,36 @@ async def mongo_storage(mongo_server):
|
|||
await storage.close()
|
||||
|
||||
|
||||
@pytest.fixture()
|
||||
def pymongo_server(request):
|
||||
mongo_uri = request.config.getoption("--mongo")
|
||||
if mongo_uri is None:
|
||||
pytest.skip(SKIP_MESSAGE_PATTERN.format(db="mongo"))
|
||||
else:
|
||||
return mongo_uri
|
||||
|
||||
|
||||
@pytest.fixture()
|
||||
async def pymongo_storage(pymongo_server):
|
||||
try:
|
||||
parse_mongo_url(pymongo_server)
|
||||
except InvalidURI as e:
|
||||
raise UsageError(INVALID_URI_PATTERN.format(db="mongo", uri=pymongo_server, err=e))
|
||||
storage = PyMongoStorage.from_url(
|
||||
url=pymongo_server,
|
||||
connection_kwargs={"serverSelectionTimeoutMS": 2000},
|
||||
)
|
||||
try:
|
||||
await storage._client.server_info()
|
||||
except PyMongoError as e:
|
||||
pytest.fail(str(e))
|
||||
else:
|
||||
yield storage
|
||||
await storage._client.drop_database(storage._database)
|
||||
finally:
|
||||
await storage.close()
|
||||
|
||||
|
||||
@pytest.fixture()
|
||||
async def memory_storage():
|
||||
storage = MemoryStorage()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue