Commit graph

18 commits

Author SHA1 Message Date
Alex Root Junior
74e00a30b1
"Add get_mounted_bot function and improve model comparison in tests"
In this commit, a new function `get_mounted_bot` was added to `context_controller.py` that returns the bot mounted in context. This function was needed to bypass the limitation in pydantic BaseModel's properties, which neither support computed fields nor serialization/validation.

Various tests were also updated to compare models using `model_dump_json()` method rather than comparing the models directly. This change provides more accurate comparisons by considering default values in the models.

Further, the dispatcher was adjusted to enforce update re-mounting if the mounted bot differs from the current update. This allows shortcuts to be used in the bot's current instance and ensures the correct propagation of the context to all the nested objects and attributes of Updates.
2023-07-16 22:46:45 +03:00
Alex Root Junior
a7b92bb050
PoC: Bot instance inside method shortcuts using pydantic Validation Context (#1210)
* PoC: Mount objects to the Bot instance, bind shortcuts to configured instance

* Fixe docstring of the bind method

* Pass Bot instance explicitly to the URLInputFile

* Added tests

* Added changelog

* Refactor aiogram client and update tests

Refactored base.py to improve code readability by separating response_type operation from model_validate(). Also, adjusted the parameters in URLInputFile() within test_input_file.py for better test coverage. Updated input_file.py to streamline read method and avoid unnecessary instantiation of Bot class. Lastly, adjusted typing in methods/base.py to enhance code clarity.

* Update changelog
2023-07-11 23:17:26 +03:00
Alex Root Junior
d29b18da8c
#1191 Added possibility to pass custom headers to URLInputFile object (#1197) 2023-06-25 01:39:26 +03:00
Alex Root Junior
fea1b7b0a3
Reworked request builder (#1142)
* Reworked request builder

* Added more default values

* Update tests

* Fixed timestamp

* Fixed Py3.8 support

* Describe changes
2023-03-11 20:46:36 +02:00
Dmitry Anfimov
184ee1fbf8
[3.x] Check status code when downloading file (#1079)
* Check status code when downloading file and raise an error if someting bad happends

* Style fixes

* Add doc

* Use "towncrier create <issue>.<type>" for creating file
2023-02-12 02:56:11 +02:00
Alex Root Junior
1c2c7fd88c
Webhook integration in 3.0 (#737)
* Added base webhook implementation and example
* Added example
* Enable on_startup callback
* Correctly handle response into webhook (silent call)
* Fixed State filter
2021-11-08 23:20:12 +02:00
Alex Root Junior
7405db2ad3
Enable Python 3.10 for tests (#719)
* Try to test on Python 3.10

* Prevent to YAML type cast

* Bump poetry

* Removed async_lru

* Disable fail-fast on tests

* Fixed typing

* Added patch-notes
2021-10-06 22:49:14 +03:00
Alex Root Junior
c3844bb18f Added detection of API Errors and fixed coverage 2021-08-01 00:34:50 +03:00
Alex Root Junior
f022b4441c Added more aliases, refactor CallbackData factory, added base exceptions classification mechanism 2021-05-25 00:56:44 +03:00
Alex Root Junior
4008a3114d
Upgrade architecture + 5.0 Bot API (#469)
Upgrade architecture + 5.0 Bot API (#469)
* Moved `methods`, `types` and `client` to root package
* Removed update handler from routers to dispatcher
* Reworked events propagation mechanism to handlers
* Reworked inner middlewares logic (very small change)
* Updated to Bot API 5.0
* Initial migration from MkDocs to Sphinx + config for readthedocs
2021-01-26 21:20:52 +02:00
Alex Root Junior
f5684aef07 Update default parse_mode propagation. 2020-06-14 18:18:29 +03:00
Alex Root Junior
7844a663a9 Bump Telegram Bot API version
Change request timeout mechanism
Bump package version
2020-06-14 17:14:10 +03:00
gabbhack
7ab0db7991 Add stream_content to BaseSession and add tests 2020-01-22 22:54:29 +05:00
Alex Root Junior
e12aca9046 Move prepare_<field> to single module and add tests for default parse_mode 2019-12-26 01:35:21 +02:00
Alex Root Junior
c674b5547b Add token validation util, fix deepcopy of sessions and make bot hashable and comparable 2019-11-28 23:12:44 +02:00
Alex Root Junior
5413cf4367 Reformate tests code 2019-11-19 00:05:19 +02:00
jrootjunior
7db212593b Fix typing for mocked_bot.py 2019-11-18 17:52:35 +02:00
jrootjunior
ef956f7ec2 Add API methods testing prototype 2019-11-18 17:44:07 +02:00