MCPcopy
hub / github.com/helm/helm / TestParseLiteralNestedLevels

Function TestParseLiteralNestedLevels

pkg/strvals/literal_parser_test.go:419–481  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

417}
418
419func TestParseLiteralNestedLevels(t *testing.T) {
420 var keyMultipleNestedLevels strings.Builder
421
422 for i := 1; i <= MaxNestedNameLevel+2; i++ {
423 tmpStr := fmt.Sprintf("name%d", i)
424 if i <= MaxNestedNameLevel+1 {
425 tmpStr = tmpStr + "."
426 }
427 keyMultipleNestedLevels.WriteString(tmpStr)
428 }
429
430 tests := []struct {
431 str string
432 expect map[string]any
433 err bool
434 errStr string
435 }{
436 {
437 "outer.middle.inner=value",
438 map[string]any{"outer": map[string]any{"middle": map[string]any{"inner": "value"}}},
439 false,
440 "",
441 },
442 {
443 str: keyMultipleNestedLevels.String() + "=value",
444 err: true,
445 errStr: fmt.Sprintf("value name nested level is greater than maximum supported nested level of %d", MaxNestedNameLevel),
446 },
447 }
448
449 for _, tt := range tests {
450 got, err := ParseLiteral(tt.str)
451 if err != nil {
452 if tt.err {
453 if tt.errStr != "" {
454 if err.Error() != tt.errStr {
455 t.Errorf("Expected error: %s. Got error: %s", tt.errStr, err.Error())
456 }
457 }
458 continue
459 }
460 t.Fatalf("%s: %s", tt.str, err)
461 }
462
463 if tt.err {
464 t.Errorf("%s: Expected error. Got nil", tt.str)
465 }
466
467 y1, err := yaml.Marshal(tt.expect)
468 if err != nil {
469 t.Fatal(err)
470 }
471
472 y2, err := yaml.Marshal(got)
473 if err != nil {
474 t.Fatalf("Error serializing parsed value: %s", err)
475 }
476

Callers

nothing calls this directly

Calls 5

ParseLiteralFunction · 0.85
FatalfMethod · 0.80
FatalMethod · 0.80
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…