Files
litellm/tests/router_unit_tests/test_router_acancel_batch.py
T
shin-bot-litellm 5bd5df3ca6 fix(test): add router.acancel_batch coverage (#20183)
- Add test_router_acancel_batch.py with mock test for router.acancel_batch()
- Add _acancel_batch to ignored list (internal helper tested via public API)

Fixes CI failure in check_code_and_doc_quality job
2026-01-31 12:39:19 -08:00

54 lines
1.4 KiB
Python

"""
Test router.acancel_batch() functionality
This ensures the router's batch cancellation method has test coverage.
"""
import sys
import os
sys.path.insert(0, os.path.abspath("../.."))
import pytest
from unittest.mock import patch, AsyncMock, MagicMock
from litellm import Router
import litellm
@pytest.fixture
def router():
"""Create a router with a mock deployment"""
return Router(
model_list=[
{
"model_name": "gpt-4",
"litellm_params": {
"model": "gpt-4",
"api_key": "fake-key",
},
}
]
)
@pytest.mark.asyncio
async def test_router_acancel_batch(router):
"""Test that router.acancel_batch() calls litellm.acancel_batch with correct params"""
mock_response = MagicMock()
mock_response.id = "batch_123"
mock_response.status = "cancelled"
with patch.object(litellm, "acancel_batch", new_callable=AsyncMock) as mock_cancel:
mock_cancel.return_value = mock_response
# This tests that the router method exists and can be called
# The actual API call is mocked
response = await router.acancel_batch(
model="gpt-4",
batch_id="batch_123",
)
# Verify the mock was called
assert mock_cancel.called
assert response.id == "batch_123"
assert response.status == "cancelled"