[Federation] Unit test update for dns provider configurability

This commit is contained in:
Irfan Ur Rehman 2016-11-10 12:41:08 +05:30
parent c5a5a71976
commit a7a56caa6b

View File

@ -58,6 +58,7 @@ const (
func TestInitFederation(t *testing.T) { func TestInitFederation(t *testing.T) {
cmdErrMsg := "" cmdErrMsg := ""
dnsProvider := ""
cmdutil.BehaviorOnFatal(func(str string, code int) { cmdutil.BehaviorOnFatal(func(str string, code int) {
cmdErrMsg = str cmdErrMsg = str
}) })
@ -76,6 +77,7 @@ func TestInitFederation(t *testing.T) {
lbIP string lbIP string
image string image string
expectedErr string expectedErr string
dnsProvider string
}{ }{
{ {
federation: "union", federation: "union",
@ -85,14 +87,31 @@ func TestInitFederation(t *testing.T) {
lbIP: "10.20.30.40", lbIP: "10.20.30.40",
image: "example.test/foo:bar", image: "example.test/foo:bar",
expectedErr: "", expectedErr: "",
dnsProvider: "test-dns-provider",
},
{
federation: "union",
kubeconfigGlobal: fakeKubeFiles[0],
kubeconfigExplicit: "",
dnsZoneName: "example.test.",
lbIP: "10.20.30.40",
image: "example.test/foo:bar",
expectedErr: "",
dnsProvider: "", //test for default value of dns provider
}, },
} }
for i, tc := range testCases { for i, tc := range testCases {
cmdErrMsg = "" cmdErrMsg = ""
dnsProvider = ""
buf := bytes.NewBuffer([]byte{}) buf := bytes.NewBuffer([]byte{})
hostFactory, err := fakeInitHostFactory(tc.federation, util.DefaultFederationSystemNamespace, tc.lbIP, tc.dnsZoneName, tc.image) if "" != tc.dnsProvider {
dnsProvider = tc.dnsProvider
} else {
dnsProvider = "google-clouddns" //default value of dns-provider
}
hostFactory, err := fakeInitHostFactory(tc.federation, util.DefaultFederationSystemNamespace, tc.lbIP, tc.dnsZoneName, tc.image, dnsProvider)
if err != nil { if err != nil {
t.Fatalf("[%d] unexpected error: %v", i, err) t.Fatalf("[%d] unexpected error: %v", i, err)
} }
@ -108,6 +127,9 @@ func TestInitFederation(t *testing.T) {
cmd.Flags().Set("host-cluster-context", "substrate") cmd.Flags().Set("host-cluster-context", "substrate")
cmd.Flags().Set("dns-zone-name", tc.dnsZoneName) cmd.Flags().Set("dns-zone-name", tc.dnsZoneName)
cmd.Flags().Set("image", tc.image) cmd.Flags().Set("image", tc.image)
if "" != tc.dnsProvider {
cmd.Flags().Set("dns-provider", tc.dnsProvider)
}
cmd.Run(cmd, []string{tc.federation}) cmd.Run(cmd, []string{tc.federation})
if tc.expectedErr == "" { if tc.expectedErr == "" {
@ -370,7 +392,7 @@ func TestCertsHTTPS(t *testing.T) {
} }
} }
func fakeInitHostFactory(federationName, namespaceName, ip, dnsZoneName, image string) (cmdutil.Factory, error) { func fakeInitHostFactory(federationName, namespaceName, ip, dnsZoneName, image, dnsProvider string) (cmdutil.Factory, error) {
svcName := federationName + "-apiserver" svcName := federationName + "-apiserver"
svcUrlPrefix := "/api/v1/namespaces/federation-system/services" svcUrlPrefix := "/api/v1/namespaces/federation-system/services"
credSecretName := svcName + "-credentials" credSecretName := svcName + "-credentials"
@ -597,7 +619,7 @@ func fakeInitHostFactory(federationName, namespaceName, ip, dnsZoneName, image s
"federation-controller-manager", "federation-controller-manager",
"--master=https://federation-apiserver", "--master=https://federation-apiserver",
"--kubeconfig=/etc/federation/controller-manager/kubeconfig", "--kubeconfig=/etc/federation/controller-manager/kubeconfig",
"--dns-provider=gce", fmt.Sprintf("--dns-provider=%s", dnsProvider),
"--dns-provider-config=", "--dns-provider-config=",
fmt.Sprintf("--federation-name=%s", federationName), fmt.Sprintf("--federation-name=%s", federationName),
fmt.Sprintf("--zone-name=%s", dnsZoneName), fmt.Sprintf("--zone-name=%s", dnsZoneName),