{ "module": "openapi_first.templates.vet_app.test_vet_app", "content": { "path": "openapi_first.templates.vet_app.test_vet_app", "docstring": "End-to-end tests for the OpenAPI-first Veterinary Clinic example app.\n\nThese tests validate that all CRUD operations behave correctly\nagainst the in-memory mock data store using Pydantic models.", "objects": { "TestClient": { "name": "TestClient", "kind": "alias", "path": "openapi_first.templates.vet_app.test_vet_app.TestClient", "signature": "", "docstring": null }, "app": { "name": "app", "kind": "alias", "path": "openapi_first.templates.vet_app.test_vet_app.app", "signature": "", "docstring": null }, "load_openapi": { "name": "load_openapi", "kind": "function", "path": "openapi_first.templates.vet_app.test_vet_app.load_openapi", "signature": "", "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\n 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\n schema validation.\n\nNotes:\n **Guarantees:**\n\n - The specification is parsed based on file extension and validated\n using a strict OpenAPI schema validator.\n - Any error results in an immediate exception, preventing\n application startup." }, "OpenAPIClient": { "name": "OpenAPIClient", "kind": "class", "path": "openapi_first.templates.vet_app.test_vet_app.OpenAPIClient", "signature": "", "docstring": "OpenAPI-first HTTP client (`httpx`-based).\n\nNotes:\n **Responsibilities:**\n\n - This client derives all callable methods directly from an\n OpenAPI 3.x specification. Each `operationId` becomes a method\n 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.vet_app.test_vet_app.OpenAPIClient.spec", "signature": "", "docstring": null }, "base_url": { "name": "base_url", "kind": "attribute", "path": "openapi_first.templates.vet_app.test_vet_app.OpenAPIClient.base_url", "signature": "", "docstring": null }, "client": { "name": "client", "kind": "attribute", "path": "openapi_first.templates.vet_app.test_vet_app.OpenAPIClient.client", "signature": "", "docstring": null }, "operations": { "name": "operations", "kind": "function", "path": "openapi_first.templates.vet_app.test_vet_app.OpenAPIClient.operations", "signature": "", "docstring": null } } }, "test_client": { "name": "test_client", "kind": "attribute", "path": "openapi_first.templates.vet_app.test_vet_app.test_client", "signature": null, "docstring": null }, "spec": { "name": "spec", "kind": "attribute", "path": "openapi_first.templates.vet_app.test_vet_app.spec", "signature": null, "docstring": null }, "client": { "name": "client", "kind": "attribute", "path": "openapi_first.templates.vet_app.test_vet_app.client", "signature": null, "docstring": null }, "test_list_parents": { "name": "test_list_parents", "kind": "function", "path": "openapi_first.templates.vet_app.test_vet_app.test_list_parents", "signature": "", "docstring": "List parents returns paginated response." }, "test_create_parent": { "name": "test_create_parent", "kind": "function", "path": "openapi_first.templates.vet_app.test_vet_app.test_create_parent", "signature": "", "docstring": "Creating a parent returns 201 with the created entity." }, "test_get_parent": { "name": "test_get_parent", "kind": "function", "path": "openapi_first.templates.vet_app.test_vet_app.test_get_parent", "signature": "", "docstring": "Get parent by ID returns the entity." }, "test_update_parent": { "name": "test_update_parent", "kind": "function", "path": "openapi_first.templates.vet_app.test_vet_app.test_update_parent", "signature": "", "docstring": "Update parent replaces its values." }, "test_delete_parent": { "name": "test_delete_parent", "kind": "function", "path": "openapi_first.templates.vet_app.test_vet_app.test_delete_parent", "signature": "", "docstring": "Delete parent returns 204 and removes the entity." }, "test_list_vets": { "name": "test_list_vets", "kind": "function", "path": "openapi_first.templates.vet_app.test_vet_app.test_list_vets", "signature": "", "docstring": "List vets returns paginated response." }, "test_create_vet": { "name": "test_create_vet", "kind": "function", "path": "openapi_first.templates.vet_app.test_vet_app.test_create_vet", "signature": "", "docstring": "Creating a vet returns 201." }, "test_list_treatments": { "name": "test_list_treatments", "kind": "function", "path": "openapi_first.templates.vet_app.test_vet_app.test_list_treatments", "signature": "", "docstring": "List treatments returns an array." }, "test_create_treatment": { "name": "test_create_treatment", "kind": "function", "path": "openapi_first.templates.vet_app.test_vet_app.test_create_treatment", "signature": "", "docstring": "Creating a treatment returns 201." }, "test_create_pet": { "name": "test_create_pet", "kind": "function", "path": "openapi_first.templates.vet_app.test_vet_app.test_create_pet", "signature": "", "docstring": "Creating a pet links FK references." }, "test_upload_pet_photo": { "name": "test_upload_pet_photo", "kind": "function", "path": "openapi_first.templates.vet_app.test_vet_app.test_upload_pet_photo", "signature": "", "docstring": "Upload pet photo returns 200." }, "test_list_appointments": { "name": "test_list_appointments", "kind": "function", "path": "openapi_first.templates.vet_app.test_vet_app.test_list_appointments", "signature": "", "docstring": "List appointments returns paginated response with filter params." }, "test_full_appointment_lifecycle": { "name": "test_full_appointment_lifecycle", "kind": "function", "path": "openapi_first.templates.vet_app.test_vet_app.test_full_appointment_lifecycle", "signature": "", "docstring": "Create a parent, vet, treatment, pet, then an appointment." } } } }