aiogram/tests/deprecated.py
Alex Root Junior ec7da0f678
Migrate from Black to Ruff (#1750)
* Migrate from Black to Ruff and reformat code with enabling additional linter checks

* Add changelog for migration to Ruff as formatter and linter

* Add type ignores for specific attributes and replace tuple with set for chat type check

* Remove file from another changes
2026-01-04 21:34:08 +02:00

27 lines
655 B
Python

from contextlib import contextmanager
import pytest
from packaging import version
import aiogram
@contextmanager
def check_deprecated(
max_version: str,
exception: type[Exception],
warning: type[Warning] = DeprecationWarning,
) -> None:
"""
Should be used for modules that are being deprecated or already removed from aiogram
"""
parsed_max_version = version.parse(max_version)
current_version = version.parse(aiogram.__version__)
if parsed_max_version <= current_version:
with pytest.raises(exception):
yield
else:
with pytest.warns(warning, match=max_version):
yield