mirror of
https://github.com/fastapi/fastapi.git
synced 2026-05-18 05:15:46 -04:00
✨ Re-export utils from Starlette (#1064)
* ✨ Re-export main features used from Starlette to simplify developer's code * ♻️ Refactor Starlette exports * ♻️ Refactor tutorial examples to use re-exported utils from Starlette * 📝 Add examples for all middlewares * 📝 Add new docs for middlewares * 📝 Add examples for custom responses * 📝 Extend docs for custom responses * 📝 Update docs and add notes explaining re-exports from Starlette everywhere * 🍱 Update screenshot for HTTP status * 🔧 Update MkDocs config with new content * ♻️ Refactor tests to use re-exported utils from Starlette * ✨ Re-export WebSocketDisconnect from Starlette for tests * ✅ Add extra tests for extra re-exported middleware * ✅ Add tests for re-exported responses from Starlette * ✨ Add docs about mounting WSGI apps * ➕ Add Flask as a dependency to test WSGIMiddleware * ✅ Test WSGIMiddleware example
This commit is contained in:
committed by
GitHub
parent
f2bd2c44e2
commit
0ac9b3ee5c
@@ -1,4 +1,4 @@
|
||||
from starlette.testclient import TestClient
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
from additional_responses.tutorial001 import app
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import os
|
||||
import shutil
|
||||
|
||||
from starlette.testclient import TestClient
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
from additional_responses.tutorial002 import app
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
from starlette.testclient import TestClient
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
from additional_responses.tutorial003 import app
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import os
|
||||
import shutil
|
||||
|
||||
from starlette.testclient import TestClient
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
from additional_responses.tutorial004 import app
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
from starlette.testclient import TestClient
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
from additional_status_codes.tutorial001 import app
|
||||
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
from advanced_middleware.tutorial001 import app
|
||||
|
||||
|
||||
def test_middleware():
|
||||
client = TestClient(app, base_url="https://testserver")
|
||||
response = client.get("/")
|
||||
assert response.status_code == 200
|
||||
|
||||
client = TestClient(app)
|
||||
response = client.get("/", allow_redirects=False)
|
||||
assert response.status_code == 307
|
||||
assert response.headers["location"] == "https://testserver/"
|
||||
@@ -0,0 +1,15 @@
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
from advanced_middleware.tutorial002 import app
|
||||
|
||||
|
||||
def test_middleware():
|
||||
client = TestClient(app, base_url="http://example.com")
|
||||
response = client.get("/")
|
||||
assert response.status_code == 200
|
||||
client = TestClient(app, base_url="http://subdomain.example.com")
|
||||
response = client.get("/")
|
||||
assert response.status_code == 200
|
||||
client = TestClient(app, base_url="http://invalidhost")
|
||||
response = client.get("/")
|
||||
assert response.status_code == 400
|
||||
@@ -0,0 +1,22 @@
|
||||
from fastapi.responses import PlainTextResponse
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
from advanced_middleware.tutorial003 import app
|
||||
|
||||
|
||||
@app.get("/large")
|
||||
async def large():
|
||||
return PlainTextResponse("x" * 4000, status_code=200)
|
||||
|
||||
|
||||
client = TestClient(app)
|
||||
|
||||
|
||||
def test_middleware():
|
||||
response = client.get("/large", headers={"accept-encoding": "gzip"})
|
||||
assert response.status_code == 200
|
||||
assert response.text == "x" * 4000
|
||||
assert response.headers["Content-Encoding"] == "gzip"
|
||||
assert int(response.headers["Content-Length"]) < 4000
|
||||
response = client.get("/")
|
||||
assert response.status_code == 200
|
||||
@@ -1,4 +1,4 @@
|
||||
from starlette.testclient import TestClient
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
from application_configuration.tutorial001 import app
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
from starlette.testclient import TestClient
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
from async_sql_databases.tutorial001 import app
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import os
|
||||
from pathlib import Path
|
||||
|
||||
from starlette.testclient import TestClient
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
from background_tasks.tutorial001 import app
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import os
|
||||
from pathlib import Path
|
||||
|
||||
from starlette.testclient import TestClient
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
from background_tasks.tutorial002 import app
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import pytest
|
||||
from starlette.testclient import TestClient
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
from bigger_applications.app.main import app
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import pytest
|
||||
from starlette.testclient import TestClient
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
from body.tutorial001 import app
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import pytest
|
||||
from starlette.testclient import TestClient
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
from body_fields.tutorial001 import app
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import pytest
|
||||
from starlette.testclient import TestClient
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
from body_multiple_params.tutorial001 import app
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import pytest
|
||||
from starlette.testclient import TestClient
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
from body_multiple_params.tutorial003 import app
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
from starlette.testclient import TestClient
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
from body_nested_models.tutorial009 import app
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
from starlette.testclient import TestClient
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
from body_updates.tutorial001 import app
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import pytest
|
||||
from starlette.testclient import TestClient
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
from cookie_params.tutorial001 import app
|
||||
|
||||
|
||||
0
tests/test_tutorial/test_cors/__init__.py
Normal file
0
tests/test_tutorial/test_cors/__init__.py
Normal file
37
tests/test_tutorial/test_cors/test_tutorial001.py
Normal file
37
tests/test_tutorial/test_cors/test_tutorial001.py
Normal file
@@ -0,0 +1,37 @@
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
from cors.tutorial001 import app
|
||||
|
||||
|
||||
def test_cors():
|
||||
client = TestClient(app)
|
||||
# Test pre-flight response
|
||||
headers = {
|
||||
"Origin": "https://localhost.tiangolo.com",
|
||||
"Access-Control-Request-Method": "GET",
|
||||
"Access-Control-Request-Headers": "X-Example",
|
||||
}
|
||||
response = client.options("/", headers=headers)
|
||||
assert response.status_code == 200
|
||||
assert response.text == "OK"
|
||||
assert (
|
||||
response.headers["access-control-allow-origin"]
|
||||
== "https://localhost.tiangolo.com"
|
||||
)
|
||||
assert response.headers["access-control-allow-headers"] == "X-Example"
|
||||
|
||||
# Test standard response
|
||||
headers = {"Origin": "https://localhost.tiangolo.com"}
|
||||
response = client.get("/", headers=headers)
|
||||
assert response.status_code == 200
|
||||
assert response.json() == {"message": "Hello World"}
|
||||
assert (
|
||||
response.headers["access-control-allow-origin"]
|
||||
== "https://localhost.tiangolo.com"
|
||||
)
|
||||
|
||||
# Test non-CORS response
|
||||
response = client.get("/")
|
||||
assert response.status_code == 200
|
||||
assert response.json() == {"message": "Hello World"}
|
||||
assert "access-control-allow-origin" not in response.headers
|
||||
@@ -2,8 +2,8 @@ import gzip
|
||||
import json
|
||||
|
||||
import pytest
|
||||
from starlette.requests import Request
|
||||
from starlette.testclient import TestClient
|
||||
from fastapi import Request
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
from custom_request_and_route.tutorial001 import app
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
from starlette.testclient import TestClient
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
from custom_request_and_route.tutorial002 import app
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
from starlette.testclient import TestClient
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
from custom_request_and_route.tutorial003 import app
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
from starlette.testclient import TestClient
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
from custom_response.tutorial001 import app
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
from starlette.testclient import TestClient
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
from custom_response.tutorial004 import app
|
||||
|
||||
|
||||
36
tests/test_tutorial/test_custom_response/test_tutorial005.py
Normal file
36
tests/test_tutorial/test_custom_response/test_tutorial005.py
Normal file
@@ -0,0 +1,36 @@
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
from custom_response.tutorial005 import app
|
||||
|
||||
client = TestClient(app)
|
||||
|
||||
openapi_schema = {
|
||||
"openapi": "3.0.2",
|
||||
"info": {"title": "FastAPI", "version": "0.1.0"},
|
||||
"paths": {
|
||||
"/": {
|
||||
"get": {
|
||||
"summary": "Main",
|
||||
"operationId": "main__get",
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Successful Response",
|
||||
"content": {"text/plain": {"schema": {"type": "string"}}},
|
||||
}
|
||||
},
|
||||
}
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
def test_openapi_schema():
|
||||
response = client.get("/openapi.json")
|
||||
assert response.status_code == 200
|
||||
assert response.json() == openapi_schema
|
||||
|
||||
|
||||
def test_get():
|
||||
response = client.get("/")
|
||||
assert response.status_code == 200
|
||||
assert response.text == "Hello World"
|
||||
11
tests/test_tutorial/test_custom_response/test_tutorial006.py
Normal file
11
tests/test_tutorial/test_custom_response/test_tutorial006.py
Normal file
@@ -0,0 +1,11 @@
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
from custom_response.tutorial006 import app
|
||||
|
||||
client = TestClient(app)
|
||||
|
||||
|
||||
def test_get():
|
||||
response = client.get("/typer", allow_redirects=False)
|
||||
assert response.status_code == 307
|
||||
assert response.headers["location"] == "https://typer.tiangolo.com"
|
||||
11
tests/test_tutorial/test_custom_response/test_tutorial007.py
Normal file
11
tests/test_tutorial/test_custom_response/test_tutorial007.py
Normal file
@@ -0,0 +1,11 @@
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
from custom_response.tutorial007 import app
|
||||
|
||||
client = TestClient(app)
|
||||
|
||||
|
||||
def test_get():
|
||||
fake_content = b"some fake video bytes"
|
||||
response = client.get("/")
|
||||
assert response.content == fake_content * 10
|
||||
17
tests/test_tutorial/test_custom_response/test_tutorial008.py
Normal file
17
tests/test_tutorial/test_custom_response/test_tutorial008.py
Normal file
@@ -0,0 +1,17 @@
|
||||
from pathlib import Path
|
||||
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
from custom_response import tutorial008
|
||||
from custom_response.tutorial008 import app
|
||||
|
||||
client = TestClient(app)
|
||||
|
||||
|
||||
def test_get(tmp_path: Path):
|
||||
file_path: Path = tmp_path / "large-video-file.mp4"
|
||||
tutorial008.some_file_path = str(file_path)
|
||||
test_content = b"Fake video bytes"
|
||||
file_path.write_bytes(test_content)
|
||||
response = client.get("/")
|
||||
assert response.content == test_content
|
||||
@@ -1,5 +1,5 @@
|
||||
import pytest
|
||||
from starlette.testclient import TestClient
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
from dependencies.tutorial001 import app
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import pytest
|
||||
from starlette.testclient import TestClient
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
from dependencies.tutorial004 import app
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
from starlette.testclient import TestClient
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
from dependencies.tutorial006 import app
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
from starlette.testclient import TestClient
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
from events.tutorial001 import app
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
from starlette.testclient import TestClient
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
from events.tutorial002 import app
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
from starlette.testclient import TestClient
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
from extending_openapi.tutorial001 import app
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@ import os
|
||||
from pathlib import Path
|
||||
|
||||
import pytest
|
||||
from starlette.testclient import TestClient
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
|
||||
@pytest.fixture(scope="module")
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
from starlette.testclient import TestClient
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
from extra_data_types.tutorial001 import app
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
from starlette.testclient import TestClient
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
from extra_models.tutorial003 import app
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
from starlette.testclient import TestClient
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
from extra_models.tutorial004 import app
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
from starlette.testclient import TestClient
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
from extra_models.tutorial005 import app
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import pytest
|
||||
from starlette.testclient import TestClient
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
from first_steps.tutorial001 import app
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
from starlette.testclient import TestClient
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
from handling_errors.tutorial001 import app
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
from starlette.testclient import TestClient
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
from handling_errors.tutorial002 import app
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
from starlette.testclient import TestClient
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
from handling_errors.tutorial003 import app
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
from starlette.testclient import TestClient
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
from handling_errors.tutorial004 import app
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
from starlette.testclient import TestClient
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
from handling_errors.tutorial005 import app
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
from starlette.testclient import TestClient
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
from handling_errors.tutorial006 import app
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import pytest
|
||||
from starlette.testclient import TestClient
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
from header_params.tutorial001 import app
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
from starlette.testclient import TestClient
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
from openapi_callbacks.tutorial001 import app, invoice_notification
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
from starlette.testclient import TestClient
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
from path_operation_advanced_configuration.tutorial001 import app
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
from starlette.testclient import TestClient
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
from path_operation_advanced_configuration.tutorial002 import app
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
from starlette.testclient import TestClient
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
from path_operation_advanced_configuration.tutorial003 import app
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
from starlette.testclient import TestClient
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
from path_operation_advanced_configuration.tutorial004 import app
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
from starlette.testclient import TestClient
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
from path_operation_configuration.tutorial005 import app
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import pytest
|
||||
from starlette.testclient import TestClient
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
from path_operation_configuration.tutorial006 import app
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
from starlette.testclient import TestClient
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
from path_params.tutorial004 import app
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import pytest
|
||||
from starlette.testclient import TestClient
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
from path_params.tutorial005 import app
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import pytest
|
||||
from starlette.testclient import TestClient
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
from query_params.tutorial005 import app
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import pytest
|
||||
from starlette.testclient import TestClient
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
from query_params.tutorial006 import app
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
from starlette.testclient import TestClient
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
from query_params.tutorial007 import app
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import pytest
|
||||
from starlette.testclient import TestClient
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
from query_params_str_validations.tutorial010 import app
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
from starlette.testclient import TestClient
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
from query_params_str_validations.tutorial011 import app
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
from starlette.testclient import TestClient
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
from query_params_str_validations.tutorial012 import app
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
from starlette.testclient import TestClient
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
from query_params_str_validations.tutorial013 import app
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import os
|
||||
|
||||
from starlette.testclient import TestClient
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
from request_files.tutorial001 import app
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import os
|
||||
|
||||
from starlette.testclient import TestClient
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
from request_files.tutorial002 import app
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import pytest
|
||||
from starlette.testclient import TestClient
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
from request_forms.tutorial001 import app
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import os
|
||||
from pathlib import Path
|
||||
|
||||
from starlette.testclient import TestClient
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
from request_forms_and_files.tutorial001 import app
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
from starlette.testclient import TestClient
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
from response_change_status_code.tutorial001 import app
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
from starlette.testclient import TestClient
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
from response_cookies.tutorial001 import app
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
from starlette.testclient import TestClient
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
from response_cookies.tutorial002 import app
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
from starlette.testclient import TestClient
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
from response_headers.tutorial001 import app
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
from starlette.testclient import TestClient
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
from response_headers.tutorial002 import app
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
from starlette.testclient import TestClient
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
from response_model.tutorial003 import app
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import pytest
|
||||
from starlette.testclient import TestClient
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
from response_model.tutorial004 import app
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
from starlette.testclient import TestClient
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
from response_model.tutorial005 import app
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
from starlette.testclient import TestClient
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
from response_model.tutorial006 import app
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
from starlette.testclient import TestClient
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
from security.tutorial001 import app
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
from starlette.testclient import TestClient
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
from security.tutorial003 import app
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
from starlette.testclient import TestClient
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
from security.tutorial005 import (
|
||||
app,
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
from base64 import b64encode
|
||||
|
||||
from fastapi.testclient import TestClient
|
||||
from requests.auth import HTTPBasicAuth
|
||||
from starlette.testclient import TestClient
|
||||
|
||||
from security.tutorial006 import app
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
from pathlib import Path
|
||||
|
||||
import pytest
|
||||
from starlette.testclient import TestClient
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
openapi_schema = {
|
||||
"openapi": "3.0.2",
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
from pathlib import Path
|
||||
|
||||
import pytest
|
||||
from starlette.testclient import TestClient
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
openapi_schema = {
|
||||
"openapi": "3.0.2",
|
||||
|
||||
@@ -3,7 +3,7 @@ from pathlib import Path
|
||||
from unittest.mock import MagicMock
|
||||
|
||||
import pytest
|
||||
from starlette.testclient import TestClient
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
from ...utils import skip_py36
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
from starlette.testclient import TestClient
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
from sub_applications.tutorial001 import app
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import shutil
|
||||
|
||||
from starlette.testclient import TestClient
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
|
||||
def test_main():
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import pytest
|
||||
from starlette.testclient import TestClient
|
||||
from starlette.websockets import WebSocketDisconnect
|
||||
from fastapi.testclient import TestClient
|
||||
from fastapi.websockets import WebSocketDisconnect
|
||||
from websockets.tutorial001 import app
|
||||
|
||||
client = TestClient(app)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import pytest
|
||||
from starlette.testclient import TestClient
|
||||
from starlette.websockets import WebSocketDisconnect
|
||||
from fastapi.testclient import TestClient
|
||||
from fastapi.websockets import WebSocketDisconnect
|
||||
from websockets.tutorial002 import app
|
||||
|
||||
client = TestClient(app)
|
||||
|
||||
0
tests/test_tutorial/test_wsgi/__init__.py
Normal file
0
tests/test_tutorial/test_wsgi/__init__.py
Normal file
17
tests/test_tutorial/test_wsgi/test_tutorial001.py
Normal file
17
tests/test_tutorial/test_wsgi/test_tutorial001.py
Normal file
@@ -0,0 +1,17 @@
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
from wsgi.tutorial001 import app
|
||||
|
||||
client = TestClient(app)
|
||||
|
||||
|
||||
def test_flask():
|
||||
response = client.get("/v1/")
|
||||
assert response.status_code == 200
|
||||
assert response.text == "Hello, World from Flask!"
|
||||
|
||||
|
||||
def test_app():
|
||||
response = client.get("/v2")
|
||||
assert response.status_code == 200
|
||||
assert response.json() == {"message": "Hello World"}
|
||||
Reference in New Issue
Block a user