feat(tmpl): enhance ToYaml test with multiple scenarios
Signed-off-by: yxxhero <aiopsclub@163.com>
This commit is contained in:
		
							parent
							
								
									833b72383d
								
							
						
					
					
						commit
						052fd7524c
					
				|  | @ -186,18 +186,66 @@ func TestToYaml_NestedMapInterfaceKey(t *testing.T) { | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func TestToYaml(t *testing.T) { | func TestToYaml(t *testing.T) { | ||||||
| 	expected := `foo: | 	tests := []struct { | ||||||
|   bar: BAR | 		name     string | ||||||
| ` | 		input    any | ||||||
| 	// nolint: unconvert
 | 		expected string | ||||||
| 	vals := Values(map[string]any{ | 		wantErr  bool | ||||||
| 		"foo": map[string]any{ | 	}{ | ||||||
| 			"bar": "BAR", | 		{ | ||||||
|  | 			// https://github.com/helmfile/helmfile/issues/2024
 | ||||||
|  | 			name:  "test unmarshalling issue 2024", | ||||||
|  | 			input: map[string]any{"thisShouldBeString": "01234567890123456789"}, | ||||||
|  | 			expected: `thisShouldBeString: "01234567890123456789" | ||||||
|  | `, | ||||||
| 		}, | 		}, | ||||||
| 	}) | 		{ | ||||||
| 	actual, err := ToYaml(vals) | 			name:  "test unmarshalling object", | ||||||
|  | 			input: map[string]any{"foo": map[string]any{"bar": "BAR"}}, | ||||||
|  | 			expected: `foo: | ||||||
|  |   bar: BAR | ||||||
|  | `, | ||||||
|  | 		}, | ||||||
|  | 		{ | ||||||
|  | 			name:  "test unmarshalling array", | ||||||
|  | 			input: []any{"foo", map[string]any{"bar": "BAR"}}, | ||||||
|  | 			expected: `- foo | ||||||
|  | - bar: BAR | ||||||
|  | `, | ||||||
|  | 		}, | ||||||
|  | 		{ | ||||||
|  | 			name:     "test unmarshalling string", | ||||||
|  | 			input:    "foo", | ||||||
|  | 			expected: "foo\n", | ||||||
|  | 		}, | ||||||
|  | 		{ | ||||||
|  | 			name:     "test unmarshalling number", | ||||||
|  | 			input:    1234, | ||||||
|  | 			expected: "1234\n", | ||||||
|  | 		}, | ||||||
|  | 		{ | ||||||
|  | 			name:     "test unmarshalling boolean", | ||||||
|  | 			input:    true, | ||||||
|  | 			expected: "true\n", | ||||||
|  | 		}, | ||||||
|  | 		{ | ||||||
|  | 			name:     "test unmarshalling null", | ||||||
|  | 			input:    nil, | ||||||
|  | 			expected: "null\n", | ||||||
|  | 		}, | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	for _, tt := range tests { | ||||||
|  | 		t.Run(tt.name, func(t *testing.T) { | ||||||
|  | 			actual, err := ToYaml(tt.input) | ||||||
|  | 			if tt.wantErr { | ||||||
|  | 				require.Error(t, err) | ||||||
|  | 			} else { | ||||||
| 				require.NoError(t, err) | 				require.NoError(t, err) | ||||||
| 	require.Equal(t, expected, actual) | 			} | ||||||
|  | 			require.Equal(t, tt.expected, actual) | ||||||
|  | 		}) | ||||||
|  | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func testFromYamlObject(t *testing.T) { | func testFromYamlObject(t *testing.T) { | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue