Skip to content

Commit 54f1986

Browse files
committed
Add test for dependency override in tag service
1 parent f7f9ecb commit 54f1986

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
import datetime
2+
3+
import pytest
4+
from fastapi import FastAPI
5+
from httpx import AsyncClient
6+
7+
from conduit.core.providers import get_tag_service
8+
from conduit.domain.dtos.tag import TagDTO
9+
10+
11+
class _TagServiceStub:
12+
async def get_all_tags(self, *_: object, **__: object) -> list[TagDTO]:
13+
return [
14+
TagDTO(id=1, tag="override", created_at=datetime.datetime(2024, 1, 1)),
15+
TagDTO(id=2, tag="stubbed", created_at=datetime.datetime(2024, 1, 2)),
16+
]
17+
18+
19+
@pytest.mark.anyio
20+
async def test_dependency_override_tag_service(application: FastAPI) -> None:
21+
async def _override_tag_service() -> _TagServiceStub:
22+
return _TagServiceStub()
23+
24+
application.dependency_overrides[get_tag_service] = _override_tag_service
25+
try:
26+
async with AsyncClient(
27+
app=application,
28+
base_url="http://testserver/api",
29+
headers={"Content-Type": "application/json"},
30+
) as client:
31+
response = await client.get(url="/tags")
32+
assert response.status_code == 200
33+
assert response.json() == {"tags": ["override", "stubbed"]}
34+
finally:
35+
application.dependency_overrides.pop(get_tag_service, None)

0 commit comments

Comments
 (0)