|
| 1 | +import pytest |
| 2 | + |
| 3 | +from django.test import AsyncClient |
| 4 | + |
| 5 | + |
| 6 | +client = AsyncClient() |
| 7 | + |
| 8 | + |
| 9 | +@pytest.mark.django_db |
| 10 | +class TestLocaleMiddleware: |
| 11 | + @pytest.fixture(autouse=True) |
| 12 | + def set_settings(self, settings): |
| 13 | + old_use_i18n = settings.USE_I18N |
| 14 | + old_language = settings.LANGUAGES |
| 15 | + old_middleware = settings.MIDDLEWARE |
| 16 | + old_urlconf = settings.ROOT_URLCONF |
| 17 | + |
| 18 | + settings.USE_I18N = True |
| 19 | + settings.LANGUAGES = [("en", "English"), ("fr", "French")] |
| 20 | + settings.MIDDLEWARE = [ |
| 21 | + "django_async_extensions.amiddleware.locale.AsyncLocaleMiddleware", |
| 22 | + "django.middleware.common.CommonMiddleware", |
| 23 | + ] |
| 24 | + settings.ROOT_URLCONF = "test_middlewares.urls" |
| 25 | + |
| 26 | + yield settings |
| 27 | + |
| 28 | + settings.USE_I18N = old_use_i18n |
| 29 | + settings.LANGUAGES = old_language |
| 30 | + settings.MIDDLEWARE = old_middleware |
| 31 | + settings.ROOT_URLCONF = old_urlconf |
| 32 | + |
| 33 | + async def test_streaming_response(self): |
| 34 | + # Regression test for #5241 |
| 35 | + response = await client.get("/fr/streaming/") |
| 36 | + assert b"Oui/Non" in b"".join( |
| 37 | + [content async for content in response.streaming_content] |
| 38 | + ) |
| 39 | + response = await client.get("/en/streaming/") |
| 40 | + assert b"Yes/No" in b"".join( |
| 41 | + [content async for content in response.streaming_content] |
| 42 | + ) |
0 commit comments