mirror of
https://github.com/aiogram/aiogram.git
synced 2025-12-15 20:02:22 +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
|
|
@ -78,13 +78,13 @@ Linux / macOS:
|
|||
|
||||
.. code-block:: bash
|
||||
|
||||
pip install -e ."[dev,test,docs,fast,redis,proxy,i18n]"
|
||||
pip install -e ."[dev,test,docs,fast,redis,mongo,proxy,i18n]"
|
||||
|
||||
Windows:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
pip install -e .[dev,test,docs,fast,redis,proxy,i18n]
|
||||
pip install -e .[dev,test,docs,fast,redis,mongo,proxy,i18n]
|
||||
|
||||
It will install :code:`aiogram` in editable mode into your virtual environment and all dependencies.
|
||||
|
||||
|
|
@ -116,11 +116,12 @@ All changes should be tested:
|
|||
|
||||
pytest tests
|
||||
|
||||
Also if you are doing something with Redis-storage, you will need to test everything works with Redis:
|
||||
Also if you are doing something with Redis-storage or/and MongoDB-storage,
|
||||
you will need to test everything works with Redis or/and MongoDB:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
pytest --redis redis://<host>:<port>/<db> tests
|
||||
pytest --redis redis://<host>:<port>/<db> --mongo mongodb://<user>:<password>@<host>:<port> tests
|
||||
|
||||
Docs
|
||||
----
|
||||
|
|
|
|||
|
|
@ -19,13 +19,23 @@ RedisStorage
|
|||
:members: __init__, from_url
|
||||
:member-order: bysource
|
||||
|
||||
Keys inside storage can be customized via key builders:
|
||||
MongoStorage
|
||||
------------
|
||||
|
||||
.. autoclass:: aiogram.fsm.storage.redis.KeyBuilder
|
||||
.. autoclass:: aiogram.fsm.storage.mongo.MongoStorage
|
||||
:members: __init__, from_url
|
||||
:member-order: bysource
|
||||
|
||||
KeyBuilder
|
||||
------------
|
||||
|
||||
Keys inside Redis and Mongo storages can be customized via key builders:
|
||||
|
||||
.. autoclass:: aiogram.fsm.storage.base.KeyBuilder
|
||||
:members:
|
||||
:member-order: bysource
|
||||
|
||||
.. autoclass:: aiogram.fsm.storage.redis.DefaultKeyBuilder
|
||||
.. autoclass:: aiogram.fsm.storage.base.DefaultKeyBuilder
|
||||
:members:
|
||||
:member-order: bysource
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue