228 Commits

Author SHA1 Message Date
William Cheng
f83e4ffb9b update PS samples 2023-11-13 08:55:52 +08:00
William Cheng
372894dd1d
Add powershell echo test, rename api key names (#17043)
* add powershell echo test, rename api key names

* update
2023-11-13 00:09:46 +08:00
Charles Treatman
166ebc50b0
[Java][okhttp-gson] validateJsonElement does not validate enum values (#16865)
* validate enum properties in validateJsonElement

* regenerate samples

* add test for enum validation in okhttp-gson models
2023-11-08 14:14:48 +08:00
Meo
ced9660123
[ts][axios] fix bugs in base.ts (#16997)
* Update base.ts

* update base.ts

* update mustache template

* update samples

---------

Co-authored-by: yangqiuyi <yangqiuyi@yaocheng.cn>
2023-11-07 18:07:15 +01:00
Marc Weiß
74163f0ac8
bump gson-fire to 1.9.0 (#17002) 2023-11-07 22:35:05 +08:00
Mann Patel
a31b38b223
Added some Test Cases (#16994)
* New Test Case Added to AndroidClientCodegenTest

* New Test Case Added to GenApiControllerTest

* New Test Case Added to BirdAndCategoryTest

* New Test Case Added to WorkflowSettingsTest

* Modified GenApiControllerTest

* Added Test case in JavascriptClientCodegenTest

* Modified BirdAndCategoryTest

* Modified BirdAndCategoryTest

---------

Co-authored-by: Mann <mn906219@dal.ca>
2023-11-07 13:11:35 +08:00
William Cheng
849cf88ba7
Update C# dependencies to newer versions, update reserved word list (#16996)
* update c# dep to newer versions, update reserved word list

* update doc, list
2023-11-07 12:32:23 +08:00
Robert Schweizer
65ccf0492c
fix: Raise exceptions on non-2xx responses (#16999) 2023-11-07 10:44:45 +08:00
William Cheng
49208144e1
Better handling of allOf in request body (#16991)
* better handling of allOf in request body, add tests

* additional checks

* fix description
2023-11-05 22:43:45 +08:00
Charles Treatman
db9fd9a094
[Go] validate required fields when unmarshalling JSON (#16863)
* validate required properties when unmarshalling JSON

* build project & update samples

* Add test for required field validation
2023-11-04 22:58:25 +08:00
Yohei Kitamura
61629ae8ed
[python] Add back __enter__ and __exit__ methods for non asyncio (#16979) 2023-11-04 16:54:17 +08:00
Ian Cubbon
83822d269a
[Bug][Go][Client] Downloaded File Does Not Exist When Returned to Caller (#16954)
* Keep the file that gets written out to by the client->decode function

* Update the echo-api test case to check the file returned exists
2023-11-02 11:46:15 +08:00
Mark Haley
a4267ee630
fix parameters_to_url_query returns booleans with upper letter (#16947)
* chore: add test to show python bool url params are not lower case

* fix: python parameters_to_url_query template to properly detect booleans

* fix: typo in test

* fix: typo in test

* chore: update test name to snake case and be more descriptive
2023-11-01 23:30:32 +08:00
William Cheng
8d76ab9511
[Go] Add multiple file upload support (#16956)
* add go echo api client github workflow

* add support for multi file upload in go client

* update go samples
2023-11-01 11:35:25 +08:00
Cameron Koegel
c2a4163bdb
[typescript-axios] Fix Explode Query Parameters (#16898)
* [typescript-axios] Fix Explode Query Parameters

* use `paramName` instead of `baseName`

* add config, workflow and tests for echo api

* generate echo api sample

* update test dependencies and add gitignore

* update space in package json and regenerate samples

* remove tsc in test package

* update samples

* undo samples

* regenerate samples

* regenerate samples again
2023-11-01 09:41:06 +08:00
ふぁ
8827da8012
[python] fix typing for API responses (#16802)
* [python] remove _preload_content

Signed-off-by: ふぁ <yuki@yuki0311.com>

* [python] remove _return_http_data_only

Signed-off-by: ふぁ <yuki@yuki0311.com>

* [python] remove async_req

Signed-off-by: ふぁ <yuki@yuki0311.com>

* [python] fix typing for API responses

Signed-off-by: ふぁ <yuki@yuki0311.com>

* [python] update samples

Signed-off-by: ふぁ <yuki@yuki0311.com>

* [python] fix AttributeError

Signed-off-by: ふぁ <yuki@yuki0311.com>

* [python] remove _preload_content

Signed-off-by: ふぁ <yuki@yuki0311.com>

* [python] fix response_type

Signed-off-by: ふぁ <yuki@yuki0311.com>

* [python] fix typo

Signed-off-by: ふぁ <yuki@yuki0311.com>

* [python] update simplify RESTClientObject

Signed-off-by: ふぁ <yuki@yuki0311.com>

* [python] update split call_api into 4 functions

Signed-off-by: ふぁ <yuki@yuki0311.com>

* [python] update samples

Signed-off-by: ふぁ <yuki@yuki0311.com>

* [python] update improve stream

Signed-off-by: ふぁ <yuki@yuki0311.com>

* [python] remove kwargs

Signed-off-by: ふぁ <yuki@yuki0311.com>

* [python] update ApiResponse

Signed-off-by: ふぁ <yuki@yuki0311.com>

* [python] add method for each return value

Signed-off-by: ふぁ <yuki@yuki0311.com>

* [python] update test

Signed-off-by: ふぁ <yuki@yuki0311.com>

* [python] update samples

Signed-off-by: ふぁ <yuki@yuki0311.com>

* [python] update docs

Signed-off-by: ふぁ <yuki@yuki0311.com>

* [python] add constantParams

Signed-off-by: ふぁ <yuki@yuki0311.com>

* [python] fix ImportError

Signed-off-by: ふぁ <yuki@yuki0311.com>

* [python] fix SyntaxError in RESTResponse

Signed-off-by: ふぁ <yuki@yuki0311.com>

* [python] add ApiResponse model_config

Signed-off-by: ふぁ <yuki@yuki0311.com>

* [python] fix when isBinary is str

Signed-off-by: ふぁ <yuki@yuki0311.com>

* [python] update type

Signed-off-by: ふぁ <yuki@yuki0311.com>

* [python] update samples

Signed-off-by: ふぁ <yuki@yuki0311.com>

* [python] add rest with pydantic v1

Signed-off-by: ふぁ <yuki@yuki0311.com>

* [python] update format

Signed-off-by: ふぁ <yuki@yuki0311.com>

* [python] update format and type

Signed-off-by: ふぁ <yuki@yuki0311.com>

* [python] add test

Signed-off-by: ふぁ <yuki@yuki0311.com>

* [python] update type to pydantic strict type

Signed-off-by: ふぁ <yuki@yuki0311.com>

* [python] remove leftover files

Signed-off-by: ふぁ <yuki@yuki0311.com>

* [python] remove descriptions per field

Signed-off-by: ふぁ <yuki@yuki0311.com>

* [python] add test

Signed-off-by: ふぁ <yuki@yuki0311.com>

* [python] fix test

Signed-off-by: ふぁ <yuki@yuki0311.com>

* [python] fix test

Signed-off-by: ふぁ <yuki@yuki0311.com>

* [python] remove multiprocessing

Signed-off-by: ふぁ <yuki@yuki0311.com>

* [python] update samples

Signed-off-by: ふぁ <yuki@yuki0311.com>

* [python] add blank line to docstring

Signed-off-by: ふぁ <yuki@yuki0311.com>

* [python] update docstring

Signed-off-by: ふぁ <yuki@yuki0311.com>

* [python] remove unwanted imports in rest

Signed-off-by: ふぁ <yuki@yuki0311.com>

---------

Signed-off-by: ふぁ <yuki@yuki0311.com>
2023-10-30 12:37:23 +08:00
Dawson Akins Conway
244a3b4c13
[ruby] Make File Downloads Threadsafe (#16876)
* Make Generated Ruby Code Threadsafe

* missed one

* Generate Samples
2023-10-28 20:31:18 +08:00
Torgil Folger
58f058f3e9
[csharp] RemoteCertificateValidationCallback was not called on async methods; resolves #14608 (#16886)
* Update ApiClient.mustache

added missing line in config mapping

* update samples

---------

Co-authored-by: William Cheng <wing328hk@gmail.com>
2023-10-28 20:29:38 +08:00
Šimon Lukašík
b13a1a05ef
[ruby|client] Fix unmarshalling errors of enums inside other objects (#16900)
* [ruby|client] Fix unmarshalling errors of enums inside other objects

Ruby|Client autogenerated model classes for Enums do not expose openapi_one_of
method. Instead they expose openapi_any_of method like:

      # List of class defined in anyOf (OpenAPI v3)
      def openapi_any_of
        [
          :String
        ]
      end

Both types (objects and enums) do respond to build() method.

* Regenerate samples
2023-10-27 00:55:33 +08:00
Ivan Giuliani
ae590c4712
[Ruby] Add support for populating a gem metadata (#16872)
* [Ruby] Add support for gems metadata

This defaults to an empty hash, but can be overridden with any custom
object by the callers via the `gemMetadata` property.

* Regenerate samples

The gemspecs files will now include a metadata field
2023-10-23 22:05:19 +08:00
Josh Raker
d1fa38e286
[BUG][GO] Add support for all +json and +xml suffixed media types (#16816)
* Add support for all +json and +xml suffixed media types to generated Go client

* Export JsonCheck and XmlCheck and add external tests

* Remove client_test.mustache
2023-10-17 00:47:09 +08:00
Josh Raker
c5d6884c63
[BUG][GO] Replace references to sw package with {{packageName}} in README template (#16812)
* Replace references to sw package with {{packageName}}

* Update samples
2023-10-15 10:37:27 +08:00
Yuriy Belenko
3bc4f67333
[php-nextgen] Remove deprecated @category phpdoc (#16829)
* [php-nextgen] Remove deprecated @category phpdoc

@category tag is deprecated accordingly to:
* [PhpDocumentor](https://docs.phpdoc.org/guide/references/phpdoc/tags/category.html)

* Refresh samples
2023-10-15 09:35:02 +08:00
William Cheng
34265e52b1
add rule to skip xUnit1031 (#16804) 2023-10-12 15:56:27 +08:00
devhl-labs
2cfce7cd2d
version bump (#16657) 2023-10-11 16:16:06 +08:00
Robert Schweizer
2b6b3b0883
[python] Do not pydantic-validate function args twice (#16776)
* refactor: Use newlines in _with_http_info call

This prevents too-long lines and matches the style that
black would enforce.

* fix: Do not pydantic-validate function args twice

Closes #15757
2023-10-11 13:57:52 +08:00
Robert Schweizer
7af459396c
docs: Improve docstring in to_dict() method (#16777)
It was often confusing to me why this method is even there.

Also using more line breaks and matching how black would format this.
2023-10-11 13:51:37 +08:00
Robert Schweizer
f03cbea971
feat: Add line breaks in Python API methods (#16770) 2023-10-10 18:32:52 +08:00
Robert Schweizer
9e07f85eb5
[python] Add tests and fix enum path parameters (#16769)
* test: Tests for enum params in path, query and header

* fix: Get enum ref values correctly in path parameters

Closes #16688

* fix java tests failure

---------

Co-authored-by: William Cheng <wing328hk@gmail.com>
2023-10-10 17:10:30 +08:00
Robert Danci
87f9d53c3a
[Java][client] Fix feign classcastexception when getting headers (#16745)
* Avoid ClassCastException when getting headers (the header values are Collection<String> and not List<String>)
Delete unused classes

* Remove feign10x

* Add unit test
Refactor to avoid creating the headers map when ApiResponse is not used
2023-10-10 14:53:32 +08:00
William Cheng
4a17c22905
fix object serializer, update tests in php nextgen (#16764) 2023-10-10 11:31:38 +08:00
Tiago
3e9dba01ee
Fix ruby httpx test (#16765)
* fix setup of body params (may be nil)

* fix httpx adapter issues

treating DNS resolution errors as ConnectionFailed; removing multipart header set by the openapi-generated code, as it does not contain boundary, and interferes with the generation from httpx, which appropriately deals with mime-types already
2023-10-10 11:31:08 +08:00
martin-mfg
e3db882ed4
[JAVA][KOTLIN][SPRING] upgrade dependencies (#16759)
* upgrade spring-boot-starter-parent

* upgrade springdoc and swagger-ui

* upgrade v3 swagger-annotations

* generate samples

* upgrade jackson

* fix spring cloud, remove temp comment

Putting "8" instead of "1.8" should be ok, because Spring Boot 3 requires Java 17 anyway, so it should be able to understand that 8 is the same as 1.8.

* generate samples

* upgrade JUnit 5, remove commons-io dependency, remove outdated samples/client/petstore/java/feign/feign10x/ files, generate samples

commons-io dependency was introduced in https://github.com/OpenAPITools/openapi-generator/pull/8484, but I don't see why it would be needed now or back then.

* update gson, generate samples

* update logback

* update feign

* update scribejava

* generate samples

* update httpmime

* okhttp-gson: update commons-lang & okhttp & junit-platform, remove mockito; generate samples

It seems Mockito is not used at all there.

* okhttp-gson: remove unnecessary sample files, generate sample files

* upgrade google-api-client & jersey-common, restore ClientTest, generate samples

* misc. upgrades in jersey2 and jersey3

jersey 3.1.3 is available already, but IntelliJ reports security problems in 3.1.3 and 3.1.2, so I used 3.1.1 instead.

* align some gradle&sbt files with poms, generate samples

* whitespace fix
2023-10-09 14:55:32 +08:00
William Cheng
48f454cf72
fix type, update tests in php nextgen (#16758) 2023-10-09 14:40:34 +08:00
Maddin
f5680019b2
fix handling with enums in object serializer (#16741) 2023-10-07 22:56:31 +08:00
William Cheng
6722f1300d
add ruby httpx echo api tests (#16729) 2023-10-05 12:55:57 +08:00
Maddin
c306ca3cf2
fix invalid function is_subclass call for php-nextgen (#16712) 2023-10-05 12:34:50 +08:00
William Cheng
a1d00e4785
[Java][okhttp-gson] fix AWS auth issue (#16721)
* fix samples

* fix awsauth in okhttp gson java client

* update github workflow
2023-10-04 18:28:50 +08:00
Jan Gosmann
7087b332f0
Replace deprecated Gradle properties (#16695)
* destinationDir -> destinationDirectory (scheduled to be removed in Gradle 9.0)
* archiveName -> archiveFileName (removed in Gradle 8.0)

Cp. https://docs.gradle.org/current/userguide/upgrading_version_7.html
2023-10-04 16:24:05 +08:00
Jonathan Ballet
cec5b8965a
python: type generated client using Self (#16693)
* python: type generated client using Self

This doesn't offer a clear win but this helps for:

* Using modern types and making the typing intent clearer
* Decreasing the need for `from __future__ import annotations`, since a
  class can now refer to itself without using its name
* Using more `cls` to automatically refer to the class, instead of
  respecifying the class name every time

Self is available from Python 3.11 and is provided in typing_extensions
(since 4.0.0) as a fallback for older versions

See: https://peps.python.org/pep-0673/
See: https://github.com/python/typing_extensions/blob/main/CHANGELOG.md#added-in-version-400

* generate code
2023-10-01 23:31:39 +08:00
Jonathan Ballet
03781d3a93
python: remove aenum in favor of stdlib's enum (#16691)
The aenum dependency didn't provide any specific improvements over the
stdlib's enum module.
aenum also doesn't provide typing information at the moment.

This removes one dependency and will help for completing the typing of
the generated client.
2023-10-01 21:22:42 +08:00
Jonathan Ballet
56bc383dc1
python: type API client internal structures (#16692)
* In samples/openapi3/client/petstore/python, this reduces the mypy errors from 435 to 178 errors
* In samples/openapi3/client/petstore/python-aiohttp, this reduces the mypy errors from 381 to 124 errors
* In samples/client/echo_api/python, this reduces the mypy errors from 131 to 25 errors
2023-10-01 20:45:11 +08:00
William Cheng
ce4b2fe7bd
[Python] add float to reserved word list (#16689)
* add float as reserved world

* clean up

* update samples

* Update modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractPythonCodegen.java

Co-authored-by: Jonathan Ballet <jon@multani.info>

* update doc

* uncomment test

---------

Co-authored-by: Jonathan Ballet <jon@multani.info>
2023-10-01 20:41:54 +08:00
William Cheng
3fcf5584c6
Add tests for python client with disallowAdditionalPropertiesIfNotPresent set to true (#16690)
* add tests for python client with different option

* update samples

* update tests
2023-10-01 17:34:52 +08:00
ふぁ
c6e9a4e1ae
[python] change Private attr to Class vars (#16687)
* [python] fix TypeError

Signed-off-by: ふぁ <yuki@yuki0311.com>

* [python] update Private model attributes to Class vars

Signed-off-by: ふぁ <yuki@yuki0311.com>

* [python] rename the List of test cases to ListClass

Signed-off-by: ふぁ <yuki@yuki0311.com>

* [python] update samples

Signed-off-by: ふぁ <yuki@yuki0311.com>

* [python] rename the List of v1 test cases to ListClass

Signed-off-by: ふぁ <yuki@yuki0311.com>

* [python] rename the List of v1-aiohttp test cases to ListClass

Signed-off-by: ふぁ <yuki@yuki0311.com>

* update samples

---------

Signed-off-by: ふぁ <yuki@yuki0311.com>
Co-authored-by: William Cheng <wing328hk@gmail.com>
2023-10-01 16:52:23 +08:00
ふぁ
e2f249ba35
[PYTHON] generate code based on pydantic v2 (#16685)
* [python] replace validator with field_validator

* [python] replace parse_obj with model_validate

* [python] replace dict with model_dump

* [python] replace construct with model_construct

* [python] replace __fields_set__ with model_fields_set

* [python] replace __fields_set__ in the test cases with model_fields_set

* [python] replace validate_arguments with validate_call

* [python] replace max_items, min_items with max_length, min_length

* [python] replace Config class with model_config

* [python] replace allow_population_by_field_name with populate_by_name

* [python] remove {{{classname}}}_ONE_OF_SCHEMAS

* [python] update test cases

* [python] update samples

* [python] fix typos in test cases
2023-09-29 16:45:46 +08:00
Jonathan Ballet
04fa53b692
python: generate Pydantic v2 + typing complete code (#16624)
* python: improve type generation with more specific typing

* Annotate function parameters

* Remove unused imports

* remove unused files

* remove temporary hack

* remove lock file

* fix Annotated import

* support Python 3.7

* Regenerate code with typing-extensions

* Fix setup.py

* More Pydantic v2 compatibility

* depend on pydantic v2

* fix client_echo tests

* fix JSON serialization

* Fix references

* Skip circular dependency tests for now

* Temporarily hide the "float" property

The "float" property aliases the "float" type and completely breaks the
model: all the properties that were "float" now become the type of the
"float" property instead.

* Fix errors

* Import Literal from typing_extensions

* Fix GitHub Action workflows

* Fix Python 3.7 failure

* Fix quotes

* Apply suggestions from code review

* Fix tests

* split model imports from other modules imports

* fix workflow

* Comment the array unique items convertion, remove set translation

* Replace alias usage
2023-09-28 19:13:14 +08:00
William Cheng
077744a7af
[python-pydantic-v1] various improvements (#16658)
* rename, add tests

* remove library support in python pydantic v1 codegen

* copy tests

* copy echo api tests

* update samples

* update doc

* add back library support
2023-09-25 15:59:06 +08:00
Jonathan Ballet
3b95f701e5
python: copy the current Python generator into a "pydantic v1" generator (#16656)
* Copy the current Python generator into a "pydantic v1" generator

This generator will be deprecated over time and the normal generator will
focus on Pydantic v2.

* add missing doc
2023-09-25 12:13:24 +08:00
William Cheng
d58e68f8c0 update php samples 2023-09-23 15:28:43 +08:00