diff --git a/index/extract_refs.go b/index/extract_refs.go index bb79e6c..1f71ae2 100644 --- a/index/extract_refs.go +++ b/index/extract_refs.go @@ -177,8 +177,10 @@ func (index *SpecIndex) ExtractRefs(node, parent *yaml.Node, seenPath []string, IsSummary: false, } - index.allDescriptions = append(index.allDescriptions, ref) - index.descriptionCount++ + if !utils.IsNodeMap(ref.Node) { + index.allDescriptions = append(index.allDescriptions, ref) + index.descriptionCount++ + } } if n.Value == "summary" { diff --git a/index/extract_refs_test.go b/index/extract_refs_test.go new file mode 100644 index 0000000..12b8e9d --- /dev/null +++ b/index/extract_refs_test.go @@ -0,0 +1,37 @@ +// Copyright 2023 Princess B33f Heavy Industries / Dave Shanley +// SPDX-License-Identifier: MIT + +package index + +import ( + "github.com/stretchr/testify/assert" + "gopkg.in/yaml.v3" + "testing" +) + +func TestSpecIndex_ExtractRefs_CheckDescriptionNotMap(t *testing.T) { + + yml := `openapi: 3.1.0 +info: + description: This is a description +paths: + /herbs/and/spice: + get: + description: This is a also a description + responses: + 200: + content: + application/json: + schema: + type: array + properties: + description: + type: string + ` + var rootNode yaml.Node + _ = yaml.Unmarshal([]byte(yml), &rootNode) + c := CreateOpenAPIIndexConfig() + idx := NewSpecIndexWithConfig(&rootNode, c) + assert.Len(t, idx.allDescriptions, 2) + assert.Equal(t, 2, idx.descriptionCount) +}