Fix code formatting in create_test.go
Co-authored-by: yxxhero <11087727+yxxhero@users.noreply.github.com>
This commit is contained in:
		
							parent
							
								
									6b6baa223c
								
							
						
					
					
						commit
						d576f9f65a
					
				|  | @ -533,17 +533,17 @@ releaseContext: | ||||||
| // TestHelmBinaryInBases tests that helmBinary and kustomizeBinary settings
 | // TestHelmBinaryInBases tests that helmBinary and kustomizeBinary settings
 | ||||||
| // from bases are properly merged with later values overriding earlier ones
 | // from bases are properly merged with later values overriding earlier ones
 | ||||||
| func TestHelmBinaryInBases(t *testing.T) { | func TestHelmBinaryInBases(t *testing.T) { | ||||||
| tests := []struct { | 	tests := []struct { | ||||||
| name                    string | 		name                    string | ||||||
| files                   map[string]string | 		files                   map[string]string | ||||||
| mainFile                string | 		mainFile                string | ||||||
| expectedHelmBinary      string | 		expectedHelmBinary      string | ||||||
| expectedKustomizeBinary string | 		expectedKustomizeBinary string | ||||||
| }{ | 	}{ | ||||||
| { | 		{ | ||||||
| name: "helmBinary in second base should be used", | 			name: "helmBinary in second base should be used", | ||||||
| files: map[string]string{ | 			files: map[string]string{ | ||||||
| "/path/to/helmfile.yaml": `bases: | 				"/path/to/helmfile.yaml": `bases: | ||||||
|   - ./bases/env.yaml |   - ./bases/env.yaml | ||||||
| --- | --- | ||||||
| bases: | bases: | ||||||
|  | @ -552,29 +552,29 @@ bases: | ||||||
| bases: | bases: | ||||||
|   - ./bases/releases.yaml |   - ./bases/releases.yaml | ||||||
| `, | `, | ||||||
| "/path/to/bases/env.yaml": `environments: | 				"/path/to/bases/env.yaml": `environments: | ||||||
|   default: |   default: | ||||||
|     values: |     values: | ||||||
|     - key: value1 |     - key: value1 | ||||||
| `, | `, | ||||||
| "/path/to/bases/repos.yaml": `repositories: | 				"/path/to/bases/repos.yaml": `repositories: | ||||||
|   - name: stable |   - name: stable | ||||||
|     url: https://charts.helm.sh/stable
 |     url: https://charts.helm.sh/stable
 | ||||||
| helmBinary: /path/to/custom/helm | helmBinary: /path/to/custom/helm | ||||||
| `, | `, | ||||||
| "/path/to/bases/releases.yaml": `releases: | 				"/path/to/bases/releases.yaml": `releases: | ||||||
|   - name: myapp |   - name: myapp | ||||||
|     chart: stable/nginx |     chart: stable/nginx | ||||||
| `, | `, | ||||||
| }, | 			}, | ||||||
| mainFile:                "/path/to/helmfile.yaml", | 			mainFile:                "/path/to/helmfile.yaml", | ||||||
| expectedHelmBinary:      "/path/to/custom/helm", | 			expectedHelmBinary:      "/path/to/custom/helm", | ||||||
| expectedKustomizeBinary: DefaultKustomizeBinary, | 			expectedKustomizeBinary: DefaultKustomizeBinary, | ||||||
| }, | 		}, | ||||||
| { | 		{ | ||||||
| name: "helmBinary in main file after bases should override", | 			name: "helmBinary in main file after bases should override", | ||||||
| files: map[string]string{ | 			files: map[string]string{ | ||||||
| "/path/to/helmfile.yaml": `bases: | 				"/path/to/helmfile.yaml": `bases: | ||||||
|   - ./bases/env.yaml |   - ./bases/env.yaml | ||||||
| --- | --- | ||||||
| bases: | bases: | ||||||
|  | @ -584,29 +584,29 @@ bases: | ||||||
|   - ./bases/releases.yaml |   - ./bases/releases.yaml | ||||||
| helmBinary: /path/to/main/helm | helmBinary: /path/to/main/helm | ||||||
| `, | `, | ||||||
| "/path/to/bases/env.yaml": `environments: | 				"/path/to/bases/env.yaml": `environments: | ||||||
|   default: |   default: | ||||||
|     values: |     values: | ||||||
|     - key: value1 |     - key: value1 | ||||||
| `, | `, | ||||||
| "/path/to/bases/repos.yaml": `repositories: | 				"/path/to/bases/repos.yaml": `repositories: | ||||||
|   - name: stable |   - name: stable | ||||||
|     url: https://charts.helm.sh/stable
 |     url: https://charts.helm.sh/stable
 | ||||||
| helmBinary: /path/to/base/helm | helmBinary: /path/to/base/helm | ||||||
| `, | `, | ||||||
| "/path/to/bases/releases.yaml": `releases: | 				"/path/to/bases/releases.yaml": `releases: | ||||||
|   - name: myapp |   - name: myapp | ||||||
|     chart: stable/nginx |     chart: stable/nginx | ||||||
| `, | `, | ||||||
| }, | 			}, | ||||||
| mainFile:                "/path/to/helmfile.yaml", | 			mainFile:                "/path/to/helmfile.yaml", | ||||||
| expectedHelmBinary:      "/path/to/main/helm", | 			expectedHelmBinary:      "/path/to/main/helm", | ||||||
| expectedKustomizeBinary: DefaultKustomizeBinary, | 			expectedKustomizeBinary: DefaultKustomizeBinary, | ||||||
| }, | 		}, | ||||||
| { | 		{ | ||||||
| name: "helmBinary in main file between bases should override earlier bases", | 			name: "helmBinary in main file between bases should override earlier bases", | ||||||
| files: map[string]string{ | 			files: map[string]string{ | ||||||
| "/path/to/helmfile.yaml": `bases: | 				"/path/to/helmfile.yaml": `bases: | ||||||
|   - ./bases/env.yaml |   - ./bases/env.yaml | ||||||
| --- | --- | ||||||
| bases: | bases: | ||||||
|  | @ -616,118 +616,118 @@ helmBinary: /path/to/middle/helm | ||||||
| bases: | bases: | ||||||
|   - ./bases/releases.yaml |   - ./bases/releases.yaml | ||||||
| `, | `, | ||||||
| "/path/to/bases/env.yaml": `environments: | 				"/path/to/bases/env.yaml": `environments: | ||||||
|   default: |   default: | ||||||
|     values: |     values: | ||||||
|     - key: value1 |     - key: value1 | ||||||
| `, | `, | ||||||
| "/path/to/bases/repos.yaml": `repositories: | 				"/path/to/bases/repos.yaml": `repositories: | ||||||
|   - name: stable |   - name: stable | ||||||
|     url: https://charts.helm.sh/stable
 |     url: https://charts.helm.sh/stable
 | ||||||
| helmBinary: /path/to/base/helm | helmBinary: /path/to/base/helm | ||||||
| `, | `, | ||||||
| "/path/to/bases/releases.yaml": `releases: | 				"/path/to/bases/releases.yaml": `releases: | ||||||
|   - name: myapp |   - name: myapp | ||||||
|     chart: stable/nginx |     chart: stable/nginx | ||||||
| `, | `, | ||||||
| }, | 			}, | ||||||
| mainFile:                "/path/to/helmfile.yaml", | 			mainFile:                "/path/to/helmfile.yaml", | ||||||
| expectedHelmBinary:      "/path/to/middle/helm", | 			expectedHelmBinary:      "/path/to/middle/helm", | ||||||
| expectedKustomizeBinary: DefaultKustomizeBinary, | 			expectedKustomizeBinary: DefaultKustomizeBinary, | ||||||
| }, | 		}, | ||||||
| { | 		{ | ||||||
| name: "kustomizeBinary in base should be used", | 			name: "kustomizeBinary in base should be used", | ||||||
| files: map[string]string{ | 			files: map[string]string{ | ||||||
| "/path/to/helmfile.yaml": `bases: | 				"/path/to/helmfile.yaml": `bases: | ||||||
|   - ./bases/base.yaml |   - ./bases/base.yaml | ||||||
| `, | `, | ||||||
| "/path/to/bases/base.yaml": `kustomizeBinary: /path/to/custom/kustomize | 				"/path/to/bases/base.yaml": `kustomizeBinary: /path/to/custom/kustomize | ||||||
| releases: | releases: | ||||||
|   - name: myapp |   - name: myapp | ||||||
|     chart: mychart |     chart: mychart | ||||||
| `, | `, | ||||||
| }, | 			}, | ||||||
| mainFile:                "/path/to/helmfile.yaml", | 			mainFile:                "/path/to/helmfile.yaml", | ||||||
| expectedHelmBinary:      DefaultHelmBinary, | 			expectedHelmBinary:      DefaultHelmBinary, | ||||||
| expectedKustomizeBinary: "/path/to/custom/kustomize", | 			expectedKustomizeBinary: "/path/to/custom/kustomize", | ||||||
| }, | 		}, | ||||||
| { | 		{ | ||||||
| name: "both helmBinary and kustomizeBinary in different bases", | 			name: "both helmBinary and kustomizeBinary in different bases", | ||||||
| files: map[string]string{ | 			files: map[string]string{ | ||||||
| "/path/to/helmfile.yaml": `bases: | 				"/path/to/helmfile.yaml": `bases: | ||||||
|   - ./bases/helm.yaml |   - ./bases/helm.yaml | ||||||
| --- | --- | ||||||
| bases: | bases: | ||||||
|   - ./bases/kustomize.yaml |   - ./bases/kustomize.yaml | ||||||
| `, | `, | ||||||
| "/path/to/bases/helm.yaml": `helmBinary: /path/to/custom/helm | 				"/path/to/bases/helm.yaml": `helmBinary: /path/to/custom/helm | ||||||
| `, | `, | ||||||
| "/path/to/bases/kustomize.yaml": `kustomizeBinary: /path/to/custom/kustomize | 				"/path/to/bases/kustomize.yaml": `kustomizeBinary: /path/to/custom/kustomize | ||||||
| `, | `, | ||||||
| }, | 			}, | ||||||
| mainFile:                "/path/to/helmfile.yaml", | 			mainFile:                "/path/to/helmfile.yaml", | ||||||
| expectedHelmBinary:      "/path/to/custom/helm", | 			expectedHelmBinary:      "/path/to/custom/helm", | ||||||
| expectedKustomizeBinary: "/path/to/custom/kustomize", | 			expectedKustomizeBinary: "/path/to/custom/kustomize", | ||||||
| }, | 		}, | ||||||
| { | 		{ | ||||||
| name: "later base overrides earlier base for helmBinary", | 			name: "later base overrides earlier base for helmBinary", | ||||||
| files: map[string]string{ | 			files: map[string]string{ | ||||||
| "/path/to/helmfile.yaml": `bases: | 				"/path/to/helmfile.yaml": `bases: | ||||||
|   - ./bases/first.yaml |   - ./bases/first.yaml | ||||||
| --- | --- | ||||||
| bases: | bases: | ||||||
|   - ./bases/second.yaml |   - ./bases/second.yaml | ||||||
| `, | `, | ||||||
| "/path/to/bases/first.yaml": `helmBinary: /path/to/first/helm | 				"/path/to/bases/first.yaml": `helmBinary: /path/to/first/helm | ||||||
| `, | `, | ||||||
| "/path/to/bases/second.yaml": `helmBinary: /path/to/second/helm | 				"/path/to/bases/second.yaml": `helmBinary: /path/to/second/helm | ||||||
| `, | `, | ||||||
| }, | 			}, | ||||||
| mainFile:                "/path/to/helmfile.yaml", | 			mainFile:                "/path/to/helmfile.yaml", | ||||||
| expectedHelmBinary:      "/path/to/second/helm", | 			expectedHelmBinary:      "/path/to/second/helm", | ||||||
| expectedKustomizeBinary: DefaultKustomizeBinary, | 			expectedKustomizeBinary: DefaultKustomizeBinary, | ||||||
| }, | 		}, | ||||||
| } | 	} | ||||||
| 
 | 
 | ||||||
| for _, tt := range tests { | 	for _, tt := range tests { | ||||||
| t.Run(tt.name, func(t *testing.T) { | 		t.Run(tt.name, func(t *testing.T) { | ||||||
| testFs := testhelper.NewTestFs(tt.files) | 			testFs := testhelper.NewTestFs(tt.files) | ||||||
| if testFs.Cwd == "" { | 			if testFs.Cwd == "" { | ||||||
| testFs.Cwd = "/" | 				testFs.Cwd = "/" | ||||||
| } | 			} | ||||||
| 
 | 
 | ||||||
| r := remote.NewRemote(logger, testFs.Cwd, testFs.ToFileSystem()) | 			r := remote.NewRemote(logger, testFs.Cwd, testFs.ToFileSystem()) | ||||||
| creator := NewCreator(logger, testFs.ToFileSystem(), nil, nil, "", "", r, false, "") | 			creator := NewCreator(logger, testFs.ToFileSystem(), nil, nil, "", "", r, false, "") | ||||||
| 
 | 
 | ||||||
| // Set up LoadFile for recursive base loading
 | 			// Set up LoadFile for recursive base loading
 | ||||||
| creator.LoadFile = func(inheritedEnv, overrodeEnv *environment.Environment, baseDir, file string, evaluateBases bool) (*HelmState, error) { | 			creator.LoadFile = func(inheritedEnv, overrodeEnv *environment.Environment, baseDir, file string, evaluateBases bool) (*HelmState, error) { | ||||||
| path := filepath.Join(baseDir, file) | 				path := filepath.Join(baseDir, file) | ||||||
| content, ok := tt.files[path] | 				content, ok := tt.files[path] | ||||||
| if !ok { | 				if !ok { | ||||||
| return nil, fmt.Errorf("file not found: %s", path) | 					return nil, fmt.Errorf("file not found: %s", path) | ||||||
| } | 				} | ||||||
| return creator.ParseAndLoad([]byte(content), filepath.Dir(path), path, DefaultEnv, true, evaluateBases, inheritedEnv, overrodeEnv) | 				return creator.ParseAndLoad([]byte(content), filepath.Dir(path), path, DefaultEnv, true, evaluateBases, inheritedEnv, overrodeEnv) | ||||||
| } | 			} | ||||||
| 
 | 
 | ||||||
| yamlContent, ok := tt.files[tt.mainFile] | 			yamlContent, ok := tt.files[tt.mainFile] | ||||||
| if !ok { | 			if !ok { | ||||||
| t.Fatalf("no file named %q registered", tt.mainFile) | 				t.Fatalf("no file named %q registered", tt.mainFile) | ||||||
| } | 			} | ||||||
| 
 | 
 | ||||||
| state, err := creator.ParseAndLoad([]byte(yamlContent), filepath.Dir(tt.mainFile), tt.mainFile, DefaultEnv, true, true, nil, nil) | 			state, err := creator.ParseAndLoad([]byte(yamlContent), filepath.Dir(tt.mainFile), tt.mainFile, DefaultEnv, true, true, nil, nil) | ||||||
| if err != nil { | 			if err != nil { | ||||||
| t.Fatalf("unexpected error: %v", err) | 				t.Fatalf("unexpected error: %v", err) | ||||||
| } | 			} | ||||||
| 
 | 
 | ||||||
| if state.DefaultHelmBinary != tt.expectedHelmBinary { | 			if state.DefaultHelmBinary != tt.expectedHelmBinary { | ||||||
| t.Errorf("helmBinary mismatch: expected=%s, actual=%s", | 				t.Errorf("helmBinary mismatch: expected=%s, actual=%s", | ||||||
| tt.expectedHelmBinary, state.DefaultHelmBinary) | 					tt.expectedHelmBinary, state.DefaultHelmBinary) | ||||||
| } | 			} | ||||||
| 
 | 
 | ||||||
| if state.DefaultKustomizeBinary != tt.expectedKustomizeBinary { | 			if state.DefaultKustomizeBinary != tt.expectedKustomizeBinary { | ||||||
| t.Errorf("kustomizeBinary mismatch: expected=%s, actual=%s", | 				t.Errorf("kustomizeBinary mismatch: expected=%s, actual=%s", | ||||||
| tt.expectedKustomizeBinary, state.DefaultKustomizeBinary) | 					tt.expectedKustomizeBinary, state.DefaultKustomizeBinary) | ||||||
| } | 			} | ||||||
| }) | 		}) | ||||||
| } | 	} | ||||||
| } | } | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue