commit - 769cb642185672c6028e5169628823cbdffcf718
commit + 2cf560f78905b6f035e5eb06dfeae712d2346370
blob - 2fc3d81c052cdd71654d2331332cc56324071134
blob + e55aa8a276f7a4c279a5310bf10554ce5838b9b0
--- cmd/recursor/recursor_test.go
+++ cmd/recursor/recursor_test.go
}
t.Logf("wanted: %+v got %+v", wanted, got)
}
+
+func TestRefused(t *testing.T) {
+ var wanted, got dnsmessage.Message
+ var err error
+ wanted, err = dns.Exchange(tquery, quad9)
+ if err != nil {
+ fmt.Fprintf(os.Stderr, "skipping %s: %v\n", t.Name(), err)
+ t.Skip("query internet DNS:", err)
+ }
+ q := tquery
+ q.Questions[0].Name = dnsmessage.MustNewName("kjyq.com.")
+ wanted, err = dns.Exchange(q, "8.8.4.4:domain")
+ if err != nil {
+ t.Fatal(err)
+ }
+ // try twice: first for fresh response, second for cached response
+ for i := 0; i <= 1; i++ {
+ got, err = dns.Exchange(q, testAddr)
+ if err != nil {
+ t.Fatal(err)
+ }
+ if wanted.Header != got.Header {
+ t.Error("mismatched headers")
+ }
+ }
+ t.Logf("wanted: %+v got %+v", wanted, got)
+}