MCPcopy Index your code
hub / github.com/go-openapi/jsonpointer / TestSetNode

Function TestSetNode

pointer_test.go:698–925  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

696}
697
698func TestSetNode(t *testing.T) {
699 t.Parallel()
700
701 const jsonText = `{"a":[{"b": 1, "c": 2}], "d": 3}`
702
703 var jsonDocument any
704 require.NoError(t, json.Unmarshal([]byte(jsonText), &jsonDocument))
705
706 t.Run("with set node c", func(t *testing.T) {
707 const in = "/a/0/c"
708 p, err := New(in)
709 require.NoError(t, err)
710
711 _, err = p.Set(jsonDocument, 999)
712 require.NoError(t, err)
713
714 firstNode, ok := jsonDocument.(map[string]any)
715 require.TrueT(t, ok)
716 assert.Len(t, firstNode, 2)
717
718 sliceNode, ok := firstNode["a"].([]any)
719 require.TrueT(t, ok)
720 assert.Len(t, sliceNode, 1)
721
722 changedNode, ok := sliceNode[0].(map[string]any)
723 require.TrueT(t, ok)
724 chNodeVI := changedNode["c"]
725
726 require.IsType(t, 0, chNodeVI)
727 changedNodeValue, ok := chNodeVI.(int)
728 require.TrueT(t, ok)
729
730 require.EqualT(t, 999, changedNodeValue)
731 assert.Len(t, sliceNode, 1)
732 })
733
734 t.Run("with set node 0 with map", func(t *testing.T) {
735 v, err := New("/a/0")
736 require.NoError(t, err)
737
738 _, err = v.Set(jsonDocument, map[string]any{"b": 3, "c": 8})
739 require.NoError(t, err)
740
741 firstNode, ok := jsonDocument.(map[string]any)
742 require.TrueT(t, ok)
743 assert.Len(t, firstNode, 2)
744
745 sliceNode, ok := firstNode["a"].([]any)
746 require.TrueT(t, ok)
747 assert.Len(t, sliceNode, 1)
748
749 changedNode, ok := sliceNode[0].(map[string]any)
750 require.TrueT(t, ok)
751 assert.Equal(t, 3, changedNode["b"])
752 assert.Equal(t, 8, changedNode["c"])
753 })
754
755 t.Run("with struct", func(t *testing.T) {

Callers

nothing calls this directly

Calls 4

NewFunction · 0.85
SetForTokenFunction · 0.85
SetMethod · 0.80
ErrorMethod · 0.80

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…