1712 Commits

Author SHA1 Message Date
William Cheng
b88666b87a
add uuid test, better hyper test (#12916) 2022-07-19 11:22:29 +08:00
Justin Black
ca4a86ea55
Turns on json-schema python-exp anyOf + oneOf unit tests (#12864)
* Spec updated to anyof only

* All tests turned on

* Revert version file

* Adds oneOf tests also
2022-07-14 09:57:43 -07:00
Justin Black
01afbaecd8
[python-experimental] turns on allOf unit test cases (#12826)
* Spec regenerated with only allOf on

Sample regnerated

Fixes a bug where AnyType composed schemas omitted validations, Fixes a bug where properties in AnyType schemas were omitted, Stops storing multipleOf value in a list

Adds required variable info to AnyType classes

Samples regenerated

Turns all unit tests back on

* Samples regenerated

* Docs and models regenerated
2022-07-13 19:27:55 -07:00
Justin Black
c44fe8a04a
Fixes fromProperty when property is required vs optional (#12858)
* Adds required boolean to fromProperty

* Adds required to other method signatures

* pythn-exp sample regenerated

* Samples regenerated

* Adds java test of fix
2022-07-13 18:17:33 -07:00
William Cheng
60c5875091
Custom Content type: better message and added tests (#12841)
* add tests for custom mime types

* better message for custom mime type example handling

* minor code format change
2022-07-12 18:32:15 +08:00
Oleh Kurpiak
4bbfa01ba8
[Java] fix JsonCreator with JsonNullable (#12813) 2022-07-12 10:41:55 +08:00
William Cheng
20420e5e14
[R] add streaming support (#12821)
* add streaming option to r client

* support callback function to process data stream

* add stream test, minor bug fixes

* fix api client

* return void earlier if streaming, add tests
2022-07-11 00:19:07 +08:00
William Cheng
574f6f3192
fix tests (#12820) 2022-07-10 17:16:45 +08:00
William Cheng
82b7859c19
add tests for rust nullable required parameter (#12814) 2022-07-10 15:54:33 +08:00
William Cheng
9d6b12591e
Fix set, map import (#12818)
* fix set, map import

* update samples

* update tests
2022-07-10 14:58:55 +08:00
William Cheng
f242b5e1dd
Skip import of allOf composition schema (#12798)
* skip import of allOf composition schema

* update samples

* allow python generator to keep old behaviour

* update js import
2022-07-10 14:58:22 +08:00
thrykol
a1892b1636
feat(rust): allow more granular Rust integer types and cleaned up clippy warnings (#12479)
* feat(rust): support various Rust integer types (#2)

* fix: Use ROOT locale

* fix: unsigned int bounds were incorrect

* fix: deal with potential null value
2022-07-09 20:37:16 +08:00
Oleh Kurpiak
cfebd14c2b
Handle custom content type example (#12460) 2022-07-07 01:29:55 +08:00
Tom Bärwinkel
728c80abea
Add option to use custom a monad (#12618) 2022-07-07 01:13:06 +08:00
Oleh Kurpiak
d36dabaf77
[Java][microprofile] fix constructor creation (#12627) 2022-07-03 17:54:55 +08:00
William Cheng
2d3bfaf96d
Add schema mappings (#12600)
* add option schema mappings

* add schema mapping support, update tests

* minor fix

* update other generators, tests
2022-07-03 17:46:39 +08:00
William Cheng
f1dd44d70c
add tests for item with special characters (#12757) 2022-07-03 17:26:12 +08:00
Justin Black
6158274f65
Adds openapi v3.0.3 unit test spec, includes test cases, autogenerates model tests with them (#12619)
* Adds draft6 tests and python file reader

* Adds processing of multiple files

* Moves test examples into a different component so component schemas can be booleans

* Excludes boolean schema cases and some others that contain patternProperties

* Adds automatic test generation, template not quite working with indentation

* Turns on allOf tests, some failing

* Adds more generated components and tests

* Adds enum tests

* Turns on all of themissing tests

* Adds exclmax and min exclusion reasons

* Adds items test cases

* Adds maximum

* Adds maxItems

* Adds maxLength

* Adds maxProperties

* Adds minimum

* Adds minItems

* Adds minLength

* Adds minProperties

* Adds multipleOf

* Adds not

* Adds oneOf

* Adds pattern

* Adds patternProperties

* Working on properties examples, partial fix for escaped characters

* Further improves example string escaping

* Fixes properties test cases

* Adds draft6 test samples license

* Adds ref

* Finishes ref

* Adds remoteRef

* Adds required

* Improves required testing

* Fixes build error / javadoc warning

* Fixes uniqueItems bug in python-experimental

* Turns all tests back on

* Fixes 2 failing tests, all python tests pass

* Fixes java npe errors

* Fixes formatting of tests, indentation fixed

* Test fase name fixed to toTestCaseName, docstring added to ObjectWithTypeBooleans

* Fixes typo

* Adds test deletion to samples generation, samples regenerated

* Updates python-exp unit test sample, includes new ref examples
2022-07-01 13:46:02 -07:00
William Cheng
4cf58f5886
support enum integers in powershell client (#12752) 2022-07-01 13:52:47 +08:00
William Cheng
d0a0b822d6
[csharp-netcore] Add support for ComVisible, CLSCompliant attributes (#12733)
* add support for ComVisible, CLSCompliant attributes in csharp-netcore clients

* fix import
2022-07-01 13:51:29 +08:00
William Cheng
3feb11acbb
fix nested oneof, fix toStringJSON (#12723) 2022-06-28 23:43:56 +08:00
William Cheng
5cb66a8ab0
[R] Fix empty variable name, fix post process model (#12708)
* fix empty variable name, fix post process model

* fix empty base name
2022-06-27 19:26:51 +08:00
William Cheng
52452750c0 add test for anytype in cpp qt client 2022-06-25 10:05:01 +08:00
Eric Durand-Tremblay
c38d825a89
[BUG] Issue 10792 Kotlin generator produces invalid code when allOf is used (#12594)
* Step to reproduces

* Fix isMap detection for kotlin codegen

Co-authored-by: Eric Durand-Tremblay <etremblay@kronostechnologies.com>
2022-06-22 21:31:16 +01:00
Danni Stjernegård
b1ea0f3af3
[swift5] Make it possible to opt out of JSONEncodable conformance (#12664)
* Make it possible to opt out of JSONEncodable conformance

JSONEncodable is not a native type and does not exist if only models are generated.

* Match file indentation level
2022-06-22 17:22:14 +01:00
William Cheng
042f717352
[R] escape item reserved words in model items (#12653)
* fix item reserved words

* add comment

* add log
2022-06-21 11:42:27 +08:00
William Cheng
995f7ced13
Fix bugs in camelcase lambda, add tests for pascalcase (#12639)
* fix bugs in lambda, add tests for pascalcase

* add tests for empty string to confirm no npe
2022-06-20 17:01:19 +08:00
Oleh Kurpiak
7b108c2a10
handle wildcard sub content-type (#12469) 2022-06-19 23:20:57 +08:00
William Cheng
3143390d59
[java][okhttp-gson] Add streaming support in group parameters (#12601)
* add streaming support in group paramters

* add tests
2022-06-16 16:20:32 +08:00
Loïc Ledoyen
3ec15740f5
[JAVA][Feign] Remove camelCase naming for form parameters (#12587) 2022-06-15 15:50:07 +08:00
William Cheng
bd6617b3e7
Better null check for encoding (#12597)
* better null check for encoding

* add tests

* update samples
2022-06-15 15:49:30 +08:00
William Cheng
c2595335c3
[java] Add useSingleRequestParameter support (#12580)
* add useSingleRequestParameter support to java client

* trigger build failure

* trigger build failure

* Revert "trigger build failure"

This reverts commit 545e57ab8f3d943d9ad6ad114841a37d3b01a47b.

* Revert "trigger build failure"

This reverts commit 849f71f1f1a28659b0fd375986d7e66e9c6d04ac.

* update doc
2022-06-12 17:23:42 +08:00
William Cheng
ee9b9843db
Add new option to customize inline model naming convention (#12562)
* temp fix

* add support to customize inline schema naming convention

* Revert "temp fix"

This reverts commit e3bca56bfbb0032d382fe79cd2a8565f4aad630c.

* minor fix, add tests

* update description
2022-06-11 09:12:22 +08:00
William Cheng
4fbe1e9115
[R] add anyOf support (#12544)
* add anyOf support

* add anyOf support to r client generator
2022-06-07 10:05:34 +08:00
Daniel Karso
2c39835353
[PHP] Replace @ character so we can use Hydra Jsonld models. (#12171)
* Replace @ character so we can use Hydra Jsonld models. This fixes
duplicate @id id properties in models.

* Invalid test method

* Fix tests

* Fix tests 2

Co-authored-by: Daniel Karso <daniel.karso@worldstream.com>
2022-06-06 11:48:13 +08:00
William Cheng
6cd246931e
[R] add oneOf support (#12491)
* add oneof support

* add validateJson method

* add validteJSON and tests

* add tests, add oneOf logic

* better error message in validateJSON

* fix tests

* add test for error message

* remove unused code
2022-06-05 18:03:34 +08:00
William Cheng
f52ee28215
Fix NPE when generating examples for parameter (object) (#12538)
* fix NPE when generating examples for parameter (object)

* add new files
2022-06-05 16:19:37 +08:00
William Cheng
4d149e7b87 replace tabs with 4-space in SpringCodegenTest.java 2022-06-03 00:36:01 +08:00
WeihmannTNG
88e2490087
[Java/Spring] Fix of issue #12494: call to superclass method is done with correct arguments (#12496)
* [Java/Spring] add missing key parameter to put-item method call of super class (#12494)

* [Java/Spring] add test for missing key parameter to put-item method call of super class (#12494)
2022-06-01 08:28:20 +08:00
William Cheng
05d49d9107
Add support for allOf in R client generator (#12487)
* add support for all in R client generator

* update samples
2022-05-29 07:22:18 +08:00
Akhil Nair
e823290c8f
[PYTHON] GetItem not working for Client generated allOf model and broken since 5.2.0 (#12239)
* I feel the issue is due to the creation of self._var_name_to_model_instances while doing the deserialization of the data.

Earlier the Python SDK code was using get_var_name_to_model_instances function which was adding var name to model instances that contain it. So <class 'openapi_client.model.stream_options_all_of'> will not part of mapping in self._var_name_to_model_instances for variable name stream_options.

Now with the latest Python SDK code following is the way through which var_name_to_model_instances is created:

    for prop_name in model_args:
        if prop_name not in discarded_args:
            var_name_to_model_instances[prop_name] = [self] + composed_instances
Now as we can see that the var_name_to_model_instances is populated with self and composed_instance which will also contain stream_options_all_of as a composed instance and there will be no check that if stream_options is present in composed_instances or not.

As there is no attribute_mapping found for stream_options in stream_options_all_of, the type for stream_options will be treated as dict for mapping stream_options_all_of as mentioned by @Chekov2k.

So what I suggest is the following code:

    for prop_name in model_args:
        if prop_name not in discarded_args:
           var_name_to_model_instances[prop_name] = [self] + list(
                filter(
                    lambda x: prop_name in x.openapi_types, composed_instances))
This way we can check if the property name is present in that composed instance or not. If it's okay for @spacether I can raise a PR for this.

* [get_item_all_of_bug]
Added samples, test cases to validate all_of schema.

* [getiem_all_of_bug]

Updated docs and samples.

* [getiem_all_of_bug]

Updated test cases, docs and samples.
2022-05-27 21:09:48 -07:00
cachescrubber
71ea659195
[Java/Spring] Support Spring Boot 3 and Jakarta EE 9 (#12407)
* Migrate annotation.Generated

* Upgrade jakarta.servlet and jakarta.validation

* Prepare pom.xml for spring boot 3

* Introduce spring-boot-3 sample config.

* Create spring-boot-3 sample.

* Introduce useSpringBoot3 cli option.

* Generate Docs

* Add spring milestone repo

* Generate Samples

* Adjust Unit Tests

* Add Spring Boot 3 Support to spring-cloud library

* generate spring cloud 3 sample

* Remove springfox

* Fix typo.

* No longer support SpringFox and Swagger1 with Spring Boot > 3.x

* Generate Docs

* Use Spring Boot 3.0.0-M3

* Generate Samples
2022-05-27 00:07:19 +08:00
Oren Samuel
4ec14706df
#12445 - avoid resolving ref schema to the actual schema for enum (#12446)
* #12445 - avoid resolving ref schema to the actual schema for enum

* #12445 - update samples
2022-05-24 23:51:08 +08:00
William Cheng
c270640a36
Better support for inline schemas in parameters (#12369)
* better support for inline schema in parameters

* fix parameter model type

* add new method for model

* minor update

* fix isModelWithProperties

* fix is model check

* null check for properties

* inline parameter enhance with python-experimental fix [WIP] (#12397)

* Uses unaliasSchema rather than ModelUtils.getReferencedSchema

* Fixes python-experimental, delays param schema setting

* Samples regenerated

* Adds parameterModelName setting back in

* Samples regenerated

* removes needToSetSchema

* Sets schema differently depending on if inline model resolver is used

* Adds step for getting ref schema

* Samples regen

* fix test

* bug fix for rust generator

Co-authored-by: Justin Black <spacether@users.noreply.github.com>
2022-05-20 20:25:15 +08:00
Miroslav Oujeský
3f788d3d77
[java][Micronaut] generator fixes (#11803)
* Fix ConfigurableAuthorization package name import to come from configuration

* Fix Micronaut @Consumes and @Produces annotations, allow multiple content types

* Fix security schemes rendering and Micronaut @Authentication pairing with application settings when special characters are present

* Updated samples

* Code review feedback

* Add xml to dependencies and fix tests

Co-authored-by: Andriy Dmytruk <andriy.dmytruk@oracle.com>
2022-05-20 13:24:48 +08:00
Katsuyuki Omuro
c3976a4a4d
Apply style and explode values from encoding for form-encoded request body parameters (#12162) 2022-05-19 23:13:54 +08:00
Andriy Dmytruk
0ad970f4cf
[Micronaut] Improvements for Server and Client (#12297)
* Add the applicationName parameter to support generation of multiple clients

* Change indentation in application.yml to double-space

* Update swagger annotations version, and option to choose not to generate the annotations

* Generate operations only in the first defined tag class for micronaut server

* Improve micronaut client options by setting the correct default values in the JavaMicronautAbstractCodegen constructor

* Fix visitor pattern having abstract method in non-abstract class. Update samples

* Update server sample FILES

* Minor refactor

* Fix for context path
2022-05-19 02:03:45 +08:00
William Cheng
3597621fbc
[R] Use snake_case in method parameter names (#12390)
* use snake_case in method parameter names

* update doc
2022-05-19 01:23:27 +08:00
Nick Dunne
d38cb1b37a
[java][spring] added springdoc support for service metadata and security (#12346)
* added springdoc config file to codegen

* added mustache template for springdoc config

* changed type to all caps so it can be used in the template

* added security scheme details
caveat: didn't add oauth2 flows

* removed url not supported by codegensecurity

* Fixed default doc provider in help message

* refactored config file generation test
and added springdoc test

* removed default codegen modification
implemented through booleans in template instead

* added new/updated generator files

* fixed escaping of description

* fixed appDescription in template
removed if and fixed escaping

* updated generated files again

* updated to springdoc in generator docs
2022-05-18 11:20:54 +08:00
Thi
559a2618df
Qt cpp client primitives types body (#12301)
* Fixxed issue with numeric primitive in body

* Aded primitives to cpp-qt/petstore.yaml (test ressource)

* generated  samples via  ./bin/generate-samples.sh
2022-05-15 17:48:19 +08:00