import pytest
from fastapi import FastAPI, Path
from fastapi.testclient import TestClient
-from inline_snapshot import snapshot
+from inline_snapshot import Is, snapshot
app = FastAPI()
[
{
"required": True,
- "schema": {"title": expected_title, "type": "string"},
- "name": expected_name,
+ "schema": {"title": Is(expected_title), "type": "string"},
+ "name": Is(expected_name),
"in": "path",
}
]
import pytest
from dirty_equals import IsList
from fastapi.testclient import TestClient
-from inline_snapshot import snapshot
+from inline_snapshot import Is, snapshot
from ...utils import needs_py310
"title": "Tax",
"anyOf": [{"type": "number"}, {"type": "null"}],
},
- "tags": tags_schema,
+ "tags": Is(tags_schema),
},
"required": [
"name",
import pytest
from fastapi.testclient import TestClient
-from inline_snapshot import snapshot
+from inline_snapshot import Is, snapshot
@pytest.fixture(
"responses": {
"200": {
"description": "Successful Response",
- "content": response_content,
+ "content": Is(response_content),
}
},
"summary": "Read Items",
import pytest
from dirty_equals import IsList
from fastapi.testclient import TestClient
-from inline_snapshot import snapshot
+from inline_snapshot import Is, snapshot
from ...utils import needs_py310
"/items/": {
"post": {
"summary": "Create an item",
- "description": DESCRIPTIONS[mod_name],
+ "description": Is(DESCRIPTIONS[mod_name]),
"operationId": "create_item_items__post",
"requestBody": {
"content": {
import pytest
from fastapi._compat import PYDANTIC_VERSION_MINOR_TUPLE
from fastapi.testclient import TestClient
-from inline_snapshot import snapshot
+from inline_snapshot import Is, snapshot
from ...utils import needs_py310
def test_openapi_schema(client: TestClient):
response = client.get("/openapi.json")
assert response.status_code == 200, response.text
+
+ parameters_schema = {
+ "anyOf": [
+ {
+ "type": "string",
+ "minLength": 3,
+ "maxLength": 50,
+ "pattern": "^fixedquery$",
+ },
+ {"type": "null"},
+ ],
+ "title": "Query string",
+ "description": "Query string for the items to search in the database that have a good match",
+ # See https://github.com/pydantic/pydantic/blob/80353c29a824c55dea4667b328ba8f329879ac9f/tests/test_fastapi.sh#L25-L34.
+ **({"deprecated": True} if PYDANTIC_VERSION_MINOR_TUPLE >= (2, 10) else {}),
+ }
+
assert response.json() == snapshot(
{
"openapi": "3.1.0",
"description": "Query string for the items to search in the database that have a good match",
"required": False,
"deprecated": True,
- "schema": {
- "anyOf": [
- {
- "type": "string",
- "minLength": 3,
- "maxLength": 50,
- "pattern": "^fixedquery$",
- },
- {"type": "null"},
- ],
- "title": "Query string",
- "description": "Query string for the items to search in the database that have a good match",
- # See https://github.com/pydantic/pydantic/blob/80353c29a824c55dea4667b328ba8f329879ac9f/tests/test_fastapi.sh#L25-L34.
- **(
- {"deprecated": True}
- if PYDANTIC_VERSION_MINOR_TUPLE >= (2, 10)
- else {}
- ),
- },
+ "schema": Is(parameters_schema),
"name": "item-query",
"in": "query",
}