diff --git a/datamodel/low/extraction_functions_test.go b/datamodel/low/extraction_functions_test.go index cab7904..3499722 100644 --- a/datamodel/low/extraction_functions_test.go +++ b/datamodel/low/extraction_functions_test.go @@ -1724,7 +1724,7 @@ func TestLocateRefNode_CurrentPathKey_HttpLink(t *testing.T) { }, { Kind: yaml.ScalarNode, - Value: "http://cakes.com#/components/schemas/thing", + Value: "http://cakes.com/nice#/components/schemas/thing", }, }, } @@ -1739,6 +1739,32 @@ func TestLocateRefNode_CurrentPathKey_HttpLink(t *testing.T) { assert.NotNil(t, c) } +func TestLocateRefNode_CurrentPathKey_HttpLink_Local(t *testing.T) { + + no := yaml.Node{ + Kind: yaml.MappingNode, + Content: []*yaml.Node{ + { + Kind: yaml.ScalarNode, + Value: "$ref", + }, + { + Kind: yaml.ScalarNode, + Value: ".#/components/schemas/thing", + }, + }, + } + + ctx := context.WithValue(context.Background(), index.CurrentPathKey, "http://cakes.com/nice/rice#/components/schemas/thing") + + idx := index.NewSpecIndexWithConfig(&no, index.CreateClosedAPIIndexConfig()) + n, i, e, c := LocateRefNodeWithContext(ctx, &no, idx) + assert.Nil(t, n) + assert.NotNil(t, i) + assert.NotNil(t, e) + assert.NotNil(t, c) +} + func TestLocateRefNode_CurrentPathKey_HttpLink_RemoteCtx(t *testing.T) { no := yaml.Node{