coredns/middleware/kubernetes/ns_test.go
Miek Gieben acfa6501e0 mw/k8s: remove dependence on global var ()
* mw/k8s: remove dependence on global var

Remove the global coreDNSRecord that was used. Remove tests the
referenced that var. Cleanup the rest.

* Rename function as well

* fixes
2017-08-10 23:13:08 +01:00

71 lines
1.5 KiB
Go

package kubernetes
import (
"net"
"testing"
"k8s.io/client-go/1.5/pkg/api"
)
type APIConnTest struct{}
func (APIConnTest) Run() { return }
func (APIConnTest) Stop() error { return nil }
func (APIConnTest) PodIndex(string) []interface{} { return nil }
func (APIConnTest) ServiceList() []*api.Service {
svc := api.Service{
ObjectMeta: api.ObjectMeta{
Name: "dns-service",
Namespace: "kube-system",
},
Spec: api.ServiceSpec{
ClusterIP: "10.0.0.111",
},
}
return []*api.Service{&svc}
}
func (APIConnTest) EndpointsList() api.EndpointsList {
return api.EndpointsList{
Items: []api.Endpoints{
{
Subsets: []api.EndpointSubset{
{
Addresses: []api.EndpointAddress{
{
IP: "172.0.40.10",
},
},
},
},
ObjectMeta: api.ObjectMeta{
Name: "dns-service",
Namespace: "kube-system",
},
},
},
}
}
func (APIConnTest) GetNodeByName(name string) (api.Node, error) { return api.Node{}, nil }
func TestNsAddr(t *testing.T) {
k := Kubernetes{Zones: []string{"inter.webs.test"}}
k.interfaceAddrsFunc = func() net.IP { return net.ParseIP("172.0.40.10") }
k.APIConn = &APIConnTest{}
cdr := k.nsAddr()
expected := "10.0.0.111"
if cdr.A.String() != expected {
t.Errorf("Expected A to be %q, got %q", expected, cdr.A.String())
}
expected = "dns-service.kube-system.svc."
if cdr.Hdr.Name != expected {
t.Errorf("Expected Hdr.Name to be %q, got %q", expected, cdr.Hdr.Name)
}
}