feat(openapi): export default swagger path metadata
Co-Authored-By: Virgil <virgil@lethean.io>
This commit is contained in:
parent
a469a78b2a
commit
5d28b8d83d
2 changed files with 28 additions and 1 deletions
|
|
@ -19,7 +19,6 @@ func (e *Engine) OpenAPISpecBuilder() *SpecBuilder {
|
|||
Title: e.swaggerTitle,
|
||||
Description: e.swaggerDesc,
|
||||
Version: e.swaggerVersion,
|
||||
SwaggerPath: e.swaggerPath,
|
||||
TermsOfService: e.swaggerTermsOfService,
|
||||
ContactName: e.swaggerContactName,
|
||||
ContactURL: e.swaggerContactURL,
|
||||
|
|
@ -31,6 +30,10 @@ func (e *Engine) OpenAPISpecBuilder() *SpecBuilder {
|
|||
ExternalDocsURL: e.swaggerExternalDocsURL,
|
||||
}
|
||||
|
||||
if e.swaggerEnabled {
|
||||
builder.SwaggerPath = resolveSwaggerPath(e.swaggerPath)
|
||||
}
|
||||
|
||||
if e.graphql != nil {
|
||||
builder.GraphQLPath = e.graphql.path
|
||||
builder.GraphQLPlayground = e.graphql.playground
|
||||
|
|
|
|||
|
|
@ -130,3 +130,27 @@ func TestEngine_Good_OpenAPISpecBuilderCarriesEngineMetadata(t *testing.T) {
|
|||
t.Fatal("expected expvar path from engine metadata in generated spec")
|
||||
}
|
||||
}
|
||||
|
||||
func TestEngine_Good_OpenAPISpecBuilderExportsDefaultSwaggerPath(t *testing.T) {
|
||||
gin.SetMode(gin.TestMode)
|
||||
|
||||
e, err := api.New(api.WithSwagger("Engine API", "Engine metadata", "2.0.0"))
|
||||
if err != nil {
|
||||
t.Fatalf("unexpected error: %v", err)
|
||||
}
|
||||
|
||||
builder := e.OpenAPISpecBuilder()
|
||||
data, err := builder.Build(nil)
|
||||
if err != nil {
|
||||
t.Fatalf("unexpected error: %v", err)
|
||||
}
|
||||
|
||||
var spec map[string]any
|
||||
if err := json.Unmarshal(data, &spec); err != nil {
|
||||
t.Fatalf("invalid JSON: %v", err)
|
||||
}
|
||||
|
||||
if got := spec["x-swagger-ui-path"]; got != "/swagger" {
|
||||
t.Fatalf("expected default x-swagger-ui-path=/swagger, got %v", got)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue