fixtures

package module
v0.36.0 Latest Latest
Warning

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

Go to latest
Published: Jul 31, 2026 License: Apache-2.0 Imports: 0 Imported by: 0

Documentation

Overview

Package fixtures holds test source code for the scanner.

Directories

Path Synopsis
bugs
1026
Package bug1026 probes whether a custom vendor extension (x-logo) can be declared in the swagger:meta block — the #1026 "x-logo feature" request is satisfied by generic InfoExtensions support rather than a dedicated knob.
Package bug1026 probes whether a custom vendor extension (x-logo) can be declared in the swagger:meta block — the #1026 "x-logo feature" request is satisfied by generic InfoExtensions support rather than a dedicated knob.
1092
Package r1092 probes a swagger:meta with colon-bearing prose lines (#1092).
Package r1092 probes a swagger:meta with colon-bearing prose lines (#1092).
1109/bodyref
Package bodyref reproduces go-swagger issue #1109 using casualjim's recommended "200: body:order" form, which references a model as the response body.
Package bodyref reproduces go-swagger issue #1109 using casualjim's recommended "200: body:order" form, which references a model as the response body.
1109/responseref
Package responseref reproduces go-swagger issue #1109 using the OP's exact "200: order" form, where "order" names a model (not a named response object).
Package responseref reproduces go-swagger issue #1109 using the OP's exact "200: order" form, where "order" names a model (not a named response object).
1121
Package bug1121 probes whether tag descriptions (the OAI root-level tags section, with description / externalDocs per tag) can be declared from code.
Package bug1121 probes whether tag descriptions (the OAI root-level tags section, with description / externalDocs per tag) can be declared from code.
1395
The Documentation of project is described here.
The Documentation of project is described here.
1587/josev2
Package jose lives in a directory ("josev2") whose name does NOT match the package name ("jose") — like gopkg.in/square/go-jose.v2 in the issue.
Package jose lives in a directory ("josev2") whose name does NOT match the package name ("jose") — like gopkg.in/square/go-jose.v2 in the issue.
1595
Package bug1595 reproduces go-swagger#1595: a swagger:operation written in a /* */ block comment must scan like its // equivalent.
Package bug1595 reproduces go-swagger#1595: a swagger:operation written in a /* */ block comment must scan like its // equivalent.
1726
Package bug1726 covers go-swagger#1726: markdown-style bullet lists (`* item`, `+ item`) must be identified as lists exactly like the YAML-style dash form (`- item`), everywhere the annotation language recognises a list.
Package bug1726 covers go-swagger#1726: markdown-style bullet lists (`* item`, `+ item`) must be identified as lists exactly like the YAML-style dash form (`- item`), everywhere the annotation language recognises a list.
1742/api
Package api holds a parameters struct in a DIFFERENT package from the route that references it (go-swagger#1742).
Package api holds a parameters struct in a DIFFERENT package from the route that references it (go-swagger#1742).
1955/paramsx
Package paramsx holds a parameters struct used by a swagger:operation in another package (go-swagger#1955).
Package paramsx holds a parameters struct used by a swagger:operation in another package (go-swagger#1955).
2002/api
Package api holds a body type referenced from another package (go-swagger#2002).
Package api holds a body type referenced from another package (go-swagger#2002).
2125
Documentation for API.
Documentation for API.
2294
Package bug2294 is the witness for go-swagger#2294: a global Security requirement that combines TWO schemes with AND logic — both must be satisfied.
Package bug2294 is the witness for go-swagger#2294: a global Security requirement that combines TWO schemes with AND logic — both must be satisfied.
2403
Package bug2403 is the witness for go-swagger#2403: a global Security requirement in swagger:meta written as a YAML sequence.
Package bug2403 is the witness for go-swagger#2403: a global Security requirement in swagger:meta written as a YAML sequence.
2540/foo
Package docs SwagTest
Package docs SwagTest
2549/sub
Package sub provides an imported numeric-ish type.
Package sub provides an imported numeric-ish type.
2637
Package bug2637 reproduces go-swagger issue #2637 ("Cyclic type definition for defined types using the same name"): a local type defined from a same-named type in another package collides on the short key and the definition gets a SELF-$ref alongside its properties — an invalid, self- cyclic definition that hangs downstream codegen.
Package bug2637 reproduces go-swagger issue #2637 ("Cyclic type definition for defined types using the same name"): a local type defined from a same-named type in another package collides on the short key and the definition gets a SELF-$ref alongside its properties — an invalid, self- cyclic definition that hangs downstream codegen.
2638
Package bug2638 reproduces go-swagger issue #2638 ("Improper handling of multiple variables on one line"): a struct field group declaring several names on one line (`R, G, B, A uint8`) must emit one property per name, instead of a single mislabeled property.
Package bug2638 reproduces go-swagger issue #2638 ("Improper handling of multiple variables on one line"): a struct field group declaring several names on one line (`R, G, B, A uint8`) must emit one property per name, instead of a single mislabeled property.
2651
Package bug2651 reproduces go-swagger issue #2651: an operation that mixes inline `swagger:operation` parameters with a `swagger:parameters`-bound struct mis-binds — the bound body schema is attached to the inline path parameter instead of becoming its own body parameter.
Package bug2651 reproduces go-swagger issue #2651: an operation that mixes inline `swagger:operation` parameters with a `swagger:parameters`-bound struct mis-binds — the bound body schema is attached to the inline path parameter instead of becoming its own body parameter.
2655
Package bug2655 reproduces go-swagger issue #2655 (tag metadata ignored): a tag list in swagger:meta must populate the top-level tags section (with per-tag descriptions, externalDocs and vendor extensions), not be swallowed into info.description.
Package bug2655 reproduces go-swagger issue #2655 (tag metadata ignored): a tag list in swagger:meta must populate the top-level tags section (with per-tag descriptions, externalDocs and vendor extensions), not be swallowed into info.description.
2701
Package bug2701 reproduces go-swagger issue #2701 ("In path parameter for an embedded struct is ignored and thus defaults to query"): an `in: path` annotation on an EMBEDDED struct field in a swagger:parameters type is ignored — the promoted fields default to `in: query`.
Package bug2701 reproduces go-swagger issue #2701 ("In path parameter for an embedded struct is ignored and thus defaults to query"): an `in: path` annotation on an EMBEDDED struct field in a swagger:parameters type is ignored — the promoted fields default to `in: query`.
2783
Package bug2783 reproduces go-swagger issue #2783 ("Models get mixed when using structs from several packages"): two packages each declare a swagger:model named Test.
Package bug2783 reproduces go-swagger issue #2783 ("Models get mixed when using structs from several packages"): two packages each declare a swagger:model named Test.
2799
Package main An example API
Package main An example API
2804
Package bug2804 reproduces go-swagger issue #2804 ("Should swagger:parameters support map[string][]string?"): a map-typed swagger:parameters field crashes the scan with a nil-pointer dereference in parameterBuilder.buildFromField (Schema.Typed on a nil schema), rather than producing a parameter or a diagnostic.
Package bug2804 reproduces go-swagger issue #2804 ("Should swagger:parameters support map[string][]string?"): a map-typed swagger:parameters field crashes the scan with a nil-pointer dereference in parameterBuilder.buildFromField (Schema.Typed on a nil schema), rather than producing a parameter or a diagnostic.
2872
Package bug2872 reproduces go-swagger issue #2872 ("ExternalDocs are not generating the 2.0 spec on swagger:meta"): an ExternalDocs block in swagger:meta is not emitted (KwExternalDocs exists in the grammar but is not wired into the meta/info builder).
Package bug2872 reproduces go-swagger issue #2872 ("ExternalDocs are not generating the 2.0 spec on swagger:meta"): an ExternalDocs block in swagger:meta is not emitted (KwExternalDocs exists in the grammar but is not wired into the meta/info builder).
2909
Package bug2909 reproduces go-swagger issue #2909 ("Regular cannot generate swagger automatically"): a route path with an inline regex segment (gorilla/chi style, e.g.
Package bug2909 reproduces go-swagger issue #2909 ("Regular cannot generate swagger automatically"): a route path with an inline regex segment (gorilla/chi style, e.g.
2922
Package bug2922 reproduces go-swagger issue #2922 ("enum description: superfluous name&values"): the enum const-name mapping (e.g.
Package bug2922 reproduces go-swagger issue #2922 ("enum description: superfluous name&values"): the enum const-name mapping (e.g.
2942
Package bug2942 reproduces go-swagger issue #2942 ("how can i generate spec with a simple string response").
Package bug2942 reproduces go-swagger issue #2942 ("how can i generate spec with a simple string response").
2985
Package bug2985 reproduces go-swagger issue #2985 ("Need minAttributes and maxAttributes in the swagger:model annotation"): code-to-spec lacks minProperties / maxProperties support that spec-to-code already has.
Package bug2985 reproduces go-swagger issue #2985 ("Need minAttributes and maxAttributes in the swagger:model annotation"): code-to-spec lacks minProperties / maxProperties support that spec-to-code already has.
3005
Package bug3005 covers go-swagger issue #3005 ("additionalProperties are lost when generating spec from code"): a model wants named properties AND additionalProperties.
Package bug3005 covers go-swagger issue #3005 ("additionalProperties are lost when generating spec from code"): a model wants named properties AND additionalProperties.
301
3013
Package bug3013 reproduces go-swagger issue #3013 ("How to set an example value for array/string response type?"): an `example:` annotation on a response whose body is a top-level array type is dropped.
Package bug3013 reproduces go-swagger issue #3013 ("How to set an example value for array/string response type?"): an `example:` annotation on a response whose body is a top-level array type is dropped.
3035
Package bug3035 reproduces go-swagger issue #3035 ("Example spec for swagger:response does not produce example output"): a swagger:response whose body is an anonymous inline struct used to emit only the response description, with no schema at all — so field-level Example/Required and property descriptions were lost.
Package bug3035 reproduces go-swagger issue #3035 ("Example spec for swagger:response does not produce example output"): a swagger:response whose body is an anonymous inline struct used to emit only the response description, with no schema at all — so field-level Example/Required and property descriptions were lost.
3069
Package bug3069 demonstrates the resolution to go-swagger issue #3069 ("Is there a way to change the representation of one parameter of the request object?").
Package bug3069 demonstrates the resolution to go-swagger issue #3069 ("Is there a way to change the representation of one parameter of the request object?").
3100
Package bug3100 reproduces go-swagger issue #3100: a parameter declared with `in: formData` inside an inline `swagger:route` annotation lost its `in` field in the generated spec (the scanner only recognised `form`), so the parameter rendered with name/type/description but no `in`.
Package bug3100 reproduces go-swagger issue #3100: a parameter declared with `in: formData` inside an inline `swagger:route` annotation lost its `in` field in the generated spec (the scanner only recognised `form`), so the parameter rendered with name/type/description but no `in`.
3107/api
Package api carries the route whose response references the model in a sibling package, exercising cross-package type resolution for issue #3107.
Package api carries the route whose response references the model in a sibling package, exercising cross-package type resolution for issue #3107.
3107/model
Package model reproduces go-swagger issue #3107 ("No struct definition in swagger generate"): under `generate spec -m`, MyStruct was emitted as an empty definition carrying only `x-go-package`, with its fields dropped.
Package model reproduces go-swagger issue #3107 ("No struct definition in swagger generate"): under `generate spec -m`, MyStruct was emitted as an empty definition carrying only `x-go-package`, with its fields dropped.
3138
Package bug3138 reproduces go-swagger issue #3138 ("How To mark a field as deprecated?").
Package bug3138 reproduces go-swagger issue #3138 ("How To mark a field as deprecated?").
3213
Package bug3213 reproduces go-swagger issue #3213 ("Consider TypeSpec comments"): annotations and doc comments attached to an individual TypeSpec inside a grouped `type ( ...
Package bug3213 reproduces go-swagger issue #3213 ("Consider TypeSpec comments"): annotations and doc comments attached to an individual TypeSpec inside a grouped `type ( ...
3214
Package bug3214 reproduces go-swagger issue #3214: a struct field that references a named primitive type whose doc comment carries both prose and an inline `enum:` annotation.
Package bug3214 reproduces go-swagger issue #3214: a struct field that references a named primitive type whose doc comment carries both prose and an inline `enum:` annotation.
334
413
413/maps
Package maps stands in for an external library (googlemaps.github.io/maps) whose exported struct carries a custom-typed field.
Package maps stands in for an external library (googlemaps.github.io/maps) whose exported struct carries a custom-typed field.
439
613
622
796
A Bug API
A Bug API
834
91
958
Package bug958 reproduces go-swagger issue #958 ("how to specify sample values in user structs"): a field-level `default:` / `example:` was carried for a plain builtin field but dropped when the field used a named (defined) type such as `type SpecificType string`.
Package bug958 reproduces go-swagger issue #958 ("how to specify sample values in user structs"): a field-level `default:` / `example:` was carried for a plain builtin field but dropped when the field used a named (defined) type such as `type SpecificType string`.
977
989
enhancements
additional-properties
Package additionalprops exercises the type-level swagger:additionalProperties marker: true / false / a typed value / a model reference, the map-override case, coexistence with other object validations, and the lowest-priority precedence rule (the marker only rides on an object).
Package additionalprops exercises the type-level swagger:additionalProperties marker: true / false / a typed value / a model reference, the map-override case, coexistence with other object validations, and the lowest-priority precedence rule (the marker only rides on an object).
additional-properties-field
Package apfield exercises the field-level additionalProperties: keyword: overriding a map element schema, true/typed/model-reference values, the allOf-sibling form on a referenced-model field, and the lowest-priority contradiction on a non-object field.
Package apfield exercises the field-level additionalProperties: keyword: overriding a map element schema, true/typed/model-reference values, the allOf-sibling form on a referenced-model field, and the lowest-priority contradiction on a non-object field.
additional-properties-simpleschema
Package apsimpleschema is the safeguard witness: additionalProperties and patternProperties are object-schema keywords with no OAS2 SimpleSchema form, so on a non-body parameter or a response header they must be dropped with a CodeUnsupportedInSimpleSchema diagnostic — never silently absorbed.
Package apsimpleschema is the safeguard witness: additionalProperties and patternProperties are object-schema keywords with no OAS2 SimpleSchema form, so on a non-body parameter or a response header they must be dropped with a CodeUnsupportedInSimpleSchema diagnostic — never silently absorbed.
after-decl-comments
Package after_decl_comments witnesses the AfterDeclComments opt-in: swagger annotations live INSIDE a declaration (a struct's leading body comment) or INLINED as a trailing comment, so the godoc above the declaration stays clean.
Package after_decl_comments witnesses the AfterDeclComments opt-in: swagger annotations live INSIDE a declaration (a struct's leading body comment) or INLINED as a trailing comment, so the godoc above the declaration stays clean.
alias-calibration-embed
Package alias_calibration_embed exercises the schema builder's alias handling at two reach contexts:
Package alias_calibration_embed exercises the schema builder's alias handling at two reach contexts:
alias-calibration-primitive
Package alias_calibration_primitive exercises the schema builder's alias handling at the simplest decl-level scenario: aliases of primitives, with the annotation-vs-auto-discovery distinction visible side by side.
Package alias_calibration_primitive exercises the schema builder's alias handling at the simplest decl-level scenario: aliases of primitives, with the annotation-vs-auto-discovery distinction visible side by side.
alias-calibration-stdlib
Package alias_calibration_stdlib exercises the schema builder's alias handling for stdlib-special RHS types (`time.Time`, `error`, `json.RawMessage`, `any`).
Package alias_calibration_stdlib exercises the schema builder's alias handling for stdlib-special RHS types (`time.Time`, `error`, `json.RawMessage`, `any`).
alias-expand
Package alias_expand exercises non-transparent alias handling for both parameter and response scanners.
Package alias_expand exercises non-transparent alias handling for both parameter and response scanners.
alias-findmodel-witness
Package alias_findmodel_witness exercises the parameters and responses builders' GetModel calls on alias targets that are not annotated with swagger:model — the FindDecl-fallback path.
Package alias_findmodel_witness exercises the parameters and responses builders' GetModel calls on alias targets that are not annotated with swagger:model — the FindDecl-fallback path.
alias-parameters-calibration
Package alias_parameters_calibration exercises the parameters builder's alias handling across three reach contexts:
Package alias_parameters_calibration exercises the parameters builder's alias handling across three reach contexts:
alias-response
Package alias_response exercises response-level top-alias handling.
Package alias_response exercises response-level top-alias handling.
alias-response-shapes
Package alias_response_shapes captures Q4-exploration goldens for the response builder's alias handling on MEMBER fields:
Package alias_response_shapes captures Q4-exploration goldens for the response builder's alias handling on MEMBER fields:
alias-responses-calibration
Package alias_responses_calibration exercises the responses builder's alias handling across three reach contexts:
Package alias_responses_calibration exercises the responses builder's alias handling across three reach contexts:
all-http-methods
Package all_http_methods declares one handler per HTTP verb so that setPathOperation walks the PATCH, HEAD and OPTIONS branches alongside the already-tested GET/POST/PUT/DELETE.
Package all_http_methods declares one handler per HTTP verb so that setPathOperation walks the PATCH, HEAD and OPTIONS branches alongside the already-tested GET/POST/PUT/DELETE.
allof-edges
Package allof_edges exercises allOf composition edge cases: pointer members, time.Time members, strfmt-tagged members, and interface members.
Package allof_edges exercises allOf composition edge cases: pointer members, time.Time members, strfmt-tagged members, and interface members.
default-allof-embeds
Package default_allof_embeds exercises Options.DefaultAllOfForEmbeds — the opt-in that renders a plain struct embed as allOf composition instead of inlining the embedded type's properties.
Package default_allof_embeds exercises Options.DefaultAllOfForEmbeds — the opt-in that renders a plain struct embed as allOf composition instead of inlining the embedded type's properties.
default-allof-embeds-override
Package defaultallofembedsoverride is the minimal repro for what happens to a field-override embed under Options.DefaultAllOfForEmbeds.
Package defaultallofembedsoverride is the minimal repro for what happens to a field-override embed under Options.DefaultAllOfForEmbeds.
defaults-examples
Package defaults_examples exercises default and example tag parsing across numeric, array and object schema types.
Package defaults_examples exercises default and example tag parsing across numeric, array and object schema types.
description-title-override
Package description_title_override witnesses the swagger:title / swagger:description override annotations (Q30 close-out): an explicit annotation replaces the godoc-derived title / description so the Go-facing doc comment can diverge from the API-facing spec text.
Package description_title_override witnesses the swagger:title / swagger:description override annotations (Q30 close-out): an explicit annotation replaces the godoc-derived title / description so the Go-facing doc comment can diverge from the API-facing spec text.
description-title-override-responses
Package description_title_override_responses witnesses the swagger:description override on responses and response headers (P3 of the override feature, Q30 close-out), plus the swagger:title context error: OpenAPI 2.0 Response and Header objects have no `title` field, so a swagger:title on a response / header is rejected with scan.context-invalid and the description override is still applied.
Package description_title_override_responses witnesses the swagger:description override on responses and response headers (P3 of the override feature, Q30 close-out), plus the swagger:title context error: OpenAPI 2.0 Response and Header objects have no `title` field, so a swagger:title on a response / header is rejected with scan.context-invalid and the description override is still applied.
diagnostics
Package diagnostics carries fixtures that exercise the schema builder's diagnostic emission path.
Package diagnostics carries fixtures that exercise the schema builder's diagnostic emission path.
discriminated-subtypes
Package discriminatedsubtypes exercises the auto-discovery of discriminator subtypes of a referenced base (go-swagger#1913).
Package discriminatedsubtypes exercises the auto-discovery of discriminator subtypes of a referenced base (go-swagger#1913).
discriminated-subtypes-nested
Package discriminatednested exercises a MULTI-LEVEL polymorphic hierarchy: a subtype of a discriminated base that is itself a discriminated base (go-swagger#1913).
Package discriminatednested exercises a MULTI-LEVEL polymorphic hierarchy: a subtype of a discriminated base that is itself a discriminated base (go-swagger#1913).
discriminated-subtypes/base
Package base holds the polymorphic bases, in a package of their own so that subtypes can live in more than one other package without an import cycle.
Package base holds the polymorphic bases, in a package of their own so that subtypes can live in more than one other package without an import cycle.
discriminated-subtypes/edges
Package edges holds the embed shapes the reverse index must classify, in a family NO route references — so it also locks the other half of the gate: a discriminated base that never enters the reachable set pulls nothing in.
Package edges holds the embed shapes the reverse index must classify, in a family NO route references — so it also locks the other half of the gate: a discriminated base that never enters the reachable set pulls nothing in.
discriminated-subtypes/sub
Package sub holds a subtype declared in a package other than the base's, so the reverse `swagger:allOf` index is exercised across package boundaries.
Package sub holds a subtype declared in a package other than the base's, so the reverse `swagger:allOf` index is exercised across package boundaries.
embed-inheritance
Package embedinheritance exercises the generalized "annotations on an embedded field apply to the members it promotes" rule (go-swagger#2701) beyond parameters: a `required:` annotation on an embed propagates to the promoted properties of a model schema, and of a response body schema (which is built through the same schema builder).
Package embedinheritance exercises the generalized "annotations on an embedded field apply to the members it promotes" rule (go-swagger#2701) beyond parameters: a `required:` annotation on an embed propagates to the promoted properties of a model schema, and of a response body schema (which is built through the same schema builder).
embedded-types
Package embedded_types exercises schema-builder edge cases when a struct embeds an alias, a named empty interface, or the predeclared error interface.
Package embedded_types exercises schema-builder edge cases when a struct embeds an alias, a named empty interface, or the predeclared error interface.
emit-x-go-type
Package emitxgotype exercises the EmitXGoType option: every emitted definition should carry an x-go-type vendor extension recording its fully-qualified originating Go type, alongside the existing x-go-name / x-go-package traceability extensions.
Package emitxgotype exercises the EmitXGoType option: every emitted definition should carry an x-go-type vendor extension recording its fully-qualified originating Go type, alongside the existing x-go-name / x-go-package traceability extensions.
enum-docs
Package enum_docs exercises scanCtx.findEnumValue description building on const blocks that carry per-value doc comments and multi-name value specs so both the docs loop and the names separator are walked.
Package enum_docs exercises scanCtx.findEnumValue description building on const blocks that carry per-value doc comments and multi-name value specs so both the docs loop and the names separator are walked.
enum-overrides
Package enum_overrides isolates the v1 behavior of `enum:` when it coexists with (or replaces) `swagger:enum TypeName` const-value inference.
Package enum_overrides isolates the v1 behavior of `enum:` when it coexists with (or replaces) `swagger:enum TypeName` const-value inference.
external-docs-objects
Package externaldocsobjects exercises externalDocs on non-meta OAIv2 objects: operations (swagger:route + swagger:operation) and full schemas (swagger:model).
Package externaldocsobjects exercises externalDocs on non-meta OAIv2 objects: operations (swagger:route + swagger:operation) and full schemas (swagger:model).
external-docs/aliased
Package aliased exercises the `external docs` alias spelling and a url-only ExternalDocs block (no description).
Package aliased exercises the `external docs` alias spelling and a url-only ExternalDocs block (no description).
external-docs/empty
Package empty has an ExternalDocs block with no fields; it must NOT emit a useless `externalDocs: {}` (the OAS object requires url).
Package empty has an ExternalDocs block with no fields; it must NOT emit a useless `externalDocs: {}` (the OAS object requires url).
generic-instantiation
Package generic_instantiation exercises the generic-type instantiation short-circuit inside [Builder.buildNamedType]: when a named type has TypeArgs (i.e.
Package generic_instantiation exercises the generic-type instantiation short-circuit inside [Builder.buildNamedType]: when a named type has TypeArgs (i.e.
godoc-links
Package godoclinks exercises the CleanGoDoc godoc-syntax filter.
Package godoclinks exercises the CleanGoDoc godoc-syntax filter.
godoc-links/inventory
Package inventory provides a model referenced cross-package by a doc-link.
Package inventory provides a model referenced cross-package by a doc-link.
header-extensions
Package header_extensions exercises M2's new Walker.Extension wiring on the response-header path.
Package header_extensions exercises M2's new Walker.Extension wiring on the response-header path.
header-named-basic
Package header_named_basic pins the M1-follow-up fix that brought `in: header` parameters into the SimpleSchema-aware primitive- inline path.
Package header_named_basic pins the M1-follow-up fix that brought `in: header` parameters into the SimpleSchema-aware primitive- inline path.
in-case-insensitive
Package in_case_insensitive witnesses Q29 — the `in:` value must be normalised case-insensitively against the closed OAS v2 vocabulary (`query`, `path`, `header`, `body`, `formData`).
Package in_case_insensitive witnesses Q29 — the `in:` value must be normalised case-insensitively against the closed OAS v2 vocabulary (`query`, `path`, `header`, `body`, `formData`).
inner-markdown
Package inner_markdown exercises the swagger:description | literal block scalar (reframes go-swagger#3211): an author opts a description into verbatim markdown by ending the annotation line with the YAML literal-block marker `|`.
Package inner_markdown exercises the swagger:description | literal block scalar (reframes go-swagger#3211): an author opts a description into verbatim markdown by ending the annotation line with the YAML literal-block marker `|`.
interface-methods
Package interface_methods exercises the processInterfaceMethod and processAnonInterfaceMethod branches of the schema builder: non-exported methods, methods with parameters, methods with multiple returns, swagger:ignore methods, swagger:name overrides, swagger:strfmt returns, and pointer returns that may be x-nullable.
Package interface_methods exercises the processInterfaceMethod and processAnonInterfaceMethod branches of the schema builder: non-exported methods, methods with parameters, methods with multiple returns, swagger:ignore methods, swagger:name overrides, swagger:strfmt returns, and pointer returns that may be x-nullable.
interface-name-verbatim
Package interface_name_verbatim witnesses Q9's resolved post-Stream-M contract for interface-method property naming.
Package interface_name_verbatim witnesses Q9's resolved post-Stream-M contract for interface-method property naming.
interface-no-mangle
Package interface_no_mangle exercises Options.SkipJSONifyInterfaceMethods — the opt-out of the interface-method auto-jsonify mangler.
Package interface_no_mangle exercises Options.SkipJSONifyInterfaceMethods — the opt-out of the interface-method auto-jsonify mangler.
keyword-xpkg-leaf
Package keywordxpkg witnesses cross-package leaf resolution for the type-name keyword sites (swagger:additionalProperties, swagger:patternProperties, swagger:type): a bare type name that lives in ANOTHER package should resolve by leaf against the discovered model set — uniquely (promote to its definition) or, when several packages share the leaf, with an ambiguity diagnostic + drop.
Package keywordxpkg witnesses cross-package leaf resolution for the type-name keyword sites (swagger:additionalProperties, swagger:patternProperties, swagger:type): a bare type name that lives in ANOTHER package should resolve by leaf against the discovered model set — uniquely (promote to its definition) or, when several packages share the leaf, with an ambiguity diagnostic + drop.
malformed/bad-contact
Package bad_contact Probe API.
Package bad_contact Probe API.
malformed/bad-response-tag
Package bad_response_tag declares a swagger:route whose Responses block carries an unrecognised tag prefix, tripping parseTags's "invalid tag" branch.
Package bad_response_tag declares a swagger:route whose Responses block carries an unrecognised tag prefix, tripping parseTags's "invalid tag" branch.
malformed/bad-sec-defs
Package bad_sec_defs Probe API.
Package bad_sec_defs Probe API.
malformed/default-int
Package default_int carries a parameter with a `default:` value that does not parse as the declared type.
Package default_int carries a parameter with a `default:` value that does not parse as the declared type.
malformed/duplicate-body-tag
Package duplicate_body_tag declares a swagger:route whose Responses block has `body:` appearing twice so parseTags trips its "valid tag but not in a valid position" error branch.
Package duplicate_body_tag declares a swagger:route whose Responses block has `body:` appearing twice so parseTags trips its "valid tag but not in a valid position" error branch.
malformed/example-int
Package example_int carries a parameter with an `example:` value that does not parse as the declared int type, exercising setExample.Parse's error branch.
Package example_int carries a parameter with an `example:` value that does not parse as the declared int type, exercising setExample.Parse's error branch.
malformed/info-bad-ext-key
Package info_bad_ext_key Probe API.
Package info_bad_ext_key Probe API.
malformed/meta-bad-ext-key
Package meta_bad_ext_key Probe API.
Package meta_bad_ext_key Probe API.
meta-lists-flex-forms
Package meta_lists_flex_forms witnesses Property.AsList covering the meta (swagger:meta) annotation surface for list-shaped keywords.
Package meta_lists_flex_forms witnesses Property.AsList covering the meta (swagger:meta) annotation surface for list-shaped keywords.
meta-securitydefs-duplicate-keys
Package meta_securitydefs_duplicate_keys witnesses two intertwined behaviours of the swagger:meta SecurityDefinitions raw block.
Package meta_securitydefs_duplicate_keys witnesses two intertwined behaviours of the swagger:meta SecurityDefinitions raw block.
meta-tos-schemes-terminator
Package meta_tos_schemes_terminator pins the sibling raw-block terminator rule for `Terms Of Service:` (KwTOS) when immediately followed by `Schemes:` (KwSchemes).
Package meta_tos_schemes_terminator pins the sibling raw-block terminator rule for `Terms Of Service:` (KwTOS) when immediately followed by `Schemes:` (KwSchemes).
name-from-tags
Package name_from_tags witnesses the NameFromTags option: the emitted name of a schema property, query parameter, or response header is sourced from the first struct-tag type listed in Options.NameFromTags.
Package name_from_tags witnesses the NameFromTags option: the emitted name of a schema property, query parameter, or response header is sourced from the first struct-tag type listed in Options.NameFromTags.
name-identity-3way
Package threeway is a name-identity corpus member: THREE packages each declare a `swagger:model Widget` with distinct fields, all referenced from one container.
Package threeway is a name-identity corpus member: THREE packages each declare a `swagger:model Widget` with distinct fields, all referenced from one container.
name-identity-deep
Package deep is the name-identity pathological-depth corpus member (reserved for Stage 3).
Package deep is the name-identity pathological-depth corpus member (reserved for Stage 3).
name-identity-examples-no-mix
Package examplesnomix is the name-identity witness for go-swagger #2126 ("reference swagger models under a specific package"): two packages each declare `swagger:model Widget` with the SAME json field but DIFFERENT example values.
Package examplesnomix is the name-identity witness for go-swagger #2126 ("reference swagger models under a specific package"): two packages each declare `swagger:model Widget` with the SAME json field but DIFFERENT example values.
name-identity-hierarchical
Package hierarchical is the name-identity witness for the hierarchical fail-safe: two packages with LONG leaf names each declare `swagger:model Config`.
Package hierarchical is the name-identity witness for the hierarchical fail-safe: two packages with LONG leaf names each declare `swagger:model Config`.
name-identity-mixed
Package mixed is a name-identity corpus member exercising BOTH collision kinds in one tree:
Package mixed is a name-identity corpus member exercising BOTH collision kinds in one tree:
name-identity-no-collision
Package nocollision is the name-identity G5 control: distinct models with distinct names across packages, no collision anywhere.
Package nocollision is the name-identity G5 control: distinct models with distinct names across packages, no collision anywhere.
name-identity-recursion
Package recursion is a name-identity corpus member: the G3 control.
Package recursion is a name-identity corpus member: the G3 control.
name-identity-recursion-collision
Package recursioncollision is the name-identity witness that combines the two hard cases: a type that is BOTH self-recursive AND name-colliding across packages.
Package recursioncollision is the name-identity witness that combines the two hard cases: a type that is BOTH self-recursive AND name-colliding across packages.
name-identity-same-pkg-dup
Package samepkgdup is a name-identity corpus member for D-4: two DIFFERENT types in the SAME package both claim `swagger:model Dup`.
Package samepkgdup is a name-identity corpus member for D-4: two DIFFERENT types in the SAME package both claim `swagger:model Dup`.
named-basic
Package named_basic exercises the schemaBuilder.buildNamedBasic branches for named basic types carrying swagger:strfmt, swagger:type and swagger:default annotations.
Package named_basic exercises the schemaBuilder.buildNamedBasic branches for named basic types carrying swagger:strfmt, swagger:type and swagger:default annotations.
named-struct-tags
Package named_struct_tags exercises schemaBuilder.buildNamedStruct branches where a named struct referenced as a field carries a swagger:strfmt or swagger:type annotation that overrides its schema.
Package named_struct_tags exercises schemaBuilder.buildNamedStruct branches where a named struct referenced as a field carries a swagger:strfmt or swagger:type annotation that overrides its schema.
named-struct-tags-ref
Package named_struct_tags exercises schemaBuilder.buildNamedStruct branches where a named struct referenced as a field carries a swagger:strfmt or swagger:type annotation that overrides its schema.
Package named_struct_tags exercises schemaBuilder.buildNamedStruct branches where a named struct referenced as a field carries a swagger:strfmt or swagger:type annotation that overrides its schema.
object-keywords-context
Package objectkeywords exercises the context gating of the object validation keywords (minProperties / maxProperties / patternProperties):
Package objectkeywords exercises the context gating of the object validation keywords (minProperties / maxProperties / patternProperties):
param-name-keyword
Package param_name_keyword exercises the `name:` keyword on a swagger:parameters struct field.
Package param_name_keyword exercises the `name:` keyword on a swagger:parameters struct field.
parameters-map-postdecl
Package parameters_map_postdecl witnesses a bug in the parameters builder's buildFromFieldMap path.
Package parameters_map_postdecl witnesses a bug in the parameters builder's buildFromFieldMap path.
path-regex-stripping
Package pathregex exercises inline-regex path-parameter stripping across both the swagger:route and swagger:operation builders.
Package pathregex exercises inline-regex path-parameter stripping across both the swagger:route and swagger:operation builders.
pattern-properties
Package patternproperties exercises the patternProperties object schema keyword: a string-typed annotation whose argument is a regex.
Package patternproperties exercises the patternProperties object schema keyword: a string-typed annotation whose argument is a regex.
pattern-properties-typed
Package patternpropstyped exercises the typed patternProperties marker: quoted-regex to typed-value pairs (a primitive or a model $ref), RE2-hygiene checking, and the lowest-priority precedence rule.
Package patternpropstyped exercises the typed patternProperties marker: quoted-regex to typed-value pairs (a primitive or a model $ref), RE2-hygiene checking, and the lowest-priority precedence rule.
primitive-response
Package primitiveresponse exercises primitive response bodies declared via swagger:route response lines and swagger:response Body fields: bare and tagged primitives, arrays of primitives, the swagger:response workaround, and a model-ref control that must still resolve to a $ref (no regression).
Package primitiveresponse exercises primitive response bodies declared via swagger:route response lines and swagger:response Body fields: bare and tagged primitives, arrays of primitives, the swagger:response workaround, and a model-ref control that must still resolve to a $ref (no regression).
provenance-params-responses
Package provparamsresp exercises cross-ref jsonpointer anchoring for the parameters and responses builders:
Package provparamsresp exercises cross-ref jsonpointer anchoring for the parameters and responses builders:
provenance-schema-shapes
Package provenanceshapes exercises cross-ref jsonpointer anchoring through the schema builder's nested shapes, so the companion provenance pointer accurately tracks the spec node a Go construct produced:
Package provenanceshapes exercises cross-ref jsonpointer anchoring through the schema builder's nested shapes, so the companion provenance pointer accurately tracks the spec node a Go construct produced:
prune-unused
Package pruneunused exercises Options.PruneUnusedModels.
Package pruneunused exercises Options.PruneUnusedModels.
prune-unused/a
Package a holds the referenced half of the a.Thing / b.Thing collision pair.
Package a holds the referenced half of the a.Thing / b.Thing collision pair.
prune-unused/b
Package b holds the unreferenced half of the a.Thing / b.Thing collision pair.
Package b holds the unreferenced half of the a.Thing / b.Thing collision pair.
raw-message-override
Package raw_message_override exercises user-classifier overrides on json.RawMessage.
Package raw_message_override exercises user-classifier overrides on json.RawMessage.
ref-alias-chain
Package ref_alias_chain exercises buildDeclAlias under RefAliases=true with an alias-of-alias chain and aliases to well-known standard library types (time.Time, any).
Package ref_alias_chain exercises buildDeclAlias under RefAliases=true with an alias-of-alias chain and aliases to well-known standard library types (time.Time, any).
response-bodyfield-example
Package bodyfieldexample covers example: on a swagger:response struct Body field — array and scalar.
Package bodyfieldexample covers example: on a swagger:response struct Body field — array and scalar.
response-edges
Package response_edges exercises edge cases in the response builder: embedded response structs, time.Time header fields, strfmt-tagged named header fields, and top-level non-struct response payloads.
Package response_edges exercises edge cases in the response builder: embedded response structs, time.Time header fields, strfmt-tagged named header fields, and top-level non-struct response payloads.
response-examples-by-mime
Package response_examples_by_mime witnesses response-level `examples` (a map keyed by mime type) on a struct-based `swagger:response` (go-swagger#2871).
Package response_examples_by_mime witnesses response-level `examples` (a map keyed by mime type) on a struct-based `swagger:response` (go-swagger#2871).
response-file-types
Package response_file_types pins Q3's response-side fix: the `swagger:file` annotation on a `swagger:response` field is gated on `in: body`.
Package response_file_types pins Q3's response-side fix: the `swagger:file` annotation on a `swagger:response` field is gated on `in: body`.
response-header-ref-leak
Package response_header_ref_leak pins Q2's fix on the response side: a response-header field whose Go type triggers the schema builder's makeRef path no longer corrupts `response.Schema` with a $ref.
Package response_header_ref_leak pins Q2's fix on the response side: a response-header field whose Go type triggers the schema builder's makeRef path no longer corrupts `response.Schema` with a $ref.
response-implicit-header
Package response_implicit_header pins Q1's response-side fix: the `in:` annotation on a `swagger:response` Go struct's field is a scanner-side discriminator (OAS v2's wire format has no `in` on response headers) and an omitted line now explicitly defaults to "header" rather than falling through an incidental `in != "body"` check.
Package response_implicit_header pins Q1's response-side fix: the `in:` annotation on a `swagger:response` Go struct's field is a scanner-side discriminator (OAS v2's wire format has no `in` on response headers) and an omitted line now explicitly defaults to "header" rather than falling through an incidental `in != "body"` check.
response-name-keyword
Package response_name_keyword exercises the name keyword on a response struct field.
Package response_name_keyword exercises the name keyword on a response struct field.
response-toplevel-example
Package toplevelexample covers example: on top-level (non-struct) response body types — array and scalar — across placements (go-swagger#3013).
Package toplevelexample covers example: on top-level (non-struct) response body types — array and scalar — across placements (go-swagger#3013).
routes-description-dash-list
Package routes_description_dash_list witnesses the post-M6.5-C behaviour for route description lines that begin with `-` (a markdown list item).
Package routes_description_dash_list witnesses the post-M6.5-C behaviour for route description lines that begin with `-` (a markdown list item).
routes-description-yaml-fence-absorb
Package routes_description_yaml_fence_absorb witnesses the post-M6.5-C behaviour when a route's prose carries a stray `---` line.
Package routes_description_yaml_fence_absorb witnesses the post-M6.5-C behaviour when a route's prose carries a stray `---` line.
routes-full-petstore-shape
Package routes_full_petstore_shape exercises a swagger:route block using the full petstore-style metadata surface (Consumes / Produces / Schemes / Security / Tags / Parameters / Responses / Extensions) alongside the `+ name:` parameter sub-grammar.
Package routes_full_petstore_shape exercises a swagger:route block using the full petstore-style metadata surface (Consumes / Produces / Schemes / Security / Tags / Parameters / Responses / Extensions) alongside the `+ name:` parameter sub-grammar.
routes-lists-flex-forms
Package routes_lists_flex_forms witnesses the unified Property.AsList accepted surface forms for list-shaped keywords (schemes / consumes / produces).
Package routes_lists_flex_forms witnesses the unified Property.AsList accepted surface forms for list-shaped keywords (schemes / consumes / produces).
routes-multi-method-same-path
Package routes_multi_method_same_path exercises two handlers on the same path (GET + POST) with different parameter/response shapes — confirms the routes builder merges multiple operations under one path entry without cross-contamination.
Package routes_multi_method_same_path exercises two handlers on the same path (GET + POST) with different parameter/response shapes — confirms the routes builder merges multiple operations under one path entry without cross-contamination.
routes-params-body-array
Package routes_params_body_array exercises a body parameter that is an array of a referenced model: `type: []Pet`.
Package routes_params_body_array exercises a body parameter that is an array of a referenced model: `type: []Pet`.
routes-params-body-array-nested
Package routes_params_body_array_nested exercises nested-array body types: `type: [][]Item`.
Package routes_params_body_array_nested exercises nested-array body types: `type: [][]Item`.
routes-params-body-ref
Package routes_params_body_ref exercises a body parameter referencing a swagger:model.
Package routes_params_body_ref exercises a body parameter referencing a swagger:model.
routes-params-body-with-schema-validations
Package routes_params_body_with_schema_validations exercises the "force-the-spec" case: a body ref to a known model plus inline schema validations that land on param.Schema.{Minimum,Maximum,...} per legacy processSchema behavior.
Package routes_params_body_with_schema_validations exercises the "force-the-spec" case: a body ref to a known model plus inline schema validations that land on param.Schema.{Minimum,Maximum,...} per legacy processSchema behavior.
routes-params-empty-chunk
Package routes_params_empty_chunk exercises a bare `+` chunk with no following key:value lines.
Package routes_params_empty_chunk exercises a bare `+` chunk with no following key:value lines.
routes-params-form-string
Package routes_params_form_string exercises a form string parameter with allowempty: true.
Package routes_params_form_string exercises a form string parameter with allowempty: true.
routes-params-header-string
Package routes_params_header_string exercises a header string parameter with pattern and format.
Package routes_params_header_string exercises a header string parameter with pattern and format.
routes-params-multiple
Package routes_params_multiple exercises three chained parameters mixing in: values (path, query, body).
Package routes_params_multiple exercises three chained parameters mixing in: values (path, query, body).
routes-params-path
Package routes_params_path exercises a single path parameter declared via the swagger:route `+ name:` form.
Package routes_params_path exercises a single path parameter declared via the swagger:route `+ name:` form.
routes-params-query-array
Package routes_params_query_array exercises a query array parameter with enum + minlength/maxlength validations.
Package routes_params_query_array exercises a query array parameter with enum + minlength/maxlength validations.
routes-params-query-boolean
Package routes_params_query_boolean exercises a query boolean parameter with a default value.
Package routes_params_query_boolean exercises a query boolean parameter with a default value.
routes-params-query-number
Package routes_params_query_number exercises a query number parameter with min/max/default landed via legacy short-form keys.
Package routes_params_query_number exercises a query number parameter with min/max/default landed via legacy short-form keys.
routes-params-query-string
Package routes_params_query_string exercises a query string parameter with pattern and format validations.
Package routes_params_query_string exercises a query string parameter with pattern and format validations.
routes-params-query-validations
Package routes_params_query_validations exercises query parameters carrying SimpleSchema validations (min, max, default, enum).
Package routes_params_query_validations exercises query parameters carrying SimpleSchema validations (min, max, default, enum).
routes-params-unknown-key
Package routes_params_unknown_key exercises silent-drop of unknown param keys: `colour: blue` is unknown to applyParamField and is stashed in extraData; processSchema only reads known schema keys (min/max/etc.) so `colour` is silently dropped.
Package routes_params_unknown_key exercises silent-drop of unknown param keys: `colour: blue` is unknown to applyParamField and is stashed in extraData; processSchema only reads known schema keys (min/max/etc.) so `colour` is silently dropped.
routes-responses-array
Package routes_responses_array exercises array-shaped body responses, including the nested `[][]` form.
Package routes_responses_array exercises array-shaped body responses, including the nested `[][]` form.
routes-responses-default
Package routes_responses_default exercises a route with only a `default:` response.
Package routes_responses_default exercises a route with only a `default:` response.
routes-responses-definition-fallback
Package routes_responses_definition_fallback exercises the legacy silent flip from response-ref to body-ref when the untagged name is not in the operation's responses map but IS in definitions (parseResponseLine lines 83-87).
Package routes_responses_definition_fallback exercises the legacy silent flip from response-ref to body-ref when the untagged name is not in the operation's responses map but IS in definitions (parseResponseLine lines 83-87).
routes-responses-description-only
Package routes_responses_description_only exercises response lines carrying only a description: tag with no body/response ref.
Package routes_responses_description_only exercises response lines carrying only a description: tag with no body/response ref.
routes-responses-empty-value
Package routes_responses_empty_value exercises an empty response value: `204:` with nothing after the colon — legacy produces an empty Response{} under the code.
Package routes_responses_empty_value exercises an empty response value: `204:` with nothing after the colon — legacy produces an empty Response{} under the code.
routes-responses-mixed-bodies
Package routes_responses_mixed_bodies exercises a single route mixing body refs (schema) and response refs across status codes.
Package routes_responses_mixed_bodies exercises a single route mixing body refs (schema) and response refs across status codes.
routes-responses-multiple-codes
Package routes_responses_multiple_codes exercises a route with default + 2xx + 4xx + 5xx response codes in one block.
Package routes_responses_multiple_codes exercises a route with default + 2xx + 4xx + 5xx response codes in one block.
routes-responses-positional
Package routes_responses_positional exercises the untagged-first-token response form: `200: someResponse` is treated as response="someResponse".
Package routes_responses_positional exercises the untagged-first-token response form: `200: someResponse` is treated as response="someResponse".
routes-responses-ref-not-found
Package routes_responses_ref_not_found exercises the not-found branch of the legacy parseResponseLine fallback (lines 83-87).
Package routes_responses_ref_not_found exercises the not-found branch of the legacy parseResponseLine fallback (lines 83-87).
routes-responses-space-body-quirk
Package routes_responses_space_body_quirk locks the legacy parser's interpretation of `200: body Pet ...` (space-separated, NOT colon-attached `body:Pet`).
Package routes_responses_space_body_quirk locks the legacy parser's interpretation of `200: body Pet ...` (space-separated, NOT colon-attached `body:Pet`).
routes-responses-tagged-body
Package routes_responses_tagged_body exercises response lines carrying the `body:` tag with a positional description tail.
Package routes_responses_tagged_body exercises response lines carrying the `body:` tag with a positional description tail.
routes-responses-tagged-response
Package routes_responses_tagged_response exercises the explicit `response:someName` tag form.
Package routes_responses_tagged_response exercises the explicit `response:someName` tag form.
security-yaml-idiom
Package secyaml demonstrates that a Security requirements block written as idiomatic OpenAPI 2.0 YAML — a sequence of Security Requirement Objects — produces the spec-correct requirement set, identical to what a real YAML parse of the same text would yield.
Package secyaml demonstrates that a Security requirements block written as idiomatic OpenAPI 2.0 YAML — a sequence of Security Requirement Objects — produces the spec-correct requirement set, identical to what a real YAML parse of the same text would yield.
shared-parameters
Package shared_parameters (Fixture 1) witnesses the spec-level shared namespace for the shared-parameters feature (go-swagger#2632): the wildcard target, both parameter reference channels, and a shared response.
Package shared_parameters (Fixture 1) witnesses the spec-level shared namespace for the shared-parameters feature (go-swagger#2632): the wildcard target, both parameter reference channels, and a shared response.
shared-parameters-conflict/pkga
Package pkga is the FIRST package of Fixture 3 (cross-package conflicts).
Package pkga is the FIRST package of Fixture 3 (cross-package conflicts).
shared-parameters-conflict/pkgb
Package pkgb is the SECOND package of Fixture 3 (cross-package conflicts).
Package pkgb is the SECOND package of Fixture 3 (cross-package conflicts).
shared-parameters-overrides
Package shared_parameters_overrides (Fixture 5) witnesses two caveats of the shared-parameters feature (go-swagger#2632):
Package shared_parameters_overrides (Fixture 5) witnesses two caveats of the shared-parameters feature (go-swagger#2632):
shared-parameters-pathitem
Package shared_parameters_pathitem (Fixture 2) witnesses path-item level parameters for the shared-parameters feature (go-swagger#2632): path-item inline and reference forms, an operation override on (name, in), and exact-path application (no path hierarchy).
Package shared_parameters_pathitem (Fixture 2) witnesses path-item level parameters for the shared-parameters feature (go-swagger#2632): path-item inline and reference forms, an operation override on (name, in), and exact-path application (no path hierarchy).
shared-parameters-prune
Package shared_parameters_prune (Fixture 6) witnesses the prune extension (C4) of the shared-parameters feature (go-swagger#2632): shared parameters/responses referenced by no operation are pruned under PruneUnusedModels, and retained without it.
Package shared_parameters_prune (Fixture 6) witnesses the prune extension (C4) of the shared-parameters feature (go-swagger#2632): shared parameters/responses referenced by no operation are pruned under PruneUnusedModels, and retained without it.
shared-parameters-prune-cascade
Package shared_parameters_prune_cascade witnesses the second step of the shared-parameters prune extension (C4 / P7, go-swagger#2632): pruning an unreferenced shared response also prunes the definitions reachable ONLY through it (the cascade), while definitions still reachable via a surviving shared object are kept.
Package shared_parameters_prune_cascade witnesses the second step of the shared-parameters prune extension (C4 / P7, go-swagger#2632): pruning an unreferenced shared response also prunes the definitions reachable ONLY through it (the cascade), while definitions still reachable via a surviving shared object are kept.
shared-parameters-yaml
Package shared_parameters_yaml (Fixture 4) witnesses that the swagger:operation wholesale-YAML path runs the same shared-namespace checks: a $ref into #/parameters or #/responses is validated, and a dangling ref raises a diagnostic.
Package shared_parameters_yaml (Fixture 4) witnesses that the swagger:operation wholesale-YAML path runs the same shared-namespace checks: a $ref into #/parameters or #/responses is validated, and a dangling ref raises a diagnostic.
simple-schema-readonly
Package simple_schema_readonly exercises the schema builder's SimpleSchema-mode gate on the full-Schema-only `readOnly:` keyword.
Package simple_schema_readonly exercises the schema builder's SimpleSchema-mode gate on the full-Schema-only `readOnly:` keyword.
simple-schema-violation
Package simple_schema_violation exercises the M1 exit validator on the parameter SimpleSchema path.
Package simple_schema_violation exercises the M1 exit validator on the parameter SimpleSchema path.
single-line-description
Package singlelinedesc exercises the SingleLineCommentAsDescription option: a one-line doc comment resolves to the model description instead of its title, while a multi-line comment keeps the title/description split.
Package singlelinedesc exercises the SingleLineCommentAsDescription option: a one-line doc comment resolves to the model description instead of its title, while a multi-line comment keeps the title/description split.
strfmt-arrays
Package strfmt_arrays exercises strfmt handling on named array and slice types, including the byte/bsonobjectid fast paths.
Package strfmt_arrays exercises strfmt handling on named array and slice types, including the byte/bsonobjectid fast paths.
swagger-omit
Package swaggeromit exercises `swagger:omit` — the author's escape hatch for an embed that promotes more than the API should carry (go-swagger#1992).
Package swaggeromit exercises `swagger:omit` — the author's escape hatch for an embed that promotes more than the API should carry (go-swagger#1992).
swagger-type-array
Package swagger_type_array exercises the schemaBuilder fallthrough path added by #11: when swagger:type is set to a value not recognised by swaggerSchemaForType (e.g.
Package swagger_type_array exercises the schemaBuilder fallthrough path added by #11: when swagger:type is set to a value not recognised by swaggerSchemaForType (e.g.
text-marshal
Package text_marshal exercises schemaBuilder.buildFromTextMarshal: a type recognised via its TextMarshaler implementation, the case-insensitive "uuid" fast-path, and a named text-marshalable type that carries a swagger:strfmt tag.
Package text_marshal exercises schemaBuilder.buildFromTextMarshal: a type recognised via its TextMarshaler implementation, the case-insensitive "uuid" fast-path, and a named text-marshalable type that carries a swagger:strfmt tag.
text-marshal/explicit_override
Package explicit_override exercises the precedence rule inside buildFromTextMarshal: an explicit `swagger:strfmt` annotation on a UUID-named TextMarshaler wins over the implicit UUID heuristic.
Package explicit_override exercises the precedence rule inside buildFromTextMarshal: an explicit `swagger:strfmt` annotation on a UUID-named TextMarshaler wins over the implicit UUID heuristic.
text-marshal/uuid_wrapping_time
Package uuid_wrapping_time documents the asymmetry between *being* `time.Time` and *wrapping* it.
Package uuid_wrapping_time documents the asymmetry between *being* `time.Time` and *wrapping* it.
top-level-kinds
Package top_level_kinds declares top-level types of every Go kind (basic, array, slice, map, interface) annotated with swagger:model so that schemaBuilder.buildFromDecl walks each non-struct case branch.
Package top_level_kinds declares top-level types of every Go kind (basic, array, slice, map, interface) annotated with swagger:model so that schemaBuilder.buildFromDecl walks each non-struct case branch.
unknown-annotation
Package unknown_annotation carries a deliberately bogus swagger annotation so the classifier returns an error from detectNodes.
Package unknown_annotation carries a deliberately bogus swagger annotation so the classifier returns an error from detectNodes.
unsupported-go-type
Package unsupportedgotype carries a model with a field whose Go type cannot be represented in Swagger 2.0.
Package unsupportedgotype carries a model with a field whose Go type cannot be represented in Swagger 2.0.
wrapper-decl-type-override
Package wrapper_decl_type_override isolates Gap B' — the wrapper-type's top-level definition emits an empty schema even though the same wrapper carries `swagger:type` decoration that the classifier honours at field reference sites.
Package wrapper_decl_type_override isolates Gap B' — the wrapper-type's top-level definition emits an empty schema even though the same wrapper carries `swagger:type` decoration that the classifier honours at field reference sites.
goparsing
bookings
Package booking API.
Package booking API.
classification
Package classification Petstore API.
Package classification Petstore API.
meta/v1
Package meta Petstore API.
Package meta Petstore API.
meta/v2
Package meta Petstore API.
Package meta Petstore API.
meta/v3
Package meta Petstore API.
Package meta Petstore API.
meta/v4
Package meta Petstore API.
Package meta Petstore API.
petstore
Package petstore Petstore API.
Package petstore Petstore API.
spec
Package booking API.
Package booking API.
transparentalias
Package transparentalias provides fixtures to exercise transparent alias handling.
Package transparentalias provides fixtures to exercise transparent alias handling.
quirks
alias-deprecated
Package aliasdeprecated is the F8 witness (doc-site-quirks.md): swagger:alias is deprecated.
Package aliasdeprecated is the F8 witness (doc-site-quirks.md): swagger:alias is deprecated.
alias-model
Package aliasmodel is the F9 regression lock (doc-site-quirks.md): a model-annotated Go type alias once sent the scanner into an infinite loop when built (default / RefAliases modes); TransparentAliases dissolved it before the looping path.
Package aliasmodel is the F9 regression lock (doc-site-quirks.md): a model-annotated Go type alias once sent the scanner into an infinite loop when built (default / RefAliases modes); TransparentAliases dissolved it before the looping path.
body-response-description
Package bodyresponsedescription exercises quirk G1 (doc-site-quirks.md): a `body:` response line with NO trailing description text used to fill response.description with the bare Go type token ("Pet", "string"), leaking an implementation detail into the contract.
Package bodyresponsedescription exercises quirk G1 (doc-site-quirks.md): a `body:` response line with NO trailing description text used to fill response.description with the bare Go type token ("Pet", "string"), leaking an implementation detail into the contract.
gofmt-meta
Package gofmtmeta is the F7 quirk witness: a swagger:meta block in its gofmt-CANONICAL shape.
Package gofmtmeta is the F7 quirk witness: a swagger:meta block in its gofmt-CANONICAL shape.
gofmt-operation
Package gofmtoperation is the operations counterpart of quirk F7: a swagger:operation YAML body in its gofmt-CANONICAL shape.
Package gofmtoperation is the operations counterpart of quirk F7: a swagger:operation YAML body in its gofmt-CANONICAL shape.
model-override-matrix
Package modeloverridematrix witnesses the CURRENT behaviour (post-F3) of combining swagger:model with a per-type override — swagger:strfmt (F1), swagger:type (F2) and swagger:enum (F4) — plus the bare swagger:enum const-collection case.
Package modeloverridematrix witnesses the CURRENT behaviour (post-F3) of combining swagger:model with a per-type override — swagger:strfmt (F1), swagger:type (F2) and swagger:enum (F4) — plus the bare swagger:enum const-collection case.
model-override-simpleschema
Package modeloverridesimpleschema is the F1/F4 simple-schema guard.
Package modeloverridesimpleschema is the F1/F4 simple-schema guard.
name-keyword-universal
Package namekeyworduniversal exercises doc-quirk G2: the `name:` keyword is the canonical field-naming keyword, honoured uniformly at every field site — model properties and interface methods, as well as the parameter and response fields where it already worked.
Package namekeyworduniversal exercises doc-quirk G2: the `name:` keyword is the canonical field-naming keyword, honoured uniformly at every field site — model properties and interface methods, as well as the parameter and response fields where it already worked.
name-on-field
Package nameonfield is the F5 witness: swagger:name on a struct field must override the emitted property name, matching its documented "field OR method" scope and the behaviour already honoured on interface methods.
Package nameonfield is the F5 witness: swagger:name on a struct field must override the emitted property name, matching its documented "field OR method" scope and the behaviour already honoured on interface methods.
ref-example-coercion
Package refexamplecoercion exercises doc-quirk G3: a JSON-literal example: / default: on a field whose type is a $ref must be coerced into a structured value on the allOf override arm, exactly as it is on a plain (non-ref) field.
Package refexamplecoercion exercises doc-quirk G3: a JSON-literal example: / default: on a field whose type is a $ref must be coerced into a structured value on the allOf override arm, exactly as it is on a plain (non-ref) field.
swagger-type-matrix
Package swaggertypematrix is the F3 witness: it captures the CURRENT rendering of swagger:type across its argument vocabulary, in combination with swagger:strfmt, and at both the field site and the named-type site — BEFORE any rationalisation.
Package swaggertypematrix is the F3 witness: it captures the CURRENT rendering of swagger:type across its argument vocabulary, in combination with swagger:strfmt, and at both the field site and the named-type site — BEFORE any rationalisation.

Jump to

Keyboard shortcuts

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