mirror of
https://github.com/ets-labs/python-dependency-injector.git
synced 2025-02-21 05:50:51 +03:00
* Add support for Pydantic v2 settings * Configure pipeline to run tests against different pydantic versions * Update Pydantic docs and examples for v2 * Fix compatibility with httpx v0.27.0
32 lines
722 B
Python
32 lines
722 B
Python
"""Tests module."""
|
|
|
|
from unittest import mock
|
|
|
|
import pytest
|
|
from httpx import ASGITransport, AsyncClient
|
|
|
|
from .application import app, container
|
|
from .services import Service
|
|
|
|
|
|
@pytest.fixture
|
|
def client(event_loop):
|
|
client = AsyncClient(
|
|
transport=ASGITransport(app=app),
|
|
base_url="http://test",
|
|
)
|
|
yield client
|
|
event_loop.run_until_complete(client.aclose())
|
|
|
|
|
|
@pytest.mark.asyncio
|
|
async def test_index(client):
|
|
service_mock = mock.AsyncMock(spec=Service)
|
|
service_mock.process.return_value = "Foo"
|
|
|
|
with container.service.override(service_mock):
|
|
response = await client.get("/")
|
|
|
|
assert response.status_code == 200
|
|
assert response.json() == {"result": "Foo"}
|