Skip to content
This repository was archived by the owner on Dec 25, 2024. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
1 change: 1 addition & 0 deletions .circleci/parallel.sh
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ elif [ "$JOB_ID" = "testPythonClientSamples" ]; then
echo "Running job $JOB_ID ..."
(cd samples/client/petstore/python && make test)
(cd samples/client/3_0_3_unit_test/python && make test)
(cd samples/client/3_1_0_unit_test/python && make test)
(cd samples/client/openapi_features/nonCompliantUseDiscriminatorIfCompositionFails/python && make test)
(cd samples/client/openapi_features/security/python && make test)
(cd samples/client/3_1_0_json_schema/python && make test)
Expand Down
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "src/test/resources/JSON-Schema-Test-Suite"]
path = src/test/resources/JSON-Schema-Test-Suite
url = https://github.com/json-schema-org/JSON-Schema-Test-Suite.git
5 changes: 5 additions & 0 deletions bin/generate_samples_configs/python_3_1_0_unit_test.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
generatorName: python
outputDir: samples/client/3_1_0_unit_test/python
inputSpec: src/test/resources/3_1/unit_test_spec/3_1_0_unit_test_spec.yaml
additionalProperties:
packageName: unit_test_api
Original file line number Diff line number Diff line change
Expand Up @@ -1213,8 +1213,8 @@ def _get_headers(
headers.add('Accept', accept_content_type)
return headers

@staticmethod
def _get_fields_and_body(
self,
request_body: typing.Type[RequestBody],
body: typing.Union[schemas.INPUT_TYPES_ALL, schemas.Unset],
content_type: str,
Expand All @@ -1229,7 +1229,7 @@ def _get_fields_and_body(

serialized_fields = None
serialized_body = None
serialized_data = request_body.serialize(body, content_type)
serialized_data = request_body.serialize(body, content_type, configuration=self.api_client.schema_configuration)
headers.add('Content-Type', content_type)
if 'fields' in serialized_data:
serialized_fields = serialized_data['fields']
Expand Down Expand Up @@ -1357,7 +1357,7 @@ def __serialize_application_x_www_form_data(

@classmethod
def serialize(
cls, in_data: schemas.INPUT_TYPES_ALL, content_type: str
cls, in_data: schemas.INPUT_TYPES_ALL, content_type: str, configuration: typing.Optional[schema_configuration_.SchemaConfiguration] = None
) -> SerializedRequestBody:
"""
If a str is returned then the result will be assigned to data when making the request
Expand All @@ -1371,7 +1371,8 @@ def serialize(
media_type = cls.content[content_type]
assert media_type.schema is not None
schema = schemas.get_class(media_type.schema)
cast_in_data = schema.validate_base(in_data)
used_configuration = configuration if configuration is not None else schema_configuration_.SchemaConfiguration()
cast_in_data = schema.validate_base(in_data, configuration=used_configuration)
# TODO check for and use encoding if it exists
# and content_type is multipart or application/x-www-form-urlencoded
if cls._content_type_is_json(content_type):
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,9 @@ def _validate(
used_val = (val, prefix_items_length)
elif keyword in {'unevaluated_items', 'unevaluated_properties'}:
used_val = (val, path_to_schemas)
elif keyword in {'types'}:
format: typing.Optional[str] = vars(cls_schema).get('format', None)
used_val = (val, format)
else:
used_val = val
validator = json_schema_keyword_to_validator[keyword]
Expand Down Expand Up @@ -257,19 +260,31 @@ class PatternInfo:

def validate_types(
arg: typing.Any,
allowed_types: typing.Set[typing.Type],
allowed_types_format: typing.Tuple[typing.Set[typing.Type], typing.Optional[str]],
cls: typing.Type,
validation_metadata: ValidationMetadata,
) -> None:
allowed_types = allowed_types_format[0]
if type(arg) not in allowed_types:
raise __get_type_error(
arg,
validation_metadata.path_to_item,
allowed_types,
key_type=False,
)
if isinstance(arg, bool) or not isinstance(arg, (int, float)):
return None
format = allowed_types_format[1]
if format and format == 'int' and arg != int(arg):
# there is a json schema test where 1.0 validates as an integer
raise exceptions.ApiValueError(
"Invalid non-integer value '{}' for type {} at {}".format(
arg, format, validation_metadata.path_to_item
)
)
return None


def validate_enum(
arg: typing.Any,
enum_value_to_name: typing.Dict[typing.Any, str],
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,9 @@ class TestPost(ApiTestMixin, unittest.TestCase):
Post unit test stubs
"""
api_config = api_configuration.ApiConfiguration()
schema_config = schema_configuration.SchemaConfiguration()
schema_config = schema_configuration.SchemaConfiguration(
disabled_json_schema_keywords={'format'}
)
used_api_client = api_client.ApiClient(configuration=api_config, schema_configuration=schema_config)
api = post.ApiForPost(api_client=used_api_client) # noqa: E501

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,9 @@ class TestPost(ApiTestMixin, unittest.TestCase):
Post unit test stubs
"""
api_config = api_configuration.ApiConfiguration()
schema_config = schema_configuration.SchemaConfiguration()
schema_config = schema_configuration.SchemaConfiguration(
disabled_json_schema_keywords={'format'}
)
used_api_client = api_client.ApiClient(configuration=api_config, schema_configuration=schema_config)
api = post.ApiForPost(api_client=used_api_client) # noqa: E501

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,9 @@ class TestPost(ApiTestMixin, unittest.TestCase):
Post unit test stubs
"""
api_config = api_configuration.ApiConfiguration()
schema_config = schema_configuration.SchemaConfiguration()
schema_config = schema_configuration.SchemaConfiguration(
disabled_json_schema_keywords={'format'}
)
used_api_client = api_client.ApiClient(configuration=api_config, schema_configuration=schema_config)
api = post.ApiForPost(api_client=used_api_client) # noqa: E501

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,9 @@ class TestPost(ApiTestMixin, unittest.TestCase):
Post unit test stubs
"""
api_config = api_configuration.ApiConfiguration()
schema_config = schema_configuration.SchemaConfiguration()
schema_config = schema_configuration.SchemaConfiguration(
disabled_json_schema_keywords={'format'}
)
used_api_client = api_client.ApiClient(configuration=api_config, schema_configuration=schema_config)
api = post.ApiForPost(api_client=used_api_client) # noqa: E501

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,9 @@ class TestPost(ApiTestMixin, unittest.TestCase):
Post unit test stubs
"""
api_config = api_configuration.ApiConfiguration()
schema_config = schema_configuration.SchemaConfiguration()
schema_config = schema_configuration.SchemaConfiguration(
disabled_json_schema_keywords={'format'}
)
used_api_client = api_client.ApiClient(configuration=api_config, schema_configuration=schema_config)
api = post.ApiForPost(api_client=used_api_client) # noqa: E501

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,9 @@ class TestPost(ApiTestMixin, unittest.TestCase):
Post unit test stubs
"""
api_config = api_configuration.ApiConfiguration()
schema_config = schema_configuration.SchemaConfiguration()
schema_config = schema_configuration.SchemaConfiguration(
disabled_json_schema_keywords={'format'}
)
used_api_client = api_client.ApiClient(configuration=api_config, schema_configuration=schema_config)
api = post.ApiForPost(api_client=used_api_client) # noqa: E501

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,9 @@ class TestPost(ApiTestMixin, unittest.TestCase):
Post unit test stubs
"""
api_config = api_configuration.ApiConfiguration()
schema_config = schema_configuration.SchemaConfiguration()
schema_config = schema_configuration.SchemaConfiguration(
disabled_json_schema_keywords={'format'}
)
used_api_client = api_client.ApiClient(configuration=api_config, schema_configuration=schema_config)
api = post.ApiForPost(api_client=used_api_client) # noqa: E501

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,9 @@ class TestPost(ApiTestMixin, unittest.TestCase):
Post unit test stubs
"""
api_config = api_configuration.ApiConfiguration()
schema_config = schema_configuration.SchemaConfiguration()
schema_config = schema_configuration.SchemaConfiguration(
disabled_json_schema_keywords={'format'}
)
used_api_client = api_client.ApiClient(configuration=api_config, schema_configuration=schema_config)
api = post.ApiForPost(api_client=used_api_client) # noqa: E501

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,9 @@ class TestPost(ApiTestMixin, unittest.TestCase):
Post unit test stubs
"""
api_config = api_configuration.ApiConfiguration()
schema_config = schema_configuration.SchemaConfiguration()
schema_config = schema_configuration.SchemaConfiguration(
disabled_json_schema_keywords={'format'}
)
used_api_client = api_client.ApiClient(configuration=api_config, schema_configuration=schema_config)
api = post.ApiForPost(api_client=used_api_client) # noqa: E501

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,9 @@ class TestPost(ApiTestMixin, unittest.TestCase):
Post unit test stubs
"""
api_config = api_configuration.ApiConfiguration()
schema_config = schema_configuration.SchemaConfiguration()
schema_config = schema_configuration.SchemaConfiguration(
disabled_json_schema_keywords={'format'}
)
used_api_client = api_client.ApiClient(configuration=api_config, schema_configuration=schema_config)
api = post.ApiForPost(api_client=used_api_client) # noqa: E501

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,9 @@ class TestPost(ApiTestMixin, unittest.TestCase):
Post unit test stubs
"""
api_config = api_configuration.ApiConfiguration()
schema_config = schema_configuration.SchemaConfiguration()
schema_config = schema_configuration.SchemaConfiguration(
disabled_json_schema_keywords={'format'}
)
used_api_client = api_client.ApiClient(configuration=api_config, schema_configuration=schema_config)
api = post.ApiForPost(api_client=used_api_client) # noqa: E501

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,9 @@ class TestPost(ApiTestMixin, unittest.TestCase):
Post unit test stubs
"""
api_config = api_configuration.ApiConfiguration()
schema_config = schema_configuration.SchemaConfiguration()
schema_config = schema_configuration.SchemaConfiguration(
disabled_json_schema_keywords={'format'}
)
used_api_client = api_client.ApiClient(configuration=api_config, schema_configuration=schema_config)
api = post.ApiForPost(api_client=used_api_client) # noqa: E501

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,9 @@ class TestPost(ApiTestMixin, unittest.TestCase):
Post unit test stubs
"""
api_config = api_configuration.ApiConfiguration()
schema_config = schema_configuration.SchemaConfiguration()
schema_config = schema_configuration.SchemaConfiguration(
disabled_json_schema_keywords={'format'}
)
used_api_client = api_client.ApiClient(configuration=api_config, schema_configuration=schema_config)
api = post.ApiForPost(api_client=used_api_client) # noqa: E501

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,9 @@ class TestPost(ApiTestMixin, unittest.TestCase):
Post unit test stubs
"""
api_config = api_configuration.ApiConfiguration()
schema_config = schema_configuration.SchemaConfiguration()
schema_config = schema_configuration.SchemaConfiguration(
disabled_json_schema_keywords={'format'}
)
used_api_client = api_client.ApiClient(configuration=api_config, schema_configuration=schema_config)
api = post.ApiForPost(api_client=used_api_client) # noqa: E501

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,9 @@ class TestPost(ApiTestMixin, unittest.TestCase):
Post unit test stubs
"""
api_config = api_configuration.ApiConfiguration()
schema_config = schema_configuration.SchemaConfiguration()
schema_config = schema_configuration.SchemaConfiguration(
disabled_json_schema_keywords={'format'}
)
used_api_client = api_client.ApiClient(configuration=api_config, schema_configuration=schema_config)
api = post.ApiForPost(api_client=used_api_client) # noqa: E501

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,9 @@ class TestPost(ApiTestMixin, unittest.TestCase):
Post unit test stubs
"""
api_config = api_configuration.ApiConfiguration()
schema_config = schema_configuration.SchemaConfiguration()
schema_config = schema_configuration.SchemaConfiguration(
disabled_json_schema_keywords={'format'}
)
used_api_client = api_client.ApiClient(configuration=api_config, schema_configuration=schema_config)
api = post.ApiForPost(api_client=used_api_client) # noqa: E501

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,9 @@ class TestPost(ApiTestMixin, unittest.TestCase):
Post unit test stubs
"""
api_config = api_configuration.ApiConfiguration()
schema_config = schema_configuration.SchemaConfiguration()
schema_config = schema_configuration.SchemaConfiguration(
disabled_json_schema_keywords={'format'}
)
used_api_client = api_client.ApiClient(configuration=api_config, schema_configuration=schema_config)
api = post.ApiForPost(api_client=used_api_client) # noqa: E501

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,9 @@ class TestPost(ApiTestMixin, unittest.TestCase):
Post unit test stubs
"""
api_config = api_configuration.ApiConfiguration()
schema_config = schema_configuration.SchemaConfiguration()
schema_config = schema_configuration.SchemaConfiguration(
disabled_json_schema_keywords={'format'}
)
used_api_client = api_client.ApiClient(configuration=api_config, schema_configuration=schema_config)
api = post.ApiForPost(api_client=used_api_client) # noqa: E501

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,9 @@ class TestPost(ApiTestMixin, unittest.TestCase):
Post unit test stubs
"""
api_config = api_configuration.ApiConfiguration()
schema_config = schema_configuration.SchemaConfiguration()
schema_config = schema_configuration.SchemaConfiguration(
disabled_json_schema_keywords={'format'}
)
used_api_client = api_client.ApiClient(configuration=api_config, schema_configuration=schema_config)
api = post.ApiForPost(api_client=used_api_client) # noqa: E501

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,9 @@ class TestPost(ApiTestMixin, unittest.TestCase):
Post unit test stubs
"""
api_config = api_configuration.ApiConfiguration()
schema_config = schema_configuration.SchemaConfiguration()
schema_config = schema_configuration.SchemaConfiguration(
disabled_json_schema_keywords={'format'}
)
used_api_client = api_client.ApiClient(configuration=api_config, schema_configuration=schema_config)
api = post.ApiForPost(api_client=used_api_client) # noqa: E501

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,9 @@ class TestPost(ApiTestMixin, unittest.TestCase):
Post unit test stubs
"""
api_config = api_configuration.ApiConfiguration()
schema_config = schema_configuration.SchemaConfiguration()
schema_config = schema_configuration.SchemaConfiguration(
disabled_json_schema_keywords={'format'}
)
used_api_client = api_client.ApiClient(configuration=api_config, schema_configuration=schema_config)
api = post.ApiForPost(api_client=used_api_client) # noqa: E501

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,9 @@ class TestPost(ApiTestMixin, unittest.TestCase):
Post unit test stubs
"""
api_config = api_configuration.ApiConfiguration()
schema_config = schema_configuration.SchemaConfiguration()
schema_config = schema_configuration.SchemaConfiguration(
disabled_json_schema_keywords={'format'}
)
used_api_client = api_client.ApiClient(configuration=api_config, schema_configuration=schema_config)
api = post.ApiForPost(api_client=used_api_client) # noqa: E501

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,9 @@ class TestPost(ApiTestMixin, unittest.TestCase):
Post unit test stubs
"""
api_config = api_configuration.ApiConfiguration()
schema_config = schema_configuration.SchemaConfiguration()
schema_config = schema_configuration.SchemaConfiguration(
disabled_json_schema_keywords={'format'}
)
used_api_client = api_client.ApiClient(configuration=api_config, schema_configuration=schema_config)
api = post.ApiForPost(api_client=used_api_client) # noqa: E501

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,9 @@ class TestPost(ApiTestMixin, unittest.TestCase):
Post unit test stubs
"""
api_config = api_configuration.ApiConfiguration()
schema_config = schema_configuration.SchemaConfiguration()
schema_config = schema_configuration.SchemaConfiguration(
disabled_json_schema_keywords={'format'}
)
used_api_client = api_client.ApiClient(configuration=api_config, schema_configuration=schema_config)
api = post.ApiForPost(api_client=used_api_client) # noqa: E501

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,9 @@ class TestPost(ApiTestMixin, unittest.TestCase):
Post unit test stubs
"""
api_config = api_configuration.ApiConfiguration()
schema_config = schema_configuration.SchemaConfiguration()
schema_config = schema_configuration.SchemaConfiguration(
disabled_json_schema_keywords={'format'}
)
used_api_client = api_client.ApiClient(configuration=api_config, schema_configuration=schema_config)
api = post.ApiForPost(api_client=used_api_client) # noqa: E501

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,9 @@ class TestPost(ApiTestMixin, unittest.TestCase):
Post unit test stubs
"""
api_config = api_configuration.ApiConfiguration()
schema_config = schema_configuration.SchemaConfiguration()
schema_config = schema_configuration.SchemaConfiguration(
disabled_json_schema_keywords={'format'}
)
used_api_client = api_client.ApiClient(configuration=api_config, schema_configuration=schema_config)
api = post.ApiForPost(api_client=used_api_client) # noqa: E501

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,9 @@ class TestPost(ApiTestMixin, unittest.TestCase):
Post unit test stubs
"""
api_config = api_configuration.ApiConfiguration()
schema_config = schema_configuration.SchemaConfiguration()
schema_config = schema_configuration.SchemaConfiguration(
disabled_json_schema_keywords={'format'}
)
used_api_client = api_client.ApiClient(configuration=api_config, schema_configuration=schema_config)
api = post.ApiForPost(api_client=used_api_client) # noqa: E501

Expand Down
Loading