Files
openapi-first/mcp_docs/modules/openapi_first.templates.model_app.test_model_app.json
2026-03-08 00:41:19 +05:30

116 lines
7.0 KiB
JSON

{
"module": "openapi_first.templates.model_app.test_model_app",
"content": {
"path": "openapi_first.templates.model_app.test_model_app",
"docstring": "End-to-end tests for the OpenAPI-first model CRUD example app.\n\nThese tests validate that all CRUD operations behave correctly\nagainst the in-memory mock data store using Pydantic models.\n- OpenAPI specification loading\n- OperationId-driven route binding on the server\n- OperationId-driven client invocation\n- Pydantic model-based request and response handling\n\nAll CRUD operations are exercised against an in-memory mock data store\nbacked by Pydantic domain models.\n\nThe tests assume:\n- OpenAPI-first route binding\n- Pydantic model validation\n- In-memory storage (no persistence guarantees)\n- Deterministic behavior in a single process",
"objects": {
"TestClient": {
"name": "TestClient",
"kind": "alias",
"path": "openapi_first.templates.model_app.test_model_app.TestClient",
"signature": "<bound method Alias.signature of Alias('TestClient', 'fastapi.testclient.TestClient')>",
"docstring": null
},
"app": {
"name": "app",
"kind": "alias",
"path": "openapi_first.templates.model_app.test_model_app.app",
"signature": "<bound method Alias.signature of Alias('app', 'main.app')>",
"docstring": null
},
"load_openapi": {
"name": "load_openapi",
"kind": "function",
"path": "openapi_first.templates.model_app.test_model_app.load_openapi",
"signature": "<bound method Alias.signature of Alias('load_openapi', 'openapi_first.loader.load_openapi')>",
"docstring": "Load and validate an OpenAPI 3.x specification from disk.\n\nArgs:\n path (str | Path):\n Filesystem path to an OpenAPI specification file. Supported extensions: .json, .yaml, .yml.\n\nReturns:\n dict[str, Any]:\n Parsed and validated OpenAPI specification.\n\nRaises:\n OpenAPISpecLoadError:\n If the file does not exist, cannot be parsed, or fails OpenAPI schema validation.\n\nNotes:\n **Guarantees:**\n\n - The specification is parsed based on file extension and validated using a strict OpenAPI schema validator\n - Any error results in an immediate exception, preventing application startup"
},
"OpenAPIClient": {
"name": "OpenAPIClient",
"kind": "class",
"path": "openapi_first.templates.model_app.test_model_app.OpenAPIClient",
"signature": "<bound method Alias.signature of Alias('OpenAPIClient', 'openapi_first.client.OpenAPIClient')>",
"docstring": "OpenAPI-first HTTP client (httpx-based).\n\nNotes:\n **Responsibilities:**\n\n - This client derives all callable methods directly from an OpenAPI 3.x specification. Each operationId becomes a method on the client instance.\n\n **Guarantees:**\n\n - One callable per operationId\n - Explicit parameters (path, query, headers, body)\n - No implicit schema inference or mutation\n - Returns raw `httpx.Response` objects\n - No response validation or deserialization\n\nExample:\n ```python\n from openapi_first import loader, client\n\n spec = loader.load_openapi(\"openapi.yaml\")\n\n api = client.OpenAPIClient(\n spec=spec,\n base_url=\"http://localhost:8000\",\n )\n\n # Call operationId: getUser\n response = api.getUser(\n path_params={\"user_id\": 123}\n )\n\n print(response.status_code)\n print(response.json())\n ```",
"members": {
"spec": {
"name": "spec",
"kind": "attribute",
"path": "openapi_first.templates.model_app.test_model_app.OpenAPIClient.spec",
"signature": "<bound method Alias.signature of Alias('spec', 'openapi_first.client.OpenAPIClient.spec')>",
"docstring": null
},
"base_url": {
"name": "base_url",
"kind": "attribute",
"path": "openapi_first.templates.model_app.test_model_app.OpenAPIClient.base_url",
"signature": "<bound method Alias.signature of Alias('base_url', 'openapi_first.client.OpenAPIClient.base_url')>",
"docstring": null
},
"client": {
"name": "client",
"kind": "attribute",
"path": "openapi_first.templates.model_app.test_model_app.OpenAPIClient.client",
"signature": "<bound method Alias.signature of Alias('client', 'openapi_first.client.OpenAPIClient.client')>",
"docstring": null
},
"operations": {
"name": "operations",
"kind": "function",
"path": "openapi_first.templates.model_app.test_model_app.OpenAPIClient.operations",
"signature": "<bound method Alias.signature of Alias('operations', 'openapi_first.client.OpenAPIClient.operations')>",
"docstring": null
}
}
},
"client": {
"name": "client",
"kind": "attribute",
"path": "openapi_first.templates.model_app.test_model_app.client",
"signature": null,
"docstring": null
},
"spec": {
"name": "spec",
"kind": "attribute",
"path": "openapi_first.templates.model_app.test_model_app.spec",
"signature": null,
"docstring": null
},
"test_list_items_initial": {
"name": "test_list_items_initial",
"kind": "function",
"path": "openapi_first.templates.model_app.test_model_app.test_list_items_initial",
"signature": "<bound method Function.signature of Function('test_list_items_initial', 37, 48)>",
"docstring": "Initial items should be present."
},
"test_get_item": {
"name": "test_get_item",
"kind": "function",
"path": "openapi_first.templates.model_app.test_model_app.test_get_item",
"signature": "<bound method Function.signature of Function('test_get_item', 51, 61)>",
"docstring": "Existing item should be retrievable by ID."
},
"test_create_item": {
"name": "test_create_item",
"kind": "function",
"path": "openapi_first.templates.model_app.test_model_app.test_create_item",
"signature": "<bound method Function.signature of Function('test_create_item', 64, 84)>",
"docstring": "Creating a new item should return the created entity."
},
"test_update_item": {
"name": "test_update_item",
"kind": "function",
"path": "openapi_first.templates.model_app.test_model_app.test_update_item",
"signature": "<bound method Function.signature of Function('test_update_item', 87, 111)>",
"docstring": "Updating an item should replace its values."
},
"test_delete_item": {
"name": "test_delete_item",
"kind": "function",
"path": "openapi_first.templates.model_app.test_model_app.test_delete_item",
"signature": "<bound method Function.signature of Function('test_delete_item', 114, 124)>",
"docstring": "Deleting an item should remove it from the store."
}
}
}
}