* python: adjust basic typing information
This is an initial pass to fix and adjust the typing information for the
generated client. This is enough to have mypy runnning without complains
on all the (modern) generated clients (Pydantic v1 code is not checked
for instance)
mypy is also now run directly in the CI, so further changes will also be
checked and thus, will need to be compliant with good typing
information.
Note that this doesn't *fully* type all the code: mypy is not run in
"strict" mode and there are still many functions/methods/attributes
which are still not fully typed, but it's a first good step in that
direction.
* ApiResponse's raw_data can't be None
* Fix indentation
* Revert test changes
* run mypy on tests/ directory
* don't forcefully convert the client response headers to dict
* override petstore ApiResponse model
* adjust type of 'any/one_of_schemas' fields
in rest template, when the retry limits exceeded
rethrow the original exception
also add 429 (Too many requests) status code to the
retry logic
fix#17478
In #16624, I introduced a new mechanism to record imports to other
modules, instead of having specialized datetime/typing/pydantic objects
to manage imports for these modules.
This change reuses the mechanism from #16624 and replace the specialized
import managers by the generic one. Unused imports from various
.mustache templates are also cleaned up.
* updating test to use the Java RESTEasy echo api client (#17367)
* regenerated samples
* set source and target to 1.8 to fix workflow failure, adapted parser
* update template for required field validation when additional properties are not allowed
* regenerate samples
* move bytes import from template to GoClientCodegen
* regenerate samples
* add test for model with required fields and additionalProperties: false
* fix: change indent style to tab in the mustache to generate Go code
* docs: standardize the language names for code blocks
* docs: change indent style to tab in the code blocks
* update: regenerate samples
* `./bin/generate-samples.sh ./bin/configs/*.yaml`
This was removed in #16802, but using a higher value than 1,
or at least making this configurable makes complete sense.
Without this, we get a lot of these log messages:
[ WARNING] Connection pool is full, discarding connection:
* refactor: Clean up _response_types_map formatting
It matches black's behavior of having trailing commas now.
* test: Add test to reproduce #16967
* fix: deserialize responses even if no returnType
Closes#16967
* refactor: Simplify ApiException subclasses
* refactor: Move exception subtype choice to ApiException
* feat: Deserialize error responses and add to exceptions
* test: Add for error responses with model
For model classes with model_something fields, pydantic raises a warning by default:
`Field "model_something" has conflict with protected namespace "model_".`.
These warnings make no sense here, because most users of the generator have established APIs
that they cannot change to conform to pydantic's safety rules.
Pydantic will raise an error if we ever conflict with a current attribute like `model_dump`.
* 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>