Skip to content

Commit

Permalink
fix(expand): fix missing tags in expanded spec
Browse files Browse the repository at this point in the history
  • Loading branch information
max107 committed Feb 19, 2025
1 parent 14c6c96 commit 53d5e6f
Show file tree
Hide file tree
Showing 3 changed files with 52 additions and 0 deletions.
11 changes: 11 additions & 0 deletions openapi/parser/_testdata/expand/info_tags.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
openapi: 3.1.0
info:
version: 1.0.0
title: info_test
tags:
- name: Order
description: orders
- name: Invoice
description: invoices
- name: Product
description: products
32 changes: 32 additions & 0 deletions openapi/parser/expand_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
package parser_test

import (
"os"
"testing"

"github.com/stretchr/testify/require"

"github.com/ogen-go/ogen"
"github.com/ogen-go/ogen/openapi/parser"
)

func TestExpand(t *testing.T) {
f, err := os.ReadFile("_testdata/expand/info_tags.yaml")
require.NoError(t, err)

spec, err := ogen.Parse(f)
require.NoError(t, err)
require.NotEmpty(t, spec.Tags)
require.Len(t, spec.Tags, 3)

api, err := parser.Parse(spec, parser.Settings{})
require.NoError(t, err)

expandSpec, err := parser.Expand(api)
require.NoError(t, err)

require.Equal(t, "info_test", expandSpec.Info.Title)
require.Equal(t, "1.0.0", expandSpec.Info.Version)
require.Empty(t, expandSpec.Info.Summary)
require.Len(t, expandSpec.Tags, 3)
}
9 changes: 9 additions & 0 deletions openapi/parser/parser.go
Original file line number Diff line number Diff line change
Expand Up @@ -140,7 +140,16 @@ func Parse(spec *ogen.Spec, s Settings) (_ *openapi.API, rerr error) {
return nil, errors.Wrap(err, "parse webhooks")
}

tags := make([]openapi.Tag, len(spec.Tags))
for i, tag := range spec.Tags {
tags[i] = openapi.Tag{
Name: tag.Name,
Description: tag.Description,
}
}

return &openapi.API{
Tags: tags,
Version: p.version,
Servers: servers,
Operations: p.operations,
Expand Down

0 comments on commit 53d5e6f

Please sign in to comment.