package file import ( "context" "strings" "testing" "github.com/coredns/coredns/plugin/pkg/dnstest" "github.com/coredns/coredns/plugin/test" "github.com/miekg/dns" ) var entTestCases = []test.Case{ { Qname: "b.c.miek.nl.", Qtype: dns.TypeA, Ns: []dns.RR{ test.SOA("miek.nl. 1800 IN SOA linode.atoom.net. miek.miek.nl. 1282630057 14400 3600 604800 14400"), }, }, { Qname: "b.c.miek.nl.", Qtype: dns.TypeA, Do: true, Ns: []dns.RR{ test.NSEC("a.miek.nl. 14400 IN NSEC a.b.c.miek.nl. A RRSIG NSEC"), test.RRSIG("a.miek.nl. 14400 IN RRSIG NSEC 8 3 14400 20160502144311 20160402144311 12051 miek.nl. d5XZEy6SUpq98ZKUlzqhAfkLI9pQPc="), test.RRSIG("miek.nl. 1800 IN RRSIG SOA 8 2 1800 20160502144311 20160402144311 12051 miek.nl. KegoBxA3Tbrhlc4cEdkRiteIkOfsq"), test.SOA("miek.nl. 1800 IN SOA linode.atoom.net. miek.miek.nl. 1282630057 14400 3600 604800 14400"), }, Extra: []dns.RR{test.OPT(4096, true)}, }, } func TestLookupEnt(t *testing.T) { zone, err := Parse(strings.NewReader(dbMiekENTNL), testzone, "stdin", 0) if err != nil { t.Fatalf("Expect no error when reading zone, got %q", err) } fm := File{Next: test.ErrorHandler(), Zones: Zones{Z: map[string]*Zone{testzone: zone}, Names: []string{testzone}}} ctx := context.TODO() for _, tc := range entTestCases { m := tc.Msg() rec := dnstest.NewRecorder(&test.ResponseWriter{}) _, err := fm.ServeDNS(ctx, rec, m) if err != nil { t.Errorf("expected no error, got %v\n", err) return } resp := rec.Msg test.SortAndCheck(t, resp, tc) } } // fdjfdjkf const dbMiekENTNL = `; File written on Sat Apr 2 16:43:11 2016 ; dnssec_signzone version 9.10.3-P4-Ubuntu miek.nl. 1800 IN SOA linode.atoom.net. miek.miek.nl. ( 1282630057 ; serial 14400 ; refresh (4 hours) 3600 ; retry (1 hour) 604800 ; expire (1 week) 14400 ; minimum (4 hours) ) 1800 RRSIG SOA 8 2 1800 ( 20160502144311 20160402144311 12051 miek.nl. KegoBxA3Tbrhlc4cEdkRiteIkOfsqD4oCLLM ISJ5bChWy00LGHUlAnHVu5Ti96hUjVNmGSxa xtGSuAAMFCr52W8pAB8LBIlu9B6QZUPHMccr SuzxAX3ioawk2uTjm+k8AGPT4RoQdXemGLAp zJTASolTVmeMTh5J0sZTZJrtvZ0= ) 1800 NS linode.atoom.net. 1800 RRSIG NS 8 2 1800 ( 20160502144311 20160402144311 12051 miek.nl. m0cOHL6Rre/0jZPXe+0IUjs/8AFASRCvDbSx ZQsRDSlZgS6RoMP3OC77cnrKDVlfZ2Vhq3Ce nYPoGe0/atB92XXsilmstx4HTSU64gsV9iLN Xkzk36617t7zGOl/qumqfaUXeA9tihItzEim 6SGnufVZI4o8xeyaVCNDDuN0bvY= ) 14400 NSEC a.miek.nl. NS SOA RRSIG NSEC DNSKEY 14400 RRSIG NSEC 8 2 14400 ( 20160502144311 20160402144311 12051 miek.nl. BCWVgwxWrs4tBjS9QXKkftCUbiLi40NyH1yA nbFy1wCKQ2jDH00810+ia4b66QrjlAKgxE9z 9U7MKSMV86sNkyAtlCi+2OnjtWF6sxPdJO7k CHeg46XBjrQuiJRY8CneQX56+IEPdufLeqPR l+ocBQ2UkGhXmQdWp3CFDn2/eqU= ) 1800 DNSKEY 256 3 8 ( AwEAAcNEU67LJI5GEgF9QLNqLO1SMq1EdoQ6 E9f85ha0k0ewQGCblyW2836GiVsm6k8Kr5EC IoMJ6fZWf3CQSQ9ycWfTyOHfmI3eQ/1Covhb 2y4bAmL/07PhrL7ozWBW3wBfM335Ft9xjtXH Py7ztCbV9qZ4TVDTW/Iyg0PiwgoXVesz ) ; ZSK; alg = RSASHA256; key id = 12051 1800 DNSKEY 257 3 8 ( AwEAAcWdjBl4W4wh/hPxMDcBytmNCvEngIgB 9Ut3C2+QI0oVz78/WK9KPoQF7B74JQ/mjO4f vIncBmPp6mFNxs9/WQX0IXf7oKviEVOXLjct R4D1KQLX0wprvtUIsQFIGdXaO6suTT5eDbSd 6tTwu5xIkGkDmQhhH8OQydoEuCwV245ZwF/8 AIsqBYDNQtQ6zhd6jDC+uZJXg/9LuPOxFHbi MTjp6j3CCW0kHbfM/YHZErWWtjPj3U3Z7knQ SIm5PO5FRKBEYDdr5UxWJ/1/20SrzI3iztvP wHDsA2rdHm/4YRzq7CvG4N0t9ac/T0a0Sxba /BUX2UVPWaIVBdTRBtgHi0s= ) ; KSK; alg = RSASHA256; key id = 33694 1800 RRSIG DNSKEY 8 2 1800 ( 20160502144311 20160402144311 12051 miek.nl. YNpi1jRDQKpnsQEjIjxqy+kJGaYnV16e8Iug 40c82y4pee7kIojFUllSKP44qiJpCArxF557 tfjfwBd6c4hkqCScGPZXJ06LMyG4u//rhVMh 4hyKcxzQFKxmrFlj3oQGksCI8lxGX6RxiZuR qv2ol2lUWrqetpAL+Zzwt71884E= ) 1800 RRSIG DNSKEY 8 2 1800 ( 20160502144311 20160402144311 33694 miek.nl. jKpLDEeyadgM0wDgzEk6sBBdWr2/aCrkAOU/ w6dYIafN98f21oIYQfscV1gc7CTsA0vwzzUu x0QgwxoNLMvSxxjOiW/2MzF8eozczImeCWbl ad/pVCYH6Jn5UBrZ5RCWMVcs2RP5KDXWeXKs jEN/0EmQg5qNd4zqtlPIQinA9I1HquJAnS56 pFvYyGIbZmGEbhR18sXVBeTWYr+zOMHn2quX 0kkrx2udz+sPg7i4yRsLdhw138gPRy1qvbaC 8ELs1xo1mC9pTlDOhz24Q3iXpVAU1lXLYOh9 nUP1/4UvZEYXHBUQk/XPRciojniWjAF825x3 QoSivMHblBwRdAKJSg== ) a.miek.nl. 1800 IN A 127.0.0.1 1800 RRSIG A 8 3 1800 ( 20160502144311 20160402144311 12051 miek.nl. lUOYdSxScjyYz+Ebc+nb6iTNgCohqj7K+Dat 97KE7haV2nP3LxdYuDCJYZpeyhsXDLHd4bFI bInYPwJiC6DUCxPCuCWy0KYlZOWW8KCLX3Ia BOPQbvIwLsJhnX+/tyMD9mXortoqATO79/6p nNxvFeM8pFDwaih17fXMuFR/BsI= ) 14400 NSEC a.b.c.miek.nl. A RRSIG NSEC 14400 RRSIG NSEC 8 3 14400 ( 20160502144311 20160402144311 12051 miek.nl. d5XZEy6SUp+TPRJQED+0R65zf2Yeo/1dlEA2 jYYvkXGSHXke4sg9nH8U3nr1rLcuqA1DsQgH uMIjdENvXuZ+WCSwvIbhC+JEI6AyQ6Gfaf/D I3mfu60C730IRByTrKM5C2rt11lwRQlbdaUY h23/nn/q98ZKUlzqhAfkLI9pQPc= ) a.b.c.miek.nl. 1800 IN A 127.0.0.1 1800 RRSIG A 8 5 1800 ( 20160502144311 20160402144311 12051 miek.nl. FwgU5+fFD4hEebco3gvKQt3PXfY+dcOJr8dl Ky4WLsONIdhP+4e9oprPisSLxImErY21BcrW xzu1IZrYDsS8XBVV44lBx5WXEKvAOrUcut/S OWhFZW7ncdIQCp32ZBIatiLRJEqXUjx+guHs noFLiHix35wJWsRKwjGLIhH1fbs= ) 14400 NSEC miek.nl. A RRSIG NSEC 14400 RRSIG NSEC 8 5 14400 ( 20160502144311 20160402144311 12051 miek.nl. lXgOqm9/jRRYvaG5jC1CDvTtGYxMroTzf4t4 jeYGb60+qI0q9sHQKfAJvoQ5o8o1qfR7OuiF f544ipYT9eTcJRyGAOoJ37yMie7ZIoVJ91tB r8YdzZ9Q6x3v1cbwTaQiacwhPZhGYOw63qIs q5IQErIPos2sNk+y9D8BEce2DO4= )`