Justin Black 9610a81a13
Adds requiredVarsMap (#13117)
* Adds requiredVarsMap

* Fixes imports

* Adds requiredVarsMap to CodegenParameter

* Updates CodegenResponse

* Adds feature to codegenModel

* Fixes codegenProperty

* Switches to getRequiredVarsMap

* Uses curly braces for set definition

* Added blocked examples back n to test spec now that the required bug is fixed

* Sample regenerated

* Handles escaping required property names

* Fixes CI tests

* Samples regenerated

* Samples regnerated

* Fixes test
2022-08-08 09:47:43 -07:00
..
2022-08-08 09:47:43 -07:00

petstore-api

This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: " \

This Python package is automatically generated by the OpenAPI Generator project:

  • API version: 1.0.0
  • Package version: 1.0.0
  • Build package: org.openapitools.codegen.languages.PythonExperimentalClientCodegen

Requirements.

Python >=3.9 v3.9 is needed so one can combine classmethod and property decorators to define object schema properties as classes

Installation & Usage

pip install

If the python package is hosted on a repository, you can install directly using:

pip install git+https://github.com/GIT_USER_ID/GIT_REPO_ID.git

(you may need to run pip with root permission: sudo pip install git+https://github.com/GIT_USER_ID/GIT_REPO_ID.git)

Then import the package:

import petstore_api

Setuptools

Install via Setuptools.

python setup.py install --user

(or sudo python setup.py install to install the package for all users)

Then import the package:

import petstore_api

Getting Started

Please follow the installation procedure and then run the following:

import datetimeimport datetimeimport datetimeimport datetimeimport datetimeimport datetimeimport datetime
import time
import petstore_api
from pprint import pprint
from petstore_api.apis import another_fake_api
from petstore_api.model.client import Client
# Defining the host is optional and defaults to http://petstore.swagger.io:80/v2
# See configuration.py for a list of all supported configuration parameters.
configuration = petstore_api.Configuration(
    host = "http://petstore.swagger.io:80/v2"
)


# Enter a context with an instance of the API client
with petstore_api.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = another_fake_api.AnotherFakeApi(api_client)
    client = Client(
        client="client_example",
    ) # Client | client model

    try:
        # To test special tags
        api_response = api_instance.call_123_test_special_tags(client)
        pprint(api_response)
    except petstore_api.ApiException as e:
        print("Exception when calling AnotherFakeApi->call_123_test_special_tags: %s\n" % e)

Documentation for API Endpoints

All URIs are relative to http://petstore.swagger.io:80/v2

Class Method HTTP request Description
AnotherFakeApi call_123_test_special_tags patch /another-fake/dummy To test special tags
DefaultApi foo_get get /foo
FakeApi additional_properties_with_array_of_enums get /fake/additional-properties-with-array-of-enums Additional Properties with Array of Enums
FakeApi array_model post /fake/refs/arraymodel
FakeApi array_of_enums post /fake/refs/array-of-enums Array of Enums
FakeApi body_with_file_schema put /fake/body-with-file-schema
FakeApi body_with_query_params put /fake/body-with-query-params
FakeApi boolean post /fake/refs/boolean
FakeApi case_sensitive_params put /fake/case-sensitive-params
FakeApi client_model patch /fake To test "client" model
FakeApi composed_one_of_different_types post /fake/refs/composed_one_of_number_with_validations
FakeApi delete_coffee delete /fake/deleteCoffee/{id} Delete coffee
FakeApi endpoint_parameters post /fake Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트
FakeApi enum_parameters get /fake To test enum parameters
FakeApi fake_health_get get /fake/health Health check endpoint
FakeApi group_parameters delete /fake Fake endpoint to test group parameters (optional)
FakeApi inline_additional_properties post /fake/inline-additionalProperties test inline additionalProperties
FakeApi inline_composition post /fake/inlineComposition/ testing composed schemas at inline locations
FakeApi json_form_data get /fake/jsonFormData test json serialization of form data
FakeApi json_with_charset post /fake/jsonWithCharset json with charset tx and rx
FakeApi mammal post /fake/refs/mammal
FakeApi number_with_validations post /fake/refs/number
FakeApi object_in_query get /fake/objInQuery user list
FakeApi object_model_with_ref_props post /fake/refs/object_model_with_ref_props
FakeApi parameter_collisions post /fake/parameterCollisions/{1}/{aB}/{Ab}/{self}/{A-B}/ parameter collision case
FakeApi query_parameter_collection_format put /fake/test-query-paramters
FakeApi ref_object_in_query get /fake/refObjInQuery user list
FakeApi response_without_schema get /fake/responseWithoutSchema receives a response without schema
FakeApi string post /fake/refs/string
FakeApi string_enum post /fake/refs/enum
FakeApi upload_download_file post /fake/uploadDownloadFile uploads a file and downloads a file using application/octet-stream
FakeApi upload_file post /fake/uploadFile uploads a file using multipart/form-data
FakeApi upload_files post /fake/uploadFiles uploads files using multipart/form-data
FakeClassnameTags123Api classname patch /fake_classname_test To test class name in snake case
PetApi add_pet post /pet Add a new pet to the store
PetApi delete_pet delete /pet/{petId} Deletes a pet
PetApi find_pets_by_status get /pet/findByStatus Finds Pets by status
PetApi find_pets_by_tags get /pet/findByTags Finds Pets by tags
PetApi get_pet_by_id get /pet/{petId} Find pet by ID
PetApi update_pet put /pet Update an existing pet
PetApi update_pet_with_form post /pet/{petId} Updates a pet in the store with form data
PetApi upload_file_with_required_file post /fake/{petId}/uploadImageWithRequiredFile uploads an image (required)
PetApi upload_image post /pet/{petId}/uploadImage uploads an image
StoreApi delete_order delete /store/order/{order_id} Delete purchase order by ID
StoreApi get_inventory get /store/inventory Returns pet inventories by status
StoreApi get_order_by_id get /store/order/{order_id} Find purchase order by ID
StoreApi place_order post /store/order Place an order for a pet
UserApi create_user post /user Create user
UserApi create_users_with_array_input post /user/createWithArray Creates list of users with given input array
UserApi create_users_with_list_input post /user/createWithList Creates list of users with given input array
UserApi delete_user delete /user/{username} Delete user
UserApi get_user_by_name get /user/{username} Get user by user name
UserApi login_user get /user/login Logs user into the system
UserApi logout_user get /user/logout Logs out current logged in user session
UserApi update_user put /user/{username} Updated user

Documentation For Models

Documentation For Authorization

api_key

  • Type: API key
  • API key parameter name: api_key
  • Location: HTTP header

api_key_query

  • Type: API key
  • API key parameter name: api_key_query
  • Location: URL query string

bearer_test

  • Type: Bearer authentication (JWT)

http_basic_test

  • Type: HTTP basic authentication

http_signature_test

  • Type: HTTP signature authentication

Authentication schemes defined for the API:

petstore_auth

Author

Notes for Large OpenAPI documents

If the OpenAPI document is large, imports in petstore_api.apis and petstore_api.models may fail with a RecursionError indicating the maximum recursion limit has been exceeded. In that case, there are a couple of solutions:

Solution 1: Use specific imports for apis and models like:

  • from petstore_api.apis.default_api import DefaultApi
  • from petstore_api.model.pet import Pet

Solution 1: Before importing the package, adjust the maximum recursion limit as shown below:

import sys
sys.setrecursionlimit(1500)
import petstore_api
from petstore_api.apis import *
from petstore_api.models import *