style: apply ruff formatting and move TYPE_CHECKING imports in tests
This commit is contained in:
@@ -13,7 +13,7 @@ Comprehensive tests covering:
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
from typing import AsyncGenerator
|
||||
from typing import TYPE_CHECKING
|
||||
|
||||
import pytest
|
||||
from fastapi import FastAPI
|
||||
@@ -26,6 +26,9 @@ from fastapi_traffic.middleware import (
|
||||
TokenBucketMiddleware,
|
||||
)
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from collections.abc import AsyncGenerator
|
||||
|
||||
|
||||
class TestRateLimitMiddleware:
|
||||
"""Tests for RateLimitMiddleware."""
|
||||
@@ -81,7 +84,9 @@ class TestRateLimitMiddleware:
|
||||
assert "X-RateLimit-Remaining" in response.headers
|
||||
assert "X-RateLimit-Reset" in response.headers
|
||||
|
||||
async def test_different_endpoints_counted_separately(self, client: AsyncClient) -> None:
|
||||
async def test_different_endpoints_counted_separately(
|
||||
self, client: AsyncClient
|
||||
) -> None:
|
||||
"""Test that different endpoints are counted separately by path."""
|
||||
# Middleware includes path in the key by default
|
||||
for _ in range(3):
|
||||
@@ -224,14 +229,10 @@ class TestMiddlewareCustomKeyExtractor:
|
||||
)
|
||||
assert response.status_code == 200
|
||||
|
||||
response = await client.get(
|
||||
"/api/resource", headers={"X-User-ID": "user-1"}
|
||||
)
|
||||
response = await client.get("/api/resource", headers={"X-User-ID": "user-1"})
|
||||
assert response.status_code == 429
|
||||
|
||||
response = await client.get(
|
||||
"/api/resource", headers={"X-User-ID": "user-2"}
|
||||
)
|
||||
response = await client.get("/api/resource", headers={"X-User-ID": "user-2"})
|
||||
assert response.status_code == 200
|
||||
|
||||
|
||||
@@ -313,7 +314,9 @@ class TestMiddlewareErrorHandling:
|
||||
return app
|
||||
|
||||
@pytest.fixture
|
||||
async def client(self, app_skip_on_error: FastAPI) -> AsyncGenerator[AsyncClient, None]:
|
||||
async def client(
|
||||
self, app_skip_on_error: FastAPI
|
||||
) -> AsyncGenerator[AsyncClient, None]:
|
||||
"""Create test client."""
|
||||
transport = ASGITransport(app=app_skip_on_error)
|
||||
async with AsyncClient(transport=transport, base_url="http://test") as client:
|
||||
|
||||
Reference in New Issue
Block a user