Download tests/unit/middleware/test_token_tracking.py from VibecoderMcSwaggins/DeepBoner: direct link, hf CLI and curl.
- Browser
- Download file 1.29 kB
-
https://huggingface.co/spaces/VibecoderMcSwaggins/DeepBoner/resolve/main/tests/unit/middleware/test_token_tracking.py
- Command line
-
hf download hf://spaces/VibecoderMcSwaggins/DeepBoner/tests/unit/middleware/test_token_tracking.py
-
curl -L -o test_token_tracking.py https://huggingface.co/spaces/VibecoderMcSwaggins/DeepBoner/resolve/main/tests/unit/middleware/test_token_tracking.py
1.29 kB
| from unittest.mock import AsyncMock, MagicMock | |
| import pytest | |
| from src.middleware.token_tracking import TokenTrackingMiddleware | |
| pytestmark = pytest.mark.unit | |
| async def test_token_tracking_middleware_counts_tokens(): | |
| """TokenTrackingMiddleware should count tokens from response.""" | |
| middleware = TokenTrackingMiddleware() | |
| context = MagicMock() | |
| # Mock response with usage | |
| context.result.usage = {"input_tokens": 10, "output_tokens": 20} | |
| next_fn = AsyncMock() | |
| await middleware.process(context, next_fn) | |
| assert middleware.total_input_tokens == 10 | |
| assert middleware.total_output_tokens == 20 | |
| assert middleware.request_count == 1 | |
| async def test_token_tracking_middleware_handles_no_usage(): | |
| """TokenTrackingMiddleware should handle response without usage gracefully.""" | |
| middleware = TokenTrackingMiddleware() | |
| context = MagicMock() | |
| context.result = MagicMock() | |
| del context.result.usage # Ensure usage attr doesn't exist | |
| context.result.messages = [] # Ensure no messages | |
| next_fn = AsyncMock() | |
| await middleware.process(context, next_fn) | |
| assert middleware.total_input_tokens == 0 | |
| assert middleware.total_output_tokens == 0 | |
| assert middleware.request_count == 0 | |