Update charts/gha-runner-scale-set/tests/template_test.go
Co-authored-by: Nikola Jokic <jokicnikola07@gmail.com>
This commit is contained in:
		
							parent
							
								
									79bc36740a
								
							
						
					
					
						commit
						9880df4a68
					
				|  | @ -2326,15 +2326,13 @@ func TestNamespaceOverride(t *testing.T) { | |||
| 	releaseNamespace := "test-" + strings.ToLower(random.UniqueId()) | ||||
| 	namespaceOverride := "test-" + strings.ToLower(random.UniqueId()) | ||||
| 
 | ||||
| 	options := map[string]*helm.Options{ | ||||
| 		"_": { | ||||
| 			Logger: logger.Discard, | ||||
| 			SetValues: map[string]string{ | ||||
| 				"namespaceOverride": namespaceOverride, | ||||
| 			}, | ||||
| 			KubectlOptions: k8s.NewKubectlOptions("", "", releaseNamespace), | ||||
| 		}, | ||||
| 	tt := map[string]struct { | ||||
| 		file    string | ||||
| 		options *helm.Options | ||||
| 	}{ | ||||
| 		"manager_role": { | ||||
| 			file: "manager_role.yaml", | ||||
| 			options: &helm.Options{ | ||||
| 				Logger: logger.Discard, | ||||
| 				SetValues: map[string]string{ | ||||
| 					"namespaceOverride":                  namespaceOverride, | ||||
|  | @ -2345,7 +2343,10 @@ func TestNamespaceOverride(t *testing.T) { | |||
| 				}, | ||||
| 				KubectlOptions: k8s.NewKubectlOptions("", "", releaseNamespace), | ||||
| 			}, | ||||
| 		}, | ||||
| 		"manager_role_binding": { | ||||
| 			file: "manager_role_binding.yaml", | ||||
| 			options: &helm.Options{ | ||||
| 				Logger: logger.Discard, | ||||
| 				SetValues: map[string]string{ | ||||
| 					"namespaceOverride":                  namespaceOverride, | ||||
|  | @ -2356,7 +2357,10 @@ func TestNamespaceOverride(t *testing.T) { | |||
| 				}, | ||||
| 				KubectlOptions: k8s.NewKubectlOptions("", "", releaseNamespace), | ||||
| 			}, | ||||
| 		}, | ||||
| 		"no_permission_serviceaccount": { | ||||
| 			file: "no_permission_serviceaccount.yaml", | ||||
| 			options: &helm.Options{ | ||||
| 				Logger: logger.Discard, | ||||
| 				SetValues: map[string]string{ | ||||
| 					"namespaceOverride":                  namespaceOverride, | ||||
|  | @ -2367,7 +2371,10 @@ func TestNamespaceOverride(t *testing.T) { | |||
| 				}, | ||||
| 				KubectlOptions: k8s.NewKubectlOptions("", "", releaseNamespace), | ||||
| 			}, | ||||
| 		}, | ||||
| 		"autoscalingrunnerset": { | ||||
| 			file: "autoscalingrunnerset.yaml", | ||||
| 			options: &helm.Options{ | ||||
| 				Logger: logger.Discard, | ||||
| 				SetValues: map[string]string{ | ||||
| 					"namespaceOverride":                  namespaceOverride, | ||||
|  | @ -2378,7 +2385,10 @@ func TestNamespaceOverride(t *testing.T) { | |||
| 				}, | ||||
| 				KubectlOptions: k8s.NewKubectlOptions("", "", releaseNamespace), | ||||
| 			}, | ||||
| 		}, | ||||
| 		"githubsecret": { | ||||
| 			file: "githubsecret.yaml", | ||||
| 			options: &helm.Options{ | ||||
| 				Logger: logger.Discard, | ||||
| 				SetValues: map[string]string{ | ||||
| 					"namespaceOverride":                  namespaceOverride, | ||||
|  | @ -2389,7 +2399,10 @@ func TestNamespaceOverride(t *testing.T) { | |||
| 				}, | ||||
| 				KubectlOptions: k8s.NewKubectlOptions("", "", releaseNamespace), | ||||
| 			}, | ||||
| 		}, | ||||
| 		"kube_mode_role": { | ||||
| 			file: "kube_mode_role.yaml", | ||||
| 			options: &helm.Options{ | ||||
| 				Logger: logger.Discard, | ||||
| 				SetValues: map[string]string{ | ||||
| 					"namespaceOverride":                  namespaceOverride, | ||||
|  | @ -2401,7 +2414,10 @@ func TestNamespaceOverride(t *testing.T) { | |||
| 				}, | ||||
| 				KubectlOptions: k8s.NewKubectlOptions("", "", releaseNamespace), | ||||
| 			}, | ||||
| 		}, | ||||
| 		"kube_mode_role_binding": { | ||||
| 			file: "kube_mode_role_binding.yaml", | ||||
| 			options: &helm.Options{ | ||||
| 				Logger: logger.Discard, | ||||
| 				SetValues: map[string]string{ | ||||
| 					"namespaceOverride":                  namespaceOverride, | ||||
|  | @ -2413,7 +2429,10 @@ func TestNamespaceOverride(t *testing.T) { | |||
| 				}, | ||||
| 				KubectlOptions: k8s.NewKubectlOptions("", "", releaseNamespace), | ||||
| 			}, | ||||
| 		}, | ||||
| 		"kube_mode_serviceaccount": { | ||||
| 			file: "kube_mode_serviceaccount.yaml", | ||||
| 			options: &helm.Options{ | ||||
| 				Logger: logger.Discard, | ||||
| 				SetValues: map[string]string{ | ||||
| 					"namespaceOverride":                  namespaceOverride, | ||||
|  | @ -2425,34 +2444,25 @@ func TestNamespaceOverride(t *testing.T) { | |||
| 				}, | ||||
| 				KubectlOptions: k8s.NewKubectlOptions("", "", releaseNamespace), | ||||
| 			}, | ||||
| 		}, | ||||
| 	} | ||||
| 	templateFiles, err := os.ReadDir(filepath.Join(chartPath, "templates")) | ||||
| 	require.NoError(t, err) | ||||
| 
 | ||||
| 	for _, f := range templateFiles { | ||||
| 		fileExtension := filepath.Ext(f.Name()) | ||||
| 		if fileExtension != ".yaml" && fileExtension != ".yml" { | ||||
| 			continue | ||||
| 		} | ||||
| 		templateFile := filepath.Join("templates", f.Name()) | ||||
| 		opts := options["_"] | ||||
| 		for k := range options { | ||||
| 			if strings.TrimSuffix(f.Name(), fileExtension) == k { | ||||
| 				opts = options[k] | ||||
| 				break | ||||
| 			} | ||||
| 		} | ||||
| 		output, err := helm.RenderTemplateE(t, opts, chartPath, releaseName, []string{templateFile}) | ||||
| 	for name, tc := range tt { | ||||
| 		t.Run(name, func(t *testing.T) { | ||||
| 			t.Parallel() | ||||
| 			templateFile := filepath.Join("templates", tc.file) | ||||
| 
 | ||||
| 			output, err := helm.RenderTemplateE(t, tc.options, chartPath, releaseName, []string{templateFile}) | ||||
| 			if err != nil { | ||||
| 			t.Errorf("Error rendering template %s from chart %s: %s", f.Name(), chartPath, err) | ||||
| 				t.Errorf("Error rendering template %s from chart %s: %s", tc.file, chartPath, err) | ||||
| 			} | ||||
| 
 | ||||
| 		var renderedObject map[string]interface{} | ||||
| 			type object struct { | ||||
| 				Metadata metav1.ObjectMeta | ||||
| 			} | ||||
| 			var renderedObject object | ||||
| 			helm.UnmarshalK8SYaml(t, output, &renderedObject) | ||||
| 
 | ||||
| 		if renderedObject["metadata"].(map[string]interface{})["namespace"] != nil { | ||||
| 			assert.Equal(t, namespaceOverride, renderedObject["metadata"].(map[string]interface{})["namespace"], fmt.Sprintf("template %s from chart %s should have namespace %s", f.Name(), chartPath, namespaceOverride)) | ||||
| 		} | ||||
| 			assert.Equal(t, namespaceOverride, renderedObject.Metadata.Namespace) | ||||
| 		}) | ||||
| 	} | ||||
| } | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue