* Generates delete_coffee endpoint
* Adds test of delete_coffee
* Removes .run files
* Fixes bug and adds test
* Reverts version file
* Reverts function sig
* Removes comma
* Adds UUID to python-exp, allows uuid models to be generated
* Adds test_UUIDString uuid model test
* Fixes uuid properties in python-exp, changes maps to object data type, adds uuid data type
* Adds maps data type back in
* Adds missing Null and AnyType definitions and adds them to python-experimental
* Generator docs updated, added missing uuid, null, anytype, and object
* Adds uuid support description
* Docs updated
* Adds issue spec file and attemts to generate code from it
* Adds missing schema definitions
* Skips fromProperty invocation if the passed in schema is none in getContent
* Makes MediaType.schema optional
* Adds checking that the content type is in self.content
* Sets ApiResponse body type as Unset if there is no schema for it
* Handles schema = None case
* Adds endpoint without response schema
* Reverts version files
* Adds test_response_without_schema
* Adds code to detect json content type when charset is also set
* Updates template to properly render content type, regenerates samples
* Adds test_json_with_charset
* Reverts version file
* Fixes typo
* Adds component with composition in property example
* Adds endpoint parameter examples
* Adds request body examples
* Adds inpline composition example in response body
* Fixes UNKNOWNBASETYPE import bug
* Updates allof inline schemas to be type object with minProperties
* Removes newline
* Adds test_ObjectWithInlineCompositionProperty
* Updates inline schema to be type string, adds partial test_inline_composition
* Fixes accept_content_types input value
* Adds test_ObjectWithInlineCompositionProperty, adds test_inline_composition and starts deserialization of multipart
* Fixes test_inline_composition, adds simple multipat/form-data deserialization
* Adds generatorLanguageVersion and uses it in python generators
* Regenerates docs
* Adds stability to generator docs
* Triple braces generatorLanguageVersion
* Regenerates samples
* Fixes the python-experimental setup.py file so it works with generatorLanguageVersion
* Updates generators readme
* python->python-legacy, python-experimental->python
* test with openjdk8
* test with openjdk11
* comment out rm
* move kotlin tests to circleci
* move kotlin tests
* move tests to circleci
* fix circleci
* rearrange test
* move tests
* use wrapper
Co-authored-by: Justin Black <justin.a.black@gmail.com>
* Adds free form model generation in python-experimental
* Adds hasValidation property to codegenModel
* Adds separate variable val
* Samples regenerated
* Updates test_some_object.py
* Adds two more boolean conditions
* Runs ensure up to date
* Updates tests to check that models are or are not generated
* Removes unused import
* Updates model names in java test
* Removes unneeded test
* Cleans up tests
* Adds example setting code in python-experimental with one fn setting example values
Fixes sample indentations
Handles composed schema models, object model and arraymodels
Adds brackets in arraymodel input
Sets modelName with map schemas
Removes included_schemas arguments, dicriminator examples do not include property examples
Refactors modelName into toExampleValueRecursive argument
Fixes bug where example models contained themselves
Stops using model ExampleGenerator examples because they are inconsistent with the ones in python-experimental
Uses example values if they exist
Removes single quotes from enum examples
Fixes password example
Adds commented our regex handling, commented out because it breaks
Handles AnyType schema examples
Adds x_example values for simple string properties, uses toExampleValue for all example generation
Adds examples for simple string parameters
Updates comments in toExampleValueBase
Fixes the double nested bug for AdditionalPropertiesWithArrayOfEnums
Fixes bug where NumberWithValidations had double nesting
Updates simple string examples in arrays
Fixes array string examples
Fixes example for string endpoint body example
Adds exampleFromStringOrArraySchema
Adds regex examples, pegs slf4j-version to v1.7.29 for rgxgen
Adds comment about regex seed
Updates pattern matcher to not handle ^ and $
Updates used sample values
Adds ensureQuotes
Adds ensureQuotes
Fixes double quote bug
Updates mustache file
Adds ensureQuotes to key handling
Adds modelNameToSchema map, reduces run time by using it
Fixes java tests
Regenerates python-experimental samples
Fixes python test
* Rebased on master
* Adds getModelNameToSchemaCache
* Updates toDefaultValue to not mutate schemas
* Has all dates and datetimes default and example setting use the same helper function
* Samples regenerated
* indentation tweak, removes txt from sample file
* Requires python >= 3.5, adds type hints to call_api method
* Adds type hints to files_parameters and __call_api
* Adds and uses a new json encoded to prepare data before it is sent
* Removes nose name from gitlab testing invocations
* Also updates travis to py>=3.5
* Collapses encoder back into sanitize_for_serialization
* Removes future from python-exp v3 sample
* Removes future from python-exp v2 sample
* Deletes future from remaining python-exp files
* Removes six from python-exp templates
* Removes six from python-exp samples
* Removes mock from python-exp
* Python-exp switched to py3
* Removes python 2.7 for python-exp ci testing
* Requires python>=3.3 for python-exp
* Reverts unnecessary changes to two templates
* [python] Support named arrays
* Fix named array type
* Use ModelSimple
* Reset samples
* Regenerated
* Animal farm test
* Array of enums
* Clean-up
* Clean-up
* Clean-up
* Fix array type generation
* simplify
* array model is not alias
* Array model has one value field
* ensure up-to-date
* ./bin/utils/ensure-up-to-date --batch
* Solve issue with missing import for array model
* regenerate
* Updates comments in new method
* Adds missing line in model_utils.py
* Removes biology examples, adds ParentPet ancestor example + test, adds Pig schemas
* Updates comment and var names in get_discriminator_class, adds testMammal test
* Updates comment
* Handle null type
* Handle null type
* Handle null type. Add 'null' type in the OAS document for testing purpose
* Handle null type. Add 'null' type in the OAS document for testing purpose
* Handle null type. Add 'null' type in the OAS document for testing purpose
* Handle null type. Add 'null' type in the OAS document for testing purpose
* Handle null type. Add 'null' type in the OAS document for testing purpose
* Handle null type. Add 'null' type in the OAS document for testing purpose
* improve documentation
* Handle 'null' type
* Handle 'null' type. Add unit tests
* Add NullType for go
* Add NullType for go
* fix modeling of AnyType for go-experimental
* execute scripts in bin directory
* Add review comments
* Add 'null' type in oneOf
* Improve OAS YAML file for golang openapi3 samples
* 'Any type' includes the null value, so 'isNullable' should be set to TRUE
* 'Any type' includes the null value, so 'isNullable' should be set to TRUE
* Handle AnyType and NullType
* handle anytype for go-experimental
* Log warning instead of error
* anyOf/oneOf
* Change x-golang-is-container extension to x-golang-has-wrapper
* Add code comments
* Handle Object and any type
* Handle Object and any type
* Handle object and any type
* add code comments
* handle additional properties
* handle additional properties
* handle additional properties
* handle anytype and objecttype for go-exerimental
* Move golang changes to a separate branch
* Move golang changes to a separate branch
* Better names for the OAS document test properties
* Move golang changes to a separate branch
* Run samples scripts
* Run samples scripts
* fix unit test issues
* Handle none type
* Fix index out of range exception
* fix formatting issues
* fix formatting issues
* fix formatting issues. Finally figured out how to check formatting in local workspace
* fix formatting issues
* Add reference to oneOf schema
* Add model showing unit test failure with ref to oneOf schema
* Updates get_discriminator_class to return visited_composed_classes
* Fixes broken test, adds is_valid_type
* run samples scripts
* move unit test to test_drawing.py file
* Add more unit tests
* invoke git pull from spacether fork
* invoke git pull from spacether fork
* Improve unit tests
* Add is_nullable_type util function
* Add unit test for null value
* Add 'ShapeOrNull' type to handle the oneOf/anyOf scenario when the child schema is the null type
* Support schema property which has to 'oneOf' schema and child schema is null type
* Support schema property which has to 'oneOf' schema and child schema is null type
* Support schema property which has to 'oneOf' schema and child schema is null type
* Mustache template should use invokerPackage tag to generate import
* handle null type in oneOf/anyOf
* handle null type in oneOf/anyOf
* Add more unit test for nullable shape
* resolve merge conflicts
* resolve merge conflicts
* handle null type in oneOf/anyOf
Co-authored-by: Justin Black <justin.a.black@gmail.com>
* Add reference to oneOf schema
* Add model showing unit test failure with ref to oneOf schema
* Updates get_discriminator_class to return visited_composed_classes
* Fixes broken test, adds is_valid_type
* move unit test to test_drawing.py file
* Add more unit tests
* invoke git pull from spacether fork
* invoke git pull from spacether fork
* Improve unit tests
Co-authored-by: Justin Black <justin.a.black@gmail.com>
* Adds addComposedMappedModels and testComposedSchemaOneOfDiscriminatorMap
* Requires that discriminators be required properties
* Strengthens discriminaotr validation, adds better error messages, adds schema oneof samples
* Adds oneOf and anyOf invalidDiscriminator tests
* Runs ensure up to date
* Updates incorrect addOneOfInterfaceModel invocation
* Runs ensure-up-to-date
* Fix NPE when at least one extension is defined but not x-discriminator-value
* Adds addComposedMappedModels and testComposedSchemaOneOfDiscriminatorMap
* Requires that discriminators be required properties
* Strengthens discriminaotr validation, adds better error messages, adds schema oneof samples
* Adds oneOf and anyOf invalidDiscriminator tests
* Updates incorrect addOneOfInterfaceModel invocation
* Runs ensure-up-to-date
* Adds updates from Sebastien Rosset
* Removes newlines
* Add documentation and new getValidDiscriminatorMappings function
* Add documentation and new getValidDiscriminatorMappings function
* Add documentation and new getValidDiscriminatorMappings function
* Add documentation and new getValidDiscriminatorMappings function
* Add documentation and new getValidDiscriminatorMappings function
* Add documentation and new getValidDiscriminatorMappings function
* throw exception if discriminator mappingName argument is null
* handle scenario when composed schema has 'null' type
* remove extraneous characters in comments
* Uses df.isString
* Traverse discriminators to resolve discriminator mapping
* Fixes tests be correctly setting df.isString
* Remove unused method
* Updates discriminatorExplicitMappingVerbose description per PR feedback
* Adds description of how mappedModels is populated
* Adds the suggestion exception raising when a MappedModel mappingName is null
* Actually resolves merge conflicts
* Adds addComposedMappedModels and testComposedSchemaOneOfDiscriminatorMap
* Requires that discriminators be required properties
* Strengthens discriminaotr validation, adds better error messages, adds schema oneof samples
* Adds oneOf and anyOf invalidDiscriminator tests
* Updates incorrect addOneOfInterfaceModel invocation
* Runs ensure-up-to-date
* Adds updates from Sebastien Rosset
* Removes newlines
* Uses df.isString
* Fixes tests be correctly setting df.isString
* Updates discriminatorExplicitMappingVerbose description per PR feedback
* Adds description of how mappedModels is populated
* Adds the suggestion exception raising when a MappedModel mappingName is null
* Actually resolves merge conflicts
* Switches two methods to package private because they are needed for testing
* Allow nulls in MappedModel.getMappingName
* Remove exception when mappingName is null value
* Remove exception when mappingName is null value
* resolve merge conflicts
* resolve merge conflicts
* Execute scripts in the bin directory
* Fix CI issues and address PR review comments: better documentation and fix white space issues.
* Fix CI issues and address PR review comments: better documentation and fix white space issues.
* run sample scripts
* resolve merge conflicts
* fix end-of-line issue
* resolve merge conflicts
* resolve merge issues
* Handle case when discriminator is not specified in input data
* minor changes and add code comments
* Refactor get_discriminator code
* Add unit test with missing discriminator property
* improve get_discriminator function
* Run sample scripts
* add unit tests for recursive get_discriminator_class
* fix unit test issues
* fix formatting issues
* fix formatting issues
* fix formatting issues
* fix index out of range exception
* fix formatting issues
* fix formatting issues
* fix formatting issues. Finally figured out how to check formatting in local workspace
Co-authored-by: Justin Black <justin.a.black@gmail.com>
Co-authored-by: William Cheng <wing328hk@gmail.com>
* Adds oneOf + anyOf schemas, models and tests to python-experimental
* Adds setUpClass and tearDownClass
* Removes newline in method_init_shared.mustache
* Regenerated v3 spec sample for python-experimental
* Fxes test for discard_unknown_keys
* Moves new models into existing spec, regen python-exp and go-exp
* Also fix python-exp windows file
* add discard_unknown_key parameter
* add discard_unknown_key parameter
* add discard_unknown_key parameter
* discard unknown keys in composed schema if configuration.discard_unknown_keys is set
* discard unknown keys in composed schema if configuration.discard_unknown_keys is set
* discard unknown keys in composed schema if configuration.discard_unknown_keys is set
* discard unknown keys in composed schema if configuration.discard_unknown_keys is set
* discard unknown keys in composed schema if configuration.discard_unknown_keys is set
* discard unknown keys in composed schema if configuration.discard_unknown_keys is set
* discard unknown keys in composed schema if configuration.discard_unknown_keys is set
* discard unknown keys in composed schema if configuration.discard_unknown_keys is set
* discard unknown keys in composed schema if configuration.discard_unknown_keys is set
* discard unknown keys in composed schema if configuration.discard_unknown_keys is set
* discard unknown keys in composed schema if configuration.discard_unknown_keys is set
* discard unknown keys in composed schema if configuration.discard_unknown_keys is set
* discard unknown keys in composed schema if configuration.discard_unknown_keys is set
* discard unknown keys in composed schema if configuration.discard_unknown_keys is set
* discard unknown keys in composed schema if configuration.discard_unknown_keys is set
* discard unknown keys in composed schema if configuration.discard_unknown_keys is set
* discard unknown keys in composed schema if configuration.discard_unknown_keys is set
* discard unknown keys in composed schema if configuration.discard_unknown_keys is set
* discard unknown keys in composed schema if configuration.discard_unknown_keys is set
* discard unknown keys in composed schema if configuration.discard_unknown_keys is set
* discard unknown keys in composed schema if configuration.discard_unknown_keys is set
* discard unknown keys in composed schema if configuration.discard_unknown_keys is set
* discard unknown keys in composed schema if configuration.discard_unknown_keys is set
* discard unknown keys in composed schema if configuration.discard_unknown_keys is set
* run sample scripts for python
* code reformatting
* execute script in bin directory
* improve unit tests for discarding properties
* [python] Cleanup ThreadPool with atexit rather than __del__
This removes the `__del__` function from the generated Python client,
and replaces it with a `cleanup` function. When a ThreadPool is created,
the cleanup function is registered with the `atexit` module.
This fixes#5093, where the API client could hang indefinitely at
garbage collection.
* Update petstore examples
* Test to ensure threadpool is cleaned up
* Docs now encourage using the context manager
* Regenerate docs
* Update samples
* start implementation of HTTP signature
* add api key parameters for http message signature
* HTTP signature authentication
* start implementation of HTTP signature
* add api key parameters for http message signature
* HTTP signature authentication
* HTTP signature authentication
* start implementation of HTTP signature
* fix merge issues
* Address formatting issues
* Address formatting issues
* move python-experimental-openapiv3-sample to a separate PR
* Add support for HTTP signature
* Add code comments
* Add code comments
* Fix formatting issues
* Fix formatting issues
* Fix formatting issues
* add code comments
* add code comments
* fix python formatting issues
* Make PKCS1v15 string constant consistent between Python and Golang
* fix python formatting issues
* Add code comments in generated Python. Start adding unit tests for HTTP signature
* compliance with HTTP signature draft 12
* compliance with HTTP signature draft 12
* working on review comments
* working on review comments
* working on review comments
* working on review comments
* working on review comments
* working on review comments
* working on review comments
* working on review comments
* working on review comments
* fix python formatting issues
* fix trailing white space
* address PR comments
* address PR comments
* address PR comments
* Add suppport for '(expires)' signature parameter
* address PR comments
* address PR comments
* Fix python formatting issues
* Fix python formatting issues
* Starting to move code to dedicated file for HTTP signatures
* Continue to refactor code to dedicated file for HTTP signatures
* Continue to refactor code to dedicated file for HTTP signatures
* Continue to refactor code to dedicated file for HTTP signatures
* Continue to refactor code to dedicated file for HTTP signatures
* move method to ProcessUtils
* conditionally build signing.py
* move method to ProcessUtils
* Code reformatting
* externalize http signature configuration
* address PR review comments
* address PR review comments
* run samples scripts
* Address PR review comments
* Move 'private_key' field to signing module
* Move 'private_key' field to signing module
* code cleanup
* remove use of strftime('%s'), which is non portable
* code cleanup
* code cleanup
* code cleanup
* run sample scripts
* Address PR review comments.
* Add http-signature security scheme
* Run sample scripts for go
* Fix issue uncovered in integration branch
* Fix issue uncovered in integration branch
* Fix issue uncovered in integration branch
* Fix issue uncovered in integration branch
* Run samples scripts
* move http signature tests to separate file
* move http signature tests to separate file
* unit tests for HTTP signature
* continue implementation of unit tests
* add http_signature_test to security scheme
* add unit tests for http signature
* address review comments
* remove http signature from petapi
* Add separate OAS file with support for HTTP signature
* Add support for private key passphrase. Add more unit tests
* Add unit test to validate the signature against the public key
* remove http signature from petstore-with-fake-endpoints-models-for-testing.yaml
* fix unit test issues
* run scripts in bin directory
* Refact unit test with better variable names
* do not throw exception if security scheme is unrecognized
* change URL of apache license to use https
* sync from master
* fix usage of escape character in python regex. Fix generated python documentation
* write HTTP signed headers in user-specified order. Fix PEP8 formatting issues
* write HTTP signed headers in user-specified order. Fix PEP8 formatting issues
* http signature unit tests
* Fix PEP8 format issue
* spread out each requirement to a separate line
* run samples scripts
* run sample scripts
* remove encoding of '+' character