Co-authored-by: Javier Sánchez <javier.sanchez.castro@bookline.ai>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Motov Yurii <109919500+YuriiMotov@users.noreply.github.com>
app.include_router(internal_router)
```
"""
+ assert self is not router, (
+ "Cannot include the same APIRouter instance into itself. "
+ "Did you mean to include a different router?"
+ )
if prefix:
assert prefix.startswith("/"), "A path prefix must start with '/'"
assert not prefix.endswith("/"), (
--- /dev/null
+import pytest
+from fastapi import APIRouter
+
+
+def test_router_circular_import():
+ router = APIRouter()
+
+ with pytest.raises(
+ AssertionError,
+ match="Cannot include the same APIRouter instance into itself. Did you mean to include a different router?",
+ ):
+ router.include_router(router)