Sebastien Rosset f7f41410e7
[codegen][python-experimental] Composed schema with additionalProperties (#6290)
* Mustache template should use invokerPackage tag to generate import

* Add a unit test for allOf and additionalProperties

* Fix getAdditionalProperties

* Add code comments

* Add code comments

* set nullable for additionalproperties

* add variants of additionalProperties

* Add more unit tests

* Handle additionalProperties for composed schemas

* improve code comments

* Add code comments

* Add code comments

* Add code comments

* Add code comments

* Add code comments

* Add assertions in unit tests

* Add new property to support the 'additionalProperties' keyword with composed schemas

* run sample scripts

* fix unit tests to handle additionalProperties

* Handle additional properties and composed schema

* Handle additional properties and composed schema

* Add support for additionalProperties and composed schema

* Format java code

* Add more unit tests for Python

* Handle reference in additionalProperty keyword

* Handle reference in additionalProperty keyword

* Add use case for additionalProperties and reference

* run sample scripts

* resolve schema reference

* Add OpenAPI argument

* Add OpenAPI argument

* Add OpenAPI argument

* Add OpenAPI argument

* Add OpenAPI argument

* Handle additional property keyword with reference

* Handle additional property keyword with reference

* Handle additional property keyword with reference

* Handle additional property keyword with reference

* add additionalproperties attribute with boolean values

* Run sample scripts

* handle additional properties

* Handle additionalProperties boolean values

* Run sample scripts

* fix javadoc issues

* fix javadoc issues

* Add Locale to String.toLowerCase

* execute sample scripts

* handle additional properties

* Add code comments

* Handle imports of referenced models in additional properties

* Handle isNullable class

* handle nullable type

* improve documentation, run sample scripts

* improve documentation, run sample scripts

* execute sample scripts

* execute sample scripts

* Execute sample scripts

* Run samples scripts

* set legacyAdditionalPropertiesBehavior to true by default, except python

* create separate yaml file to avoid having lots of changes in the pr

* create separate yaml file to avoid having lots of changes in the pr

* create separate yaml file to avoid having lots of changes in the pr

* create separate yaml file to avoid having lots of changes in the pr

* create separate yaml file to avoid having lots of changes in the pr

* create separate yaml file to avoid having lots of changes in the pr

* Change name of CLI option

* Generate doc

* Add TODO statement

* add code comments

* run samples scripts

* run sample scripts

* run sample scripts

* run sample scripts

* run sample scripts

* run sample scripts

* run sample scripts

* run sample scripts

* run sample scripts

* run sample scripts

* run sample scripts

* run sample scripts

* refactor cli option for additional properties

* refactor cli option for additional properties

* run samples scripts

* run sample scripts

* run sample scripts

* run sample scripts

* run sample scripts

* Add yaml comments

* small refactor

* small refactor

* run sample scripts

* run sample scripts

* fix unit tests

* Set disallowAdditionalPropertiesIfNotPresent flag

* reduced size of test yaml file

* simplify code and add imports directly

* rename some of the properties used in tests

* Handle more scenarios for nullable types

* add code comments

* Adds *args input to __init__ method to fix test testFruitNullValue

* Resolve merge issues

* run samples scripts

* run doc generator

* fix merge conflicts

Co-authored-by: Justin Black <justin.a.black@gmail.com>
2020-05-29 00:40:48 +08: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.PythonClientExperimentalCodegen

Requirements.

Python 2.7 and 3.4+

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:

from __future__ import print_function
import datetime
import time
import petstore_api
from pprint import pprint

# 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 = petstore_api.AnotherFakeApi(api_client)
    client_client = petstore_api.Client() # client.Client | client model

    try:
        # To test special tags
        api_response = api_instance.call_123_test_special_tags(client_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 fake_health_get GET /fake/health Health check endpoint
FakeApi fake_outer_boolean_serialize POST /fake/outer/boolean
FakeApi fake_outer_composite_serialize POST /fake/outer/composite
FakeApi fake_outer_number_serialize POST /fake/outer/number
FakeApi fake_outer_string_serialize POST /fake/outer/string
FakeApi test_body_with_file_schema PUT /fake/body-with-file-schema
FakeApi test_body_with_query_params PUT /fake/body-with-query-params
FakeApi test_client_model PATCH /fake To test &quot;client&quot; model
FakeApi test_endpoint_parameters POST /fake Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트
FakeApi test_enum_parameters GET /fake To test enum parameters
FakeApi test_group_parameters DELETE /fake Fake endpoint to test group parameters (optional)
FakeApi test_inline_additional_properties POST /fake/inline-additionalProperties test inline additionalProperties
FakeApi test_json_form_data GET /fake/jsonFormData test json serialization of form data
FakeApi test_query_parameter_collection_format PUT /fake/test-query-paramters
FakeClassnameTags123Api test_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 POST /pet/{petId}/uploadImage uploads an image
PetApi upload_file_with_required_file POST /fake/{petId}/uploadImageWithRequiredFile uploads an image (required)
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

petstore_auth

Author