MCPcopy
hub / github.com/helm/helm / TestParseSetNestedLevels

Function TestParseSetNestedLevels

pkg/strvals/parser_test.go:760–819  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

758}
759
760func TestParseSetNestedLevels(t *testing.T) {
761 var keyMultipleNestedLevels strings.Builder
762 for i := 1; i <= MaxNestedNameLevel+2; i++ {
763 tmpStr := fmt.Sprintf("name%d", i)
764 if i <= MaxNestedNameLevel+1 {
765 tmpStr = tmpStr + "."
766 }
767 keyMultipleNestedLevels.WriteString(tmpStr)
768 }
769 tests := []struct {
770 str string
771 expect map[string]any
772 err bool
773 errStr string
774 }{
775 {
776 "outer.middle.inner=value",
777 map[string]any{"outer": map[string]any{"middle": map[string]any{"inner": "value"}}},
778 false,
779 "",
780 },
781 {
782 str: keyMultipleNestedLevels.String() + "=value",
783 err: true,
784 errStr: fmt.Sprintf("value name nested level is greater than maximum supported nested level of %d",
785 MaxNestedNameLevel),
786 },
787 }
788
789 for _, tt := range tests {
790 got, err := Parse(tt.str)
791 if err != nil {
792 if tt.err {
793 if tt.errStr != "" {
794 if err.Error() != tt.errStr {
795 t.Errorf("Expected error: %s. Got error: %s", tt.errStr, err.Error())
796 }
797 }
798 continue
799 }
800 t.Fatalf("%s: %s", tt.str, err)
801 }
802 if tt.err {
803 t.Errorf("%s: Expected error. Got nil", tt.str)
804 }
805
806 y1, err := yaml.Marshal(tt.expect)
807 if err != nil {
808 t.Fatal(err)
809 }
810 y2, err := yaml.Marshal(got)
811 if err != nil {
812 t.Fatalf("Error serializing parsed value: %s", err)
813 }
814
815 if string(y1) != string(y2) {
816 t.Errorf("%s: Expected:\n%s\nGot:\n%s", tt.str, y1, y2)
817 }

Callers

nothing calls this directly

Calls 5

FatalfMethod · 0.80
FatalMethod · 0.80
ParseFunction · 0.70
StringMethod · 0.45
ErrorMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…