mirror of
https://github.com/aiogram/aiogram.git
synced 2025-12-17 04:25:13 +00:00
Added MongoStorage for FSM (#1434)
* Mongo storage included to storages test * Added few additional checks in storages test * Added MongoStorage for FSM * Added changes description * Fixed error message syntax Co-authored-by: Alex Root Junior <jroot.junior@gmail.com> * Resolved mypy check error * IF/ELSE statement simplified * Fix ruff linter error: RET505 Unnecessary `elif` after `return` statement * Fix ruff linter error: E501 Line too long (100 > 99) * Added mongo storage testing in CI * Refactoring while review * Refactoring while review * Storing FSM state and data together in MongoDB-storage * Fix CI - MongoDB container action is only supported on Linux * Refactoring while review * Enable Macos in pypy-tests section of CI * Refactoring while review * Makefile updated * redis and mongo storages tests do not run in pypy-tests job of CI * Fix docstring of DefaultKeyBuilder --------- Co-authored-by: Alex Root Junior <jroot.junior@gmail.com>
This commit is contained in:
parent
25c76b7d74
commit
1ef7655fd7
15 changed files with 522 additions and 129 deletions
|
|
@ -11,7 +11,11 @@ def create_storage_key(bot: MockedBot):
|
|||
|
||||
@pytest.mark.parametrize(
|
||||
"storage",
|
||||
[pytest.lazy_fixture("redis_storage"), pytest.lazy_fixture("memory_storage")],
|
||||
[
|
||||
pytest.lazy_fixture("redis_storage"),
|
||||
pytest.lazy_fixture("mongo_storage"),
|
||||
pytest.lazy_fixture("memory_storage"),
|
||||
],
|
||||
)
|
||||
class TestStorages:
|
||||
async def test_set_state(self, bot: MockedBot, storage: BaseStorage, storage_key: StorageKey):
|
||||
|
|
@ -35,6 +39,8 @@ class TestStorages:
|
|||
):
|
||||
assert await storage.get_data(key=storage_key) == {}
|
||||
assert await storage.update_data(key=storage_key, data={"foo": "bar"}) == {"foo": "bar"}
|
||||
assert await storage.update_data(key=storage_key, data={}) == {"foo": "bar"}
|
||||
assert await storage.get_data(key=storage_key) == {"foo": "bar"}
|
||||
assert await storage.update_data(key=storage_key, data={"baz": "spam"}) == {
|
||||
"foo": "bar",
|
||||
"baz": "spam",
|
||||
|
|
@ -43,3 +49,11 @@ class TestStorages:
|
|||
"foo": "bar",
|
||||
"baz": "spam",
|
||||
}
|
||||
assert await storage.update_data(key=storage_key, data={"baz": "test"}) == {
|
||||
"foo": "bar",
|
||||
"baz": "test",
|
||||
}
|
||||
assert await storage.get_data(key=storage_key) == {
|
||||
"foo": "bar",
|
||||
"baz": "test",
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue