Commit Graph

5094 Commits

Author SHA1 Message Date
William Cheng
a3269a0569 Add R GitHub action file (#12868)
* fix travis, update rbuildignore

* add comment
2022-07-15 15:31:22 +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
William Cheng
28b74d79cb remove unused import in r package (#12867) 2022-07-14 16:23:02 +08:00
William Cheng
4dfac192f8 fix warning in rdoc due to missing @param (#12865) 2022-07-14 15:41:56 +08: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
devhl-labs
57bcb046d1 Adds return property to CodegenOperation (#12816)
* added nonNullableVars

* added return property to operation

* added return property to operation

* build samples

Co-authored-by: William Cheng <wing328hk@gmail.com>
2022-07-13 17:01:43 +08:00
justM4D
464da4a10f [csharp-netcore] Generic Host: Added port definion to the uriBuilder in API template (#12795)
* Added port definition to uriBuilder, since it was ignored before and couldn't be set even by supplying a custom client

* generated samples

* update samples

Co-authored-by: Matthias Lewen-Rieger | PROSPER X GmbH <matthias.lewen-rieger@prosper-x.de>
Co-authored-by: William Cheng <wing328hk@gmail.com>
2022-07-13 16:49:59 +08:00
devhl-labs
636820b541 Add nonNullableVars to CodegenModel (#12815)
* added nonNullableVars

* build samples
2022-07-13 16:48:23 +08:00
Linus Klöckner
57496ff0b0 [java][okhttp-gson] Complex values in form data get serialized as JSON instead of String (#12779)
* Java: fix complex object serialization in form-data

* Java: update samples
2022-07-13 15:47:39 +08:00
Oleh Kurpiak
2e2da7bc82 [Spring] fix deprecated generation (#12832) 2022-07-13 11:08:28 +08:00
Edward Poot
8025aa3bfa Fix: Always set jakarta_annotation_version (#12834)
Commit 1735ab9d27 added changes to set the `jakarta_annotation_version`.

I've recently noticed that when using retrofit2 library, the project builds fine with Maven but fails with Gradle.

The build fails due to `Could not get unknown property 'jakarta_annotation_version' for object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler`.

Digging into this, in the generated `build.gradle` the `jakarta_annotation_version` is never set.
Upon closer inspection, aforementioned commit seems to indeed set it differently for the Maven build configuration than the Gradle build configuration (same for SBT configuration) for that matter.

The issue is that due to human error the `jakarta_annotation_version` line is added within the `{{#usePlayWS}}` block, meaning it won't be generated when `usePlayWS` is false, even though it should.

This commit changes this to always generate it.
2022-07-13 11:05:35 +08: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
Akhil Nair
6dfbc58bb8 [custom_content_issue] (#12836)
This PR will fix issue: https://github.com/OpenAPITools/openapi-generator/issues/12835

Signed-off-by: the-akhil-nair <sam1232007@gmail.com>
2022-07-12 15:26:18 +08:00
William Cheng
8b58abfdf2 add schema mapping support to go generator (#12839) 2022-07-12 14:30:20 +08:00
William Cheng
00db9255c0 add schema mapping support in typescript client codegen (#12840) 2022-07-12 07:40:33 +02:00
Oleh Kurpiak
4bbfa01ba8 [Java] fix JsonCreator with JsonNullable (#12813) 2022-07-12 10:41:55 +08:00
Hans Nuttin
073a800464 [Typescript] support schemaMapping (#12803)
Co-authored-by: hansnuttin <hans.nuttin@aca-it.be>
2022-07-11 19:06:57 +02:00
Felix König
9122b2a547 codegen: add <> -> 'Not_Equal' to specialCharReplacements (#12801)
This is a fairly common alternative to `!=`, e.g. in SQL or in DevExtreme filters.
Previously, if one of an enum's variant was just '<>', its entire name would be sanitized away,
resulting in an empty string as symbol name and therefore a syntax error.
2022-07-12 00:12:56 +08:00
Thomas Hansen
3e42a6eae0 [PHP] Allow strings with only whitespaces in enums (#12783) 2022-07-12 00:01:46 +08:00
Thomas Hansen
cd48db43b4 [PHP] Add support to nullable (based on #3493) (#12794)
* [PHP] Add support to nullable (based on PR 3493)

* [AUTOGENERATED] update samples
2022-07-12 00:00:39 +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
Justin Black
84ac06abdc Fixes test folder cleaning in python-exp only (#12825)
* Adds test folder file removal in python-exp only

* Samples regnerated

* Removes unused code, tweaks unit test sample to test PR change

* Reverts spec change

* FIxes javadoc
2022-07-10 08:45:49 -04: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
Justin Black
d6b360d47f [python-experimental] Allow schema instances to be passed in and pass additional schema validations (#12758)
* Converts all schema instances back into primitives in cast_to_allowed_types, fixes test test_deserialize_oneof_reference

* Updates type hint

* Adds validated_path_to_schemas input

* Adds debugging, storess validated schemas in validated_path_to_schemas

* Adds __process_schema_classes

* Simplifies class creation for enums, True/False/None

* Removes unused methods

* Fixes two tests

* Removes unneeded method _enum_by_value

* Adds and uses validation_ran_earlier

* Skips running validation if already ran, base_classes changed to seen_classes

* Adds and uses validation_ran_earlier

* Simplifies __get_simple_class

* Casts None/True/False into NoneClass and BoolClass instances to make tpye checking and unique items checking simpler

* Always cast file input to FileIO, removes __get_simple_class

* Moves type checking to separate class

* Moves validation checking into a _validate method

* Moves enum value checking into SchemaEnumMaker's _validate method

* Fixes test_dict_validate_direct_instantiation_cast_item

* Removes spy_decorator

* Fixed test_dict_validate_direct_instantiation

* Fixes test_list_validate_direct_instantiation_cast_item

* Fixes test_list_validate_direct_instantiation

* Fixes test_list_validate_from_openai_data_instantiation

* Fixes test_dict_validate_from_openapi_data_instantiation

* Fixes test_upload_files

* Samples regenerated

* Reverts version file
2022-07-09 18:06:09 -04: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
David Miguel Lozano
92a5544ba0 Fix model package name import in Dart json_serializable (#12615) 2022-07-07 01:22:02 +08:00
Thomas Hansen
1a44a5284a [PHP] Fix message for InvalidArgumentException(), when failing to test pattern (#12780)
* [BUGFIX] model_generic.mustache: Display property name instead of its value, when throwing InvalidArgumentExeption() for values not respecting a given pattern

* [AUTOGENERATED] Generated files
2022-07-07 01:17:22 +08:00
Tom Bärwinkel
ac9e595476 Use the first status code in 2XX range, fallback to 200 (#12637)
This is in line with the OpenAPI specification:

The Responses Object MUST contain at least one response code, and
it SHOULD be the response for a successful operation call.

and excludes the 2XX range response itself.
2022-07-07 01:14:32 +08:00
Tom Bärwinkel
728c80abea Add option to use custom a monad (#12618) 2022-07-07 01:13:06 +08:00
Gaëtan Duchaussois
cb1ba17877 Rust: fix for required nullable input (#12485)
Co-authored-by: Gaëtan Duchaussois <gaetan.duchaussois@craft.ai>
2022-07-06 17:25:15 +08:00
William Cheng
f5b5feb58d remove warnings related to escaping the characters in the md generator (#12774) 2022-07-06 14:19:40 +08:00
William Cheng
1383be4a2e Fix missing import in jaxrs pojo (#12766)
* fix missing import in jaxrs pojo

* trigger build failure

* Revert "trigger build failure"

This reverts commit 4eed12f850.
2022-07-05 17:12:26 +08:00
Bogdan Ilchyshyn
97daba5c58 fixing error handler interceptor (#12761) 2022-07-04 09:06:34 +02:00
William Cheng
6cae0fbb78 Merge remote-tracking branch 'origin/6.1.x' 2022-07-04 01:22:51 +08:00
William Cheng
9e412edb64 Prepare 6.0.1 release (#12762)
* update to v6.0.1

* update doc

* update samples
2022-07-03 23:36:46 +08:00
Oleh Kurpiak
d36dabaf77 [Java][microprofile] fix constructor creation (#12627) 2022-07-03 17:54:55 +08:00
Gabriel Mazetto
b97a4ad12a Generate .gitlab-ci.yml files for Ruby template (#12750) 2022-07-03 17:52:32 +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
Austin Ziegler
18a07eab37 Improved Elixir Code Generation (#12751)
* Bump the minimum version of Elixir supported

The previous minimum version of Elixir is several years EOL.

The current minimum version of Elixir is also EOL, but is the minimum
version required to support some upcoming changes to the config
templates.

* Bump the minimum version fo Tesla

Keep the dependencies up to date

* Add a default .formatter.exs

* Add two Elixir-specific mustache lambdas

- The `atom` lambda results in the proper quoting of an atom depending
  on the safe contents of the atom text, per the Elixir language
  specification. That is, `{{#atom}}foo{{/atom}}` will be turned into
  `:foo` and `{{#atom}foo.bar{{/atom}}` will be turned into
  `:"foo.bar"`.

- The `env_var` lambda results in the treatment of the identifier
  provided being capitalized as an environment variable would be.
  `{{#env_var}}apiVersion{{/env_var}}` would become `ENV_VAR`.

* Use modern Elixir configuration

- This includes runtime configuration
- It depends on the `env_var` lambda.

* Fix a Language Server Warning

This change is *optional*, but removes a LS warning that was raised.

* Regenerated openapi_petstore for Elixir

* Add ex_doc as a default dependency

Fixes #12484

* Refine the regular expression for atoms

The original regex incorrectly matched `123Number` (unquoted atoms
cannot begin with numbers) and would incorrectly quote atoms ending in
`?` or `!`. Through testing with `iex`, it also turns out that the atom
`:-` is legal.

The following atoms will now not be quoted that would have been
incorrectly quoted:

- `:-`
- `:declawed?`
- `:neutered!`

The following atoms will be quoted that were incorrectly unquoted:

- `:"123Number"`

* Improve regex (again), remove files not generated

- The previous commit resulted in a number of warnings that were still
  present and so I played with the regular expression. This did not
  solve the problem, but the resulting regular expression is *much*
  better than the previous one, so I'm keeping it.

- The problem was that the configuration (`bin/configs/elixir.yaml`) is
  generated using a 3.0 input spec:

  ```yaml
  inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore-with-fake-endpoints-models-for-testing.yaml
  ```

  Which means that there were 16 files committed which were no longer
  being generated. When I tested with the 2.0 input spec:

  ```yaml
  inputSpec: modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml
  ```

  The files were generated again. I *believe* that the correct change
  here is to switch back to the 2.0 input spec, as it tests more code
  generation, but I wanted to check in before I did this.

  The following files are deleted:

  - `elixir/lib/openapi_petstore/model/additional_properties_any_type.ex`
  - `elixir/lib/openapi_petstore/model/additional_properties_array.ex`
  - `elixir/lib/openapi_petstore/model/additional_properties_boolean.ex`
  - `elixir/lib/openapi_petstore/model/additional_properties_integer.ex`
  - `elixir/lib/openapi_petstore/model/additional_properties_number.ex`
  - `elixir/lib/openapi_petstore/model/additional_properties_object.ex`
  - `elixir/lib/openapi_petstore/model/additional_properties_string.ex`
  - `elixir/lib/openapi_petstore/model/big_cat.ex`
  - `elixir/lib/openapi_petstore/model/big_cat_all_of.ex`
  - `elixir/lib/openapi_petstore/model/inline_response_default.ex`
  - `elixir/lib/openapi_petstore/model/special_model_name.ex`
  - `elixir/lib/openapi_petstore/model/type_holder_default.ex`
  - `elixir/lib/openapi_petstore/model/type_holder_example.ex`
  - `elixir/lib/openapi_petstore/model/xml_item.ex`
  - `elixir/pom.xml`
  - `elixir/test/pet_test.exs`

  In the interim, I have removed those files from the commit.
2022-07-03 17:31:34 +08:00
William Cheng
f1dd44d70c add tests for item with special characters (#12757) 2022-07-03 17:26:12 +08:00
Lazar Prijović
5658397152 [BUG] [CPP-UE4] Fix unique items list codegen (#12745)
* Fix unique items list codegen for UE4

* Update generator's doc
2022-07-03 17:17:48 +08:00
Lazar Prijović
b372f6424c Fix codegen for nested container types (#12747) 2022-07-02 16:21:20 +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