mirror of
				https://github.com/ets-labs/python-dependency-injector.git
				synced 2025-11-04 01:47:36 +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"}
 |