mirror of
https://github.com/kubeshark/kubeshark.git
synced 2025-09-28 22:08:34 +00:00
* Evidence of problems * Improving it * Progressing * Progress * Fixes * progress * log is not right * Fixing thresholds * Almost there * Imptovements * Move some false negatives into TODO * cosmetics * linter (I disagree) * linter (I disagree) * fix test
38 lines
1.1 KiB
Go
38 lines
1.1 KiB
Go
package oas
|
|
|
|
import (
|
|
"github.com/chanced/openapi"
|
|
"strings"
|
|
"testing"
|
|
)
|
|
|
|
func TestTree(t *testing.T) {
|
|
testCases := []struct {
|
|
inp string
|
|
numParams int
|
|
label string
|
|
}{
|
|
{"/", 0, ""},
|
|
{"/v1.0.0/config/launcher/sp_nKNHCzsN/f34efcae-6583-11eb-908a-00b0fcb9d4f6/vendor,init,conversation", 1, "vendor,init,conversation"},
|
|
{"/v1.0.0/config/launcher/sp_nKNHCzsN/{f34efcae-6583-11eb-908a-00b0fcb9d4f6}/vendor,init,conversation", 0, "vendor,init,conversation"},
|
|
{"/getSvgs/size/small/brand/SFLY/layoutId/170943/layoutVersion/1/sizeId/742/surface/0/isLandscape/true/childSkus/%7B%7D", 1, "{}"},
|
|
}
|
|
|
|
tree := new(Node)
|
|
for _, tc := range testCases {
|
|
split := strings.Split(tc.inp, "/")
|
|
pathObj := new(openapi.PathObj)
|
|
node := tree.getOrSet(split, pathObj)
|
|
|
|
fillPathParams(node, pathObj)
|
|
|
|
if node.constant != nil && *node.constant != tc.label {
|
|
t.Errorf("Constant does not match: %s != %s", *node.constant, tc.label)
|
|
}
|
|
|
|
if tc.numParams > 0 && (pathObj.Parameters == nil || len(*pathObj.Parameters) < tc.numParams) {
|
|
t.Errorf("Wrong num of params, expected: %d", tc.numParams)
|
|
}
|
|
}
|
|
}
|