Deeper validation in dns controller tests

Follow up to #11069; use cmp.Diff to compare got vs want.
This commit is contained in:
Justin SB 2021-03-21 09:11:25 -04:00
parent 7c0cbb7954
commit 01d1c7fa1d
3 changed files with 10 additions and 8 deletions

View File

@ -47,7 +47,7 @@ If _either_ of the two annotations are set on a `LoadBalancer` service, it will
dns-controller can optionally watch `Ingress` resources. To enable this, you need to add the following to the cluster spec:
```
spec:
external-dns:
externalDns:
watchIngress: true
```

View File

@ -31,6 +31,7 @@ go_test(
embed = [":go_default_library"],
deps = [
"//dns-controller/pkg/dns:go_default_library",
"//vendor/github.com/google/go-cmp/cmp:go_default_library",
"//vendor/k8s.io/api/core/v1:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
"//vendor/k8s.io/client-go/kubernetes/fake:go_default_library",

View File

@ -21,6 +21,7 @@ import (
"testing"
"time"
"github.com/google/go-cmp/cmp"
corev1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/client-go/kubernetes/fake"
@ -81,13 +82,13 @@ func TestPodController(t *testing.T) {
c.Stop()
records, ok := scope.records["kube-system/somepod"]
if !ok {
t.Fatal("no records for pod generated")
want := map[string][]dns.Record{
"kube-system/somepod": {
{RecordType: "_alias", FQDN: "a.foo.com.", Value: "node/my-node/external"},
{RecordType: "A", FQDN: "internal.a.foo.com.", Value: "10.0.0.1"},
},
}
if len(records) != 2 {
t.Fatalf("unexpected number of records")
if diff := cmp.Diff(scope.records, want); diff != "" {
t.Fatalf("generated records did not match expected; diff=%s", diff)
}
}