package config import ( "os" "testing" ) func TestInit(t *testing.T) { cfg := Init() if cfg.AllowAdminNoMutateToggle != "7b068a99-c02b-410a-bd59-3514bac85e7a" { t.Errorf("Init() returned incorrect value for AllowAdminNoMutateToggle, got %v, wanted %v", cfg.AllowAdminNoMutateToggle, "7b068a99-c02b-410a-bd59-3514bac85e7a") } } func TestGetOSEnv(t *testing.T) { expected := "foo" os.Setenv("TEST_ENV", expected) result := getOSEnv("TEST_ENV", "bar") if result != expected { t.Errorf("getOSEnv() returned incorrect value, got %s, wanted %s", result, expected) } os.Unsetenv("TEST_ENV") result = getOSEnv("TEST_ENV", expected) if result != expected { t.Errorf("getOSEnv() returned incorrect value, got %s, wanted %s", result, expected) } } func TestUpdateValues(t *testing.T) { cfg := Config{ AllowAdminNoMutate: false, AllowAdminNoMutateToggle: "7b068a99-c02b-410a-bd59-3514bac85e7a", DockerhubRegistry: "registry.hub.docker.com", NameSpace: "ingress-nginx", } cfgFile := configFileStruct{ AllowAdminNoMutate: true, AllowAdminNoMutateToggle: "test-token", DockerhubRegistry: "registry.example.com", Kubernetes: KubernetesStruct{ Namespace: "example-namespace", }, } updateValues(&cfg, cfgFile) if cfg.AllowAdminNoMutate != cfgFile.AllowAdminNoMutate { t.Errorf("updateValues() returned incorrect value for AllowAdminNoMutate, got %v, wanted %v", cfg.AllowAdminNoMutate, cfgFile.AllowAdminNoMutate) } if cfg.AllowAdminNoMutateToggle != cfgFile.AllowAdminNoMutateToggle { t.Errorf("updateValues() returned incorrect value for AllowAdminNoMutateToken, got %v, wanted %v", cfg.AllowAdminNoMutateToggle, cfgFile.AllowAdminNoMutateToggle) } if cfg.DockerhubRegistry != cfgFile.DockerhubRegistry { t.Errorf("updateValues() returned incorrect value for DockerhubRegistry, got %v, wanted %v", cfg.DockerhubRegistry, cfgFile.DockerhubRegistry) } if cfg.NameSpace != cfgFile.Kubernetes.Namespace { t.Errorf("updateValues() returned incorrect value for NameSpace, got %v, wanted %v", cfg.NameSpace, cfgFile.Kubernetes.Namespace) } /* if cfg.ServiceName == "webhook" && configFileData.Kubernetes.ServiceName != "webhook" { cfg.ServiceName = configFileData.Kubernetes.ServiceName } if len(configFileData.MutateIgnoredImages) != 0 { cfg.MutateIgnoredImages = configFileData.MutateIgnoredImages } if len(configFileData.CertificateAuthority.Certificate) != 0 { cfg.CACert = configFileData.CertificateAuthority.Certificate } if len(configFileData.CertificateAuthority.PrivateKey) != 0 { cfg.CAPrivateKey = configFileData.CertificateAuthority.PrivateKey } if len(configFileData.Certificate.Certificate) != 0 { cfg.CertCert = configFileData.Certificate.Certificate } if len(configFileData.Certificate.PrivateKey) != 0 { cfg.CertPrivateKey = configFileData.Certificate.PrivateKey } */ } func TestGetDNSNames(t *testing.T) { expected := []string{ "exampleService", "exampleService.exampleNameSpace", "exampleService.exampleNameSpace.svc", "exampleService.exampleNameSpace.svc.cluster", "exampleService.exampleNameSpace.svc.cluster.local", } result := getDNSNames("exampleService", "exampleNameSpace") for i := range expected { if result[i] != expected[i] { t.Errorf("getDNSNames() failed to return the expected result, got %s, wanted %s", expected[i], result[i]) } } return }