test/

directory
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 15, 2026 License: Apache-2.0

README

oapi-codegen internal tests

Please note, we have a number of directories here, testing various topics. Try to find an existing topic to extend when making new tests, or if the topic is unrelated to what we have, make a new one.

Wherever tests depend on the runtime package, we import our pre-generated runtime package from the repo root, except parameter tests, where we generate it inline, since we want to test that code path and dead code elimination, both of which are most heavily exercised in parameters code.

Directories

Path Synopsis
Package callbacks tests callback initiator and receiver code generation.
Package callbacks tests callback initiator and receiver code generation.
components
all_of
Package all_of tests allOf schema composition including inheritance chains, required field merging, and nested allOf with additional properties.
Package all_of tests allOf schema composition including inheritance chains, required field merging, and nested allOf with additional properties.
allof_with_properties/additional_properties
Package additional_properties tests allOf composition where members have additionalProperties: true.
Package additional_properties tests allOf composition where members have additionalProperties: true.
allof_with_properties/additional_properties_merge
Package additional_properties_merge tests all combinations of allOf merging with different additionalProperties configurations (true, false, typed, default).
Package additional_properties_merge tests all combinations of allOf merging with different additionalProperties configurations (true, false, typed, default).
allof_with_properties/format
Package format tests allOf used to apply format constraints (uuid, date) to a base string type.
Package format tests allOf used to apply format constraints (uuid, date) to a base string type.
allof_with_properties/same_level
Package same_level tests that properties defined at the same level as allOf are included in the generated type, not ignored.
Package same_level tests that properties defined at the same level as allOf are included in the generated type, not ignored.
any_of_enums
Package any_of_enums tests that enum types are generated for properties inside anyOf member schemas.
Package any_of_enums tests that enum types are generated for properties inside anyOf member schemas.
any_of_inline
Package any_of_inline tests inline anyOf schema composition with response schemas containing multiple object variants.
Package any_of_inline tests inline anyOf schema composition with response schemas containing multiple object variants.
any_of_single_ref
Package any_of_single_ref tests anyOf with a single $ref — should generate a typed property, not interface{}.
Package any_of_single_ref tests anyOf with a single $ref — should generate a typed property, not interface{}.
composition
Package composition tests complex component schemas including additionalProperties, oneOf/anyOf patterns, enums, readOnly/writeOnly, and x-go-name.
Package composition tests complex component schemas including additionalProperties, oneOf/anyOf patterns, enums, readOnly/writeOnly, and x-go-name.
default_values
Package default_values tests default value handling in generated types.
Package default_values tests default value handling in generated types.
enums/illegal_names
Package illegal_names tests enum constant generation with edge cases.
Package illegal_names tests enum constant generation with edge cases.
nested_aggregate
Package nested_aggregate tests complex nesting of allOf, anyOf, and oneOf: arrays of anyOf, objects with anyOf/oneOf properties, allOf containing oneOf, oneOf with nested allOf and field preservation, and composition with enums.
Package nested_aggregate tests complex nesting of allOf, anyOf, and oneOf: arrays of anyOf, objects with anyOf/oneOf properties, allOf containing oneOf, oneOf with nested allOf and field preservation, and composition with enums.
nullable
Package nullable tests nullable type generation with required/optional combinations.
Package nullable tests nullable type generation with required/optional combinations.
objects
Package objects tests object schemas with additionalProperties configurations.
Package objects tests object schemas with additionalProperties configurations.
one_of_discriminator_multi_mapping
Package one_of_discriminator_multi_mapping tests oneOf with a discriminator having multiple mapping entries pointing to the same schema.
Package one_of_discriminator_multi_mapping tests oneOf with a discriminator having multiple mapping entries pointing to the same schema.
one_of_string_enums
Package one_of_string_enums tests oneOf with single-value string enum variants (undefined, registered, pending, active).
Package one_of_string_enums tests oneOf with single-value string enum variants (undefined, registered, pending, active).
primitives/aliased_date
Package aliased_date tests aliased date-format types.
Package aliased_date tests aliased date-format types.
primitives/untyped_properties
Package untyped_properties tests properties with no type field.
Package untyped_properties tests properties with no type field.
recursive
Package recursive tests that recursive types are handled properly.
Package recursive tests that recursive types are handled properly.
recursive_all_of
Package recursive_all_of tests recursive allOf self-references in schema definitions without causing a stack overflow.
Package recursive_all_of tests recursive allOf self-references in schema definitions without causing a stack overflow.
recursive_one_of
Package recursive_one_of tests recursive/circular oneOf schema references (FilterPredicate pattern).
Package recursive_one_of tests recursive/circular oneOf schema references (FilterPredicate pattern).
schemas
Package schemas tests comprehensive schema generation including generic objects, nullable properties, custom formats, extra-tags, deprecated fields, and x-go-type-name.
Package schemas tests comprehensive schema generation including generic objects, nullable properties, custom formats, extra-tags, deprecated fields, and x-go-type-name.
extensions
x_go_type/enum_override
Package enum_override tests x-go-type-name on enum types.
Package enum_override tests x-go-type-name on enum types.
x_go_type/object_override
Package object_override tests x-go-type-name on nested object types.
Package object_override tests x-go-type-name on nested object types.
x_go_type/skip_pointer
Package skip_pointer tests x-go-type with skip-optional-pointer and x-go-type-import.
Package skip_pointer tests x-go-type with skip-optional-pointer and x-go-type-import.
x_order
Package x_order tests field ordering via x-order extension.
Package x_order tests field ordering via x-order extension.
imports
Package imports tests external dependencies with import resolution.
Package imports tests external dependencies with import resolution.
multi_package_response
Package multi_package_response tests multi-package response schemas.
Package multi_package_response tests multi-package response schemas.
multi_spec
Package multi_spec tests multi-spec cross-package imports.
Package multi_spec tests multi-spec cross-package imports.
overlays
Package overlays tests spec overlays and external refs.
Package overlays tests spec overlays and external refs.
removed_ref
Package removed_ref tests external reference filtering.
Package removed_ref tests external reference filtering.
response_refs
Package response_refs tests external response refs across specs.
Package response_refs tests external response refs across specs.
Package name_conflict_resolution tests comprehensive type name collision resolution.
Package name_conflict_resolution tests comprehensive type name collision resolution.
head_digit_op_id
Package head_digit_op_id tests operation IDs starting with digits.
Package head_digit_op_id tests operation IDs starting with digits.
inline_identifiers
Package inline_identifiers tests that inline schemas generate valid Go identifiers.
Package inline_identifiers tests that inline schemas generate valid Go identifiers.
underscore_mapping
Package underscore_mapping tests underscore field name mapping.
Package underscore_mapping tests underscore field name mapping.
output_options
name_normalizer
Package name_normalizer tests name normalization behavior.
Package name_normalizer tests name normalization behavior.
skip_optional_pointer/arrays
Package arrays tests skip-optional-pointer with arrays and additionalProperties.
Package arrays tests skip-optional-pointer with arrays and additionalProperties.
skip_optional_pointer/containers
Package containers tests skip-optional-pointer on container types.
Package containers tests skip-optional-pointer on container types.
skip_prune
Package skip_prune tests skip-prune configuration for unreferenced schemas.
Package skip_prune tests skip-prune configuration for unreferenced schemas.
parameters
all_styles
Package all_styles tests parameter type generation across all locations and styles.
Package all_styles tests parameter type generation across all locations and styles.
any_of
Package any_of tests anyOf and oneOf types used in query parameters, including complex object schemas and primitive type unions.
Package any_of tests anyOf and oneOf types used in query parameters, including complex object schemas and primitive type unions.
encoding
Package encoding tests path parameter escaping and special characters.
Package encoding tests path parameter escaping and special characters.
precedence
Package precedence tests operation-level parameters overriding path-level parameters.
Package precedence tests operation-level parameters overriding path-level parameters.
roundtrip/client
Package client contains the generated client for the parameter roundtrip test.
Package client contains the generated client for the parameter roundtrip test.
roundtrip/stdhttp
Package stdhttp contains the std-http server for the parameter roundtrip test.
Package stdhttp contains the std-http server for the parameter roundtrip test.
request_response
content_types/custom_json
Package custom_json tests custom JSON content types (application/test+json).
Package custom_json tests custom JSON content types (application/test+json).
content_types/custom_schema
Package custom_schema tests custom content-type schema handling.
Package custom_schema tests custom content-type schema handling.
content_types/multiple
Package multiple tests multiple content types in responses.
Package multiple tests multiple content types in responses.
Package webhooks tests webhook initiator and receiver code generation.
Package webhooks tests webhook initiator and receiver code generation.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL