add unittest for text_renderer.go (#168)
Signed-off-by: yxxhero <aiopsclub@163.com>
This commit is contained in:
		
							parent
							
								
									c85a085e4d
								
							
						
					
					
						commit
						5bd5f72170
					
				|  | @ -262,7 +262,7 @@ releases: | ||||||
| 			}, | 			}, | ||||||
| 			selectors: []string{"name=test2"}, | 			selectors: []string{"name=test2"}, | ||||||
| 			linted: []exectest.Release{ | 			linted: []exectest.Release{ | ||||||
| 				exectest.Release{Name: "test2", Flags: []string{}}, | 				{Name: "test2", Flags: []string{}}, | ||||||
| 			}, | 			}, | ||||||
| 		}) | 		}) | ||||||
| 	}) | 	}) | ||||||
|  | @ -275,8 +275,8 @@ releases: | ||||||
| 			}, | 			}, | ||||||
| 			selectors: []string{"name=test3"}, | 			selectors: []string{"name=test3"}, | ||||||
| 			linted: []exectest.Release{ | 			linted: []exectest.Release{ | ||||||
| 				exectest.Release{Name: "test2", Flags: []string{}}, | 				{Name: "test2", Flags: []string{}}, | ||||||
| 				exectest.Release{Name: "test3", Flags: []string{}}, | 				{Name: "test3", Flags: []string{}}, | ||||||
| 			}, | 			}, | ||||||
| 		}) | 		}) | ||||||
| 	}) | 	}) | ||||||
|  | @ -290,8 +290,8 @@ releases: | ||||||
| 			}, | 			}, | ||||||
| 			selectors: []string{"name=test3"}, | 			selectors: []string{"name=test3"}, | ||||||
| 			linted: []exectest.Release{ | 			linted: []exectest.Release{ | ||||||
| 				exectest.Release{Name: "test2", Flags: []string{}}, | 				{Name: "test2", Flags: []string{}}, | ||||||
| 				exectest.Release{Name: "test3", Flags: []string{}}, | 				{Name: "test3", Flags: []string{}}, | ||||||
| 			}, | 			}, | ||||||
| 		}) | 		}) | ||||||
| 	}) | 	}) | ||||||
|  | @ -305,7 +305,7 @@ releases: | ||||||
| 			}, | 			}, | ||||||
| 			selectors: []string{"name=test2"}, | 			selectors: []string{"name=test2"}, | ||||||
| 			linted: []exectest.Release{ | 			linted: []exectest.Release{ | ||||||
| 				exectest.Release{Name: "test2", Flags: []string{}}, | 				{Name: "test2", Flags: []string{}}, | ||||||
| 			}, | 			}, | ||||||
| 		}) | 		}) | ||||||
| 	}) | 	}) | ||||||
|  | @ -319,8 +319,8 @@ releases: | ||||||
| 			}, | 			}, | ||||||
| 			selectors: []string{"name=test3"}, | 			selectors: []string{"name=test3"}, | ||||||
| 			linted: []exectest.Release{ | 			linted: []exectest.Release{ | ||||||
| 				exectest.Release{Name: "test2", Flags: []string{}}, | 				{Name: "test2", Flags: []string{}}, | ||||||
| 				exectest.Release{Name: "test3", Flags: []string{}}, | 				{Name: "test3", Flags: []string{}}, | ||||||
| 			}, | 			}, | ||||||
| 		}) | 		}) | ||||||
| 	}) | 	}) | ||||||
|  |  | ||||||
|  | @ -262,7 +262,7 @@ releases: | ||||||
| 			}, | 			}, | ||||||
| 			selectors: []string{"name=test2"}, | 			selectors: []string{"name=test2"}, | ||||||
| 			templated: []exectest.Release{ | 			templated: []exectest.Release{ | ||||||
| 				exectest.Release{Name: "test2", Flags: []string(nil)}, | 				{Name: "test2", Flags: []string(nil)}, | ||||||
| 			}, | 			}, | ||||||
| 		}) | 		}) | ||||||
| 	}) | 	}) | ||||||
|  | @ -275,8 +275,8 @@ releases: | ||||||
| 			}, | 			}, | ||||||
| 			selectors: []string{"name=test3"}, | 			selectors: []string{"name=test3"}, | ||||||
| 			templated: []exectest.Release{ | 			templated: []exectest.Release{ | ||||||
| 				exectest.Release{Name: "test2", Flags: []string(nil)}, | 				{Name: "test2", Flags: []string(nil)}, | ||||||
| 				exectest.Release{Name: "test3", Flags: []string(nil)}, | 				{Name: "test3", Flags: []string(nil)}, | ||||||
| 			}, | 			}, | ||||||
| 		}) | 		}) | ||||||
| 	}) | 	}) | ||||||
|  | @ -290,8 +290,8 @@ releases: | ||||||
| 			}, | 			}, | ||||||
| 			selectors: []string{"name=test3"}, | 			selectors: []string{"name=test3"}, | ||||||
| 			templated: []exectest.Release{ | 			templated: []exectest.Release{ | ||||||
| 				exectest.Release{Name: "test2", Flags: []string(nil)}, | 				{Name: "test2", Flags: []string(nil)}, | ||||||
| 				exectest.Release{Name: "test3", Flags: []string(nil)}, | 				{Name: "test3", Flags: []string(nil)}, | ||||||
| 			}, | 			}, | ||||||
| 		}) | 		}) | ||||||
| 	}) | 	}) | ||||||
|  | @ -305,7 +305,7 @@ releases: | ||||||
| 			}, | 			}, | ||||||
| 			selectors: []string{"name=test2"}, | 			selectors: []string{"name=test2"}, | ||||||
| 			templated: []exectest.Release{ | 			templated: []exectest.Release{ | ||||||
| 				exectest.Release{Name: "test2", Flags: []string(nil)}, | 				{Name: "test2", Flags: []string(nil)}, | ||||||
| 			}, | 			}, | ||||||
| 		}) | 		}) | ||||||
| 	}) | 	}) | ||||||
|  | @ -319,8 +319,8 @@ releases: | ||||||
| 			}, | 			}, | ||||||
| 			selectors: []string{"name=test3"}, | 			selectors: []string{"name=test3"}, | ||||||
| 			templated: []exectest.Release{ | 			templated: []exectest.Release{ | ||||||
| 				exectest.Release{Name: "test2", Flags: []string(nil)}, | 				{Name: "test2", Flags: []string(nil)}, | ||||||
| 				exectest.Release{Name: "test3", Flags: []string(nil)}, | 				{Name: "test3", Flags: []string(nil)}, | ||||||
| 			}, | 			}, | ||||||
| 		}) | 		}) | ||||||
| 	}) | 	}) | ||||||
|  |  | ||||||
|  | @ -0,0 +1,58 @@ | ||||||
|  | package tmpl | ||||||
|  | 
 | ||||||
|  | import ( | ||||||
|  | 	"os" | ||||||
|  | 	"testing" | ||||||
|  | 
 | ||||||
|  | 	"github.com/stretchr/testify/require" | ||||||
|  | ) | ||||||
|  | 
 | ||||||
|  | // TestTextRenderer tests the text renderer.
 | ||||||
|  | func TestNewTextRenderer(t *testing.T) { | ||||||
|  | 	tData := map[string]interface{}{ | ||||||
|  | 		"foo": "bar", | ||||||
|  | 	} | ||||||
|  | 	tr := NewTextRenderer(os.ReadFile, ".", tData) | ||||||
|  | 	require.Equal(t, tData, tr.Data) | ||||||
|  | 	require.Equal(t, ".", tr.Context.basePath) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // TestTextRenderer tests the text renderer.
 | ||||||
|  | func TestTextRender(t *testing.T) { | ||||||
|  | 	tData := map[string]interface{}{ | ||||||
|  | 		"foot": "bart", | ||||||
|  | 	} | ||||||
|  | 	tr := NewTextRenderer(os.ReadFile, ".", tData) | ||||||
|  | 
 | ||||||
|  | 	tests := []struct { | ||||||
|  | 		text    string | ||||||
|  | 		expectd string | ||||||
|  | 		wantErr bool | ||||||
|  | 	}{ | ||||||
|  | 		{ | ||||||
|  | 			text:    `{{ $foo := .foot }}{{ $foo }}`, | ||||||
|  | 			expectd: "bart", | ||||||
|  | 			wantErr: false, | ||||||
|  | 		}, | ||||||
|  | 		{ | ||||||
|  | 			text:    `{ $foo := .foot }}{{ $foo }}`, | ||||||
|  | 			wantErr: true, | ||||||
|  | 		}, | ||||||
|  | 		{ | ||||||
|  | 			text:    `{{ $foo := .a }}{{ $foo }}`, | ||||||
|  | 			wantErr: true, | ||||||
|  | 		}, | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	for _, tt := range tests { | ||||||
|  | 		t.Run(tt.text, func(t *testing.T) { | ||||||
|  | 			got, err := tr.RenderTemplateText(tt.text) | ||||||
|  | 			if tt.wantErr { | ||||||
|  | 				require.Error(t, err) | ||||||
|  | 			} else { | ||||||
|  | 				require.NoError(t, err) | ||||||
|  | 			} | ||||||
|  | 			require.Equal(t, tt.expectd, got) | ||||||
|  | 		}) | ||||||
|  | 	} | ||||||
|  | } | ||||||
		Loading…
	
		Reference in New Issue