mirror of
https://github.com/LukeHagar/libopenapi.git
synced 2025-12-09 12:37:49 +00:00
Fix: bug in index with description handling.
Issue for description being incorrectly picked up, is because index was collecting all descriptions, even if they were labels on schemas as reported in https://github.com/daveshanley/vacuum/issues/239
This commit is contained in:
@@ -177,9 +177,11 @@ func (index *SpecIndex) ExtractRefs(node, parent *yaml.Node, seenPath []string,
|
||||
IsSummary: false,
|
||||
}
|
||||
|
||||
if !utils.IsNodeMap(ref.Node) {
|
||||
index.allDescriptions = append(index.allDescriptions, ref)
|
||||
index.descriptionCount++
|
||||
}
|
||||
}
|
||||
|
||||
if n.Value == "summary" {
|
||||
|
||||
|
||||
37
index/extract_refs_test.go
Normal file
37
index/extract_refs_test.go
Normal file
@@ -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)
|
||||
}
|
||||
Reference in New Issue
Block a user