Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
C
Coredns
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
List
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Railgun
Coredns
Commits
4829b40e
Commit
4829b40e
authored
Apr 11, 2016
by
Miek Gieben
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Rename middleware/testing (#103)
Rename to test and name the toplevel tests dir to test for consitency.
parent
0ea2a608
Changes
21
Show whitespace changes
Inline
Side-by-side
Showing
21 changed files
with
261 additions
and
261 deletions
+261
-261
middleware/chaos/chaos_test.go
middleware/chaos/chaos_test.go
+14
-14
middleware/errors/errors.go
middleware/errors/errors.go
+2
-2
middleware/errors/errors_test.go
middleware/errors/errors_test.go
+11
-11
middleware/etcd/cname_test.go
middleware/etcd/cname_test.go
+15
-15
middleware/etcd/group_test.go
middleware/etcd/group_test.go
+15
-15
middleware/etcd/multi_test.go
middleware/etcd/multi_test.go
+13
-13
middleware/etcd/other_test.go
middleware/etcd/other_test.go
+23
-23
middleware/etcd/setup_test.go
middleware/etcd/setup_test.go
+9
-9
middleware/file/dnssec_test.go
middleware/file/dnssec_test.go
+61
-61
middleware/file/ent_test.go
middleware/file/ent_test.go
+17
-17
middleware/file/lookup_test.go
middleware/file/lookup_test.go
+29
-29
middleware/file/secondary_test.go
middleware/file/secondary_test.go
+12
-12
middleware/file/wildcard_test.go
middleware/file/wildcard_test.go
+18
-18
middleware/loadbalance/loadbalance_test.go
middleware/loadbalance/loadbalance_test.go
+2
-2
middleware/log/log_test.go
middleware/log/log_test.go
+2
-2
middleware/proxy/lookup_test.go
middleware/proxy/lookup_test.go
+2
-2
middleware/rewrite/rewrite_test.go
middleware/rewrite/rewrite_test.go
+11
-11
middleware/state_test.go
middleware/state_test.go
+2
-2
middleware/test/helpers.go
middleware/test/helpers.go
+1
-1
middleware/test/responsewriter.go
middleware/test/responsewriter.go
+1
-1
middleware/test/server.go
middleware/test/server.go
+1
-1
No files found.
middleware/chaos/chaos_test.go
View file @
4829b40e
...
...
@@ -4,7 +4,7 @@ import (
"testing"
"github.com/miekg/coredns/middleware"
coretest
"github.com/miekg/coredns/middleware/testing
"
"github.com/miekg/coredns/middleware/test
"
"github.com/miekg/dns"
"golang.org/x/net/context"
...
...
@@ -49,28 +49,28 @@ func TestChaos(t *testing.T) {
ctx
:=
context
.
TODO
()
for
i
,
t
est
:=
range
tests
{
for
i
,
t
c
:=
range
tests
{
req
:=
new
(
dns
.
Msg
)
if
t
est
.
qtype
==
0
{
t
est
.
qtype
=
dns
.
TypeTXT
if
t
c
.
qtype
==
0
{
t
c
.
qtype
=
dns
.
TypeTXT
}
req
.
SetQuestion
(
dns
.
Fqdn
(
t
est
.
qname
),
test
.
qtype
)
req
.
SetQuestion
(
dns
.
Fqdn
(
t
c
.
qname
),
tc
.
qtype
)
req
.
Question
[
0
]
.
Qclass
=
dns
.
ClassCHAOS
em
.
Next
=
t
est
.
next
em
.
Next
=
t
c
.
next
rec
:=
middleware
.
NewResponseRecorder
(
&
core
test
.
ResponseWriter
{})
rec
:=
middleware
.
NewResponseRecorder
(
&
test
.
ResponseWriter
{})
code
,
err
:=
em
.
ServeDNS
(
ctx
,
rec
,
req
)
if
err
!=
t
est
.
expectedErr
{
t
.
Errorf
(
"Test %d: Expected error %v, but got %v"
,
i
,
t
est
.
expectedErr
,
err
)
if
err
!=
t
c
.
expectedErr
{
t
.
Errorf
(
"Test %d: Expected error %v, but got %v"
,
i
,
t
c
.
expectedErr
,
err
)
}
if
code
!=
int
(
t
est
.
expectedCode
)
{
t
.
Errorf
(
"Test %d: Expected status code %d, but got %d"
,
i
,
t
est
.
expectedCode
,
code
)
if
code
!=
int
(
t
c
.
expectedCode
)
{
t
.
Errorf
(
"Test %d: Expected status code %d, but got %d"
,
i
,
t
c
.
expectedCode
,
code
)
}
if
t
est
.
expectedReply
!=
""
{
if
t
c
.
expectedReply
!=
""
{
answer
:=
rec
.
Msg
()
.
Answer
[
0
]
.
(
*
dns
.
TXT
)
.
Txt
[
0
]
if
answer
!=
t
est
.
expectedReply
{
t
.
Errorf
(
"Test %d: Expected answer %s, but got %s"
,
i
,
t
est
.
expectedReply
,
answer
)
if
answer
!=
t
c
.
expectedReply
{
t
.
Errorf
(
"Test %d: Expected answer %s, but got %s"
,
i
,
t
c
.
expectedReply
,
answer
)
}
}
}
...
...
middleware/errors/errors.go
View file @
4829b40e
...
...
@@ -8,10 +8,10 @@ import (
"strings"
"time"
"golang.org/x/net/context"
"github.com/miekg/coredns/middleware"
"github.com/miekg/dns"
"golang.org/x/net/context"
)
// ErrorHandler handles DNS errors (and errors from other middleware).
...
...
middleware/errors/errors_test.go
View file @
4829b40e
...
...
@@ -9,7 +9,7 @@ import (
"testing"
"github.com/miekg/coredns/middleware"
coretest
"github.com/miekg/coredns/middleware/testing
"
"github.com/miekg/coredns/middleware/test
"
"github.com/miekg/dns"
"golang.org/x/net/context"
...
...
@@ -44,23 +44,23 @@ func TestErrors(t *testing.T) {
req
:=
new
(
dns
.
Msg
)
req
.
SetQuestion
(
"example.org."
,
dns
.
TypeA
)
for
i
,
t
est
:=
range
tests
{
em
.
Next
=
t
est
.
next
for
i
,
t
c
:=
range
tests
{
em
.
Next
=
t
c
.
next
buf
.
Reset
()
rec
:=
middleware
.
NewResponseRecorder
(
&
core
test
.
ResponseWriter
{})
rec
:=
middleware
.
NewResponseRecorder
(
&
test
.
ResponseWriter
{})
code
,
err
:=
em
.
ServeDNS
(
ctx
,
rec
,
req
)
if
err
!=
t
est
.
expectedErr
{
if
err
!=
t
c
.
expectedErr
{
t
.
Errorf
(
"Test %d: Expected error %v, but got %v"
,
i
,
t
est
.
expectedErr
,
err
)
i
,
t
c
.
expectedErr
,
err
)
}
if
code
!=
t
est
.
expectedCode
{
if
code
!=
t
c
.
expectedCode
{
t
.
Errorf
(
"Test %d: Expected status code %d, but got %d"
,
i
,
t
est
.
expectedCode
,
code
)
i
,
t
c
.
expectedCode
,
code
)
}
if
log
:=
buf
.
String
();
!
strings
.
Contains
(
log
,
t
est
.
expectedLog
)
{
if
log
:=
buf
.
String
();
!
strings
.
Contains
(
log
,
t
c
.
expectedLog
)
{
t
.
Errorf
(
"Test %d: Expected log %q, but got %q"
,
i
,
t
est
.
expectedLog
,
log
)
i
,
t
c
.
expectedLog
,
log
)
}
}
}
...
...
@@ -78,7 +78,7 @@ func TestVisibleErrorWithPanic(t *testing.T) {
req
:=
new
(
dns
.
Msg
)
req
.
SetQuestion
(
"example.org."
,
dns
.
TypeA
)
rec
:=
middleware
.
NewResponseRecorder
(
&
core
test
.
ResponseWriter
{})
rec
:=
middleware
.
NewResponseRecorder
(
&
test
.
ResponseWriter
{})
code
,
err
:=
eh
.
ServeDNS
(
ctx
,
rec
,
req
)
if
code
!=
0
{
...
...
middleware/etcd/cname_test.go
View file @
4829b40e
...
...
@@ -9,7 +9,7 @@ import (
"github.com/miekg/coredns/middleware"
"github.com/miekg/coredns/middleware/etcd/msg"
coretest
"github.com/miekg/coredns/middleware/testing
"
"github.com/miekg/coredns/middleware/test
"
"github.com/miekg/dns"
)
...
...
@@ -23,7 +23,7 @@ func TestCnameLookup(t *testing.T) {
for
_
,
tc
:=
range
dnsTestCasesCname
{
m
:=
tc
.
Msg
()
rec
:=
middleware
.
NewResponseRecorder
(
&
core
test
.
ResponseWriter
{})
rec
:=
middleware
.
NewResponseRecorder
(
&
test
.
ResponseWriter
{})
_
,
err
:=
etc
.
ServeDNS
(
ctx
,
rec
,
m
)
if
err
!=
nil
{
t
.
Errorf
(
"expected no error, got %v
\n
"
,
err
)
...
...
@@ -31,17 +31,17 @@ func TestCnameLookup(t *testing.T) {
}
resp
:=
rec
.
Msg
()
if
!
core
test
.
Header
(
t
,
tc
,
resp
)
{
if
!
test
.
Header
(
t
,
tc
,
resp
)
{
t
.
Logf
(
"%v
\n
"
,
resp
)
continue
}
if
!
core
test
.
Section
(
t
,
tc
,
coretest
.
Answer
,
resp
.
Answer
)
{
if
!
test
.
Section
(
t
,
tc
,
coretest
.
Answer
,
resp
.
Answer
)
{
t
.
Logf
(
"%v
\n
"
,
resp
)
}
if
!
core
test
.
Section
(
t
,
tc
,
coretest
.
Ns
,
resp
.
Ns
)
{
if
!
test
.
Section
(
t
,
tc
,
coretest
.
Ns
,
resp
.
Ns
)
{
t
.
Logf
(
"%v
\n
"
,
resp
)
}
if
!
core
test
.
Section
(
t
,
tc
,
coretest
.
Extra
,
resp
.
Extra
)
{
if
!
test
.
Section
(
t
,
tc
,
coretest
.
Extra
,
resp
.
Extra
)
{
t
.
Logf
(
"%v
\n
"
,
resp
)
}
}
...
...
@@ -58,20 +58,20 @@ var servicesCname = []*msg.Service{
{
Host
:
"10.240.0.1"
,
Key
:
"endpoint.region2.skydns.test."
},
}
var
dnsTestCasesCname
=
[]
core
test
.
Case
{
var
dnsTestCasesCname
=
[]
test
.
Case
{
{
Qname
:
"a.server1.dev.region1.skydns.test."
,
Qtype
:
dns
.
TypeSRV
,
Answer
:
[]
dns
.
RR
{
core
test
.
SRV
(
"a.server1.dev.region1.skydns.test. 300 IN SRV 10 100 0 cname1.region2.skydns.test."
),
test
.
SRV
(
"a.server1.dev.region1.skydns.test. 300 IN SRV 10 100 0 cname1.region2.skydns.test."
),
},
Extra
:
[]
dns
.
RR
{
core
test
.
CNAME
(
"cname1.region2.skydns.test. 300 IN CNAME cname2.region2.skydns.test."
),
core
test
.
CNAME
(
"cname2.region2.skydns.test. 300 IN CNAME cname3.region2.skydns.test."
),
core
test
.
CNAME
(
"cname3.region2.skydns.test. 300 IN CNAME cname4.region2.skydns.test."
),
core
test
.
CNAME
(
"cname4.region2.skydns.test. 300 IN CNAME cname5.region2.skydns.test."
),
core
test
.
CNAME
(
"cname5.region2.skydns.test. 300 IN CNAME cname6.region2.skydns.test."
),
core
test
.
CNAME
(
"cname6.region2.skydns.test. 300 IN CNAME endpoint.region2.skydns.test."
),
core
test
.
A
(
"endpoint.region2.skydns.test. 300 IN A 10.240.0.1"
),
test
.
CNAME
(
"cname1.region2.skydns.test. 300 IN CNAME cname2.region2.skydns.test."
),
test
.
CNAME
(
"cname2.region2.skydns.test. 300 IN CNAME cname3.region2.skydns.test."
),
test
.
CNAME
(
"cname3.region2.skydns.test. 300 IN CNAME cname4.region2.skydns.test."
),
test
.
CNAME
(
"cname4.region2.skydns.test. 300 IN CNAME cname5.region2.skydns.test."
),
test
.
CNAME
(
"cname5.region2.skydns.test. 300 IN CNAME cname6.region2.skydns.test."
),
test
.
CNAME
(
"cname6.region2.skydns.test. 300 IN CNAME endpoint.region2.skydns.test."
),
test
.
A
(
"endpoint.region2.skydns.test. 300 IN A 10.240.0.1"
),
},
},
}
middleware/etcd/group_test.go
View file @
4829b40e
...
...
@@ -12,7 +12,7 @@ import (
"github.com/miekg/coredns/middleware"
"github.com/miekg/coredns/middleware/etcd/msg"
coretest
"github.com/miekg/coredns/middleware/testing
"
"github.com/miekg/coredns/middleware/test
"
"github.com/miekg/dns"
)
...
...
@@ -25,7 +25,7 @@ func TestGroupLookup(t *testing.T) {
for
_
,
tc
:=
range
dnsTestCasesGroup
{
m
:=
tc
.
Msg
()
rec
:=
middleware
.
NewResponseRecorder
(
&
core
test
.
ResponseWriter
{})
rec
:=
middleware
.
NewResponseRecorder
(
&
test
.
ResponseWriter
{})
_
,
err
:=
etc
.
ServeDNS
(
ctx
,
rec
,
m
)
if
err
!=
nil
{
t
.
Errorf
(
"expected no error, got %v
\n
"
,
err
)
...
...
@@ -33,21 +33,21 @@ func TestGroupLookup(t *testing.T) {
}
resp
:=
rec
.
Msg
()
sort
.
Sort
(
core
test
.
RRSet
(
resp
.
Answer
))
sort
.
Sort
(
core
test
.
RRSet
(
resp
.
Ns
))
sort
.
Sort
(
core
test
.
RRSet
(
resp
.
Extra
))
sort
.
Sort
(
test
.
RRSet
(
resp
.
Answer
))
sort
.
Sort
(
test
.
RRSet
(
resp
.
Ns
))
sort
.
Sort
(
test
.
RRSet
(
resp
.
Extra
))
if
!
core
test
.
Header
(
t
,
tc
,
resp
)
{
if
!
test
.
Header
(
t
,
tc
,
resp
)
{
t
.
Logf
(
"%v
\n
"
,
resp
)
continue
}
if
!
core
test
.
Section
(
t
,
tc
,
coretest
.
Answer
,
resp
.
Answer
)
{
if
!
test
.
Section
(
t
,
tc
,
coretest
.
Answer
,
resp
.
Answer
)
{
t
.
Logf
(
"%v
\n
"
,
resp
)
}
if
!
core
test
.
Section
(
t
,
tc
,
coretest
.
Ns
,
resp
.
Ns
)
{
if
!
test
.
Section
(
t
,
tc
,
coretest
.
Ns
,
resp
.
Ns
)
{
t
.
Logf
(
"%v
\n
"
,
resp
)
}
if
!
core
test
.
Section
(
t
,
tc
,
coretest
.
Extra
,
resp
.
Extra
)
{
if
!
test
.
Section
(
t
,
tc
,
coretest
.
Extra
,
resp
.
Extra
)
{
t
.
Logf
(
"%v
\n
"
,
resp
)
}
}
...
...
@@ -65,29 +65,29 @@ var servicesGroup = []*msg.Service{
{
Host
:
"127.0.0.2"
,
Key
:
"b.sub.dom1.skydns.test."
,
Group
:
"g2"
},
}
var
dnsTestCasesGroup
=
[]
core
test
.
Case
{
var
dnsTestCasesGroup
=
[]
test
.
Case
{
// Groups
{
// hits the group 'g1' and only includes those records
Qname
:
"dom.skydns.test."
,
Qtype
:
dns
.
TypeA
,
Answer
:
[]
dns
.
RR
{
core
test
.
A
(
"dom.skydns.test. 300 IN A 127.0.0.1"
),
core
test
.
A
(
"dom.skydns.test. 300 IN A 127.0.0.2"
),
test
.
A
(
"dom.skydns.test. 300 IN A 127.0.0.1"
),
test
.
A
(
"dom.skydns.test. 300 IN A 127.0.0.2"
),
},
},
{
// One has group, the other has not... Include the non-group always.
Qname
:
"dom2.skydns.test."
,
Qtype
:
dns
.
TypeA
,
Answer
:
[]
dns
.
RR
{
core
test
.
A
(
"dom2.skydns.test. 300 IN A 127.0.0.1"
),
core
test
.
A
(
"dom2.skydns.test. 300 IN A 127.0.0.2"
),
test
.
A
(
"dom2.skydns.test. 300 IN A 127.0.0.1"
),
test
.
A
(
"dom2.skydns.test. 300 IN A 127.0.0.2"
),
},
},
{
// The groups differ.
Qname
:
"dom1.skydns.test."
,
Qtype
:
dns
.
TypeA
,
Answer
:
[]
dns
.
RR
{
core
test
.
A
(
"dom1.skydns.test. 300 IN A 127.0.0.1"
),
test
.
A
(
"dom1.skydns.test. 300 IN A 127.0.0.1"
),
},
},
}
middleware/etcd/multi_test.go
View file @
4829b40e
...
...
@@ -11,7 +11,7 @@ import (
"github.com/miekg/coredns/middleware"
"github.com/miekg/coredns/middleware/etcd/msg"
coretest
"github.com/miekg/coredns/middleware/testing
"
"github.com/miekg/coredns/middleware/test
"
"github.com/miekg/dns"
)
...
...
@@ -19,7 +19,7 @@ import (
func
TestMultiLookup
(
t
*
testing
.
T
)
{
etcMulti
:=
etc
etcMulti
.
Zones
=
[]
string
{
"skydns.test."
,
"miek.nl."
}
etcMulti
.
Next
=
core
test
.
ErrorHandler
()
etcMulti
.
Next
=
test
.
ErrorHandler
()
for
_
,
serv
:=
range
servicesMulti
{
set
(
t
,
etcMulti
,
serv
.
Key
,
0
,
serv
)
...
...
@@ -28,7 +28,7 @@ func TestMultiLookup(t *testing.T) {
for
_
,
tc
:=
range
dnsTestCasesMulti
{
m
:=
tc
.
Msg
()
rec
:=
middleware
.
NewResponseRecorder
(
&
core
test
.
ResponseWriter
{})
rec
:=
middleware
.
NewResponseRecorder
(
&
test
.
ResponseWriter
{})
_
,
err
:=
etcMulti
.
ServeDNS
(
ctx
,
rec
,
m
)
if
err
!=
nil
{
t
.
Errorf
(
"expected no error, got %v
\n
"
,
err
)
...
...
@@ -36,21 +36,21 @@ func TestMultiLookup(t *testing.T) {
}
resp
:=
rec
.
Msg
()
sort
.
Sort
(
core
test
.
RRSet
(
resp
.
Answer
))
sort
.
Sort
(
core
test
.
RRSet
(
resp
.
Ns
))
sort
.
Sort
(
core
test
.
RRSet
(
resp
.
Extra
))
sort
.
Sort
(
test
.
RRSet
(
resp
.
Answer
))
sort
.
Sort
(
test
.
RRSet
(
resp
.
Ns
))
sort
.
Sort
(
test
.
RRSet
(
resp
.
Extra
))
if
!
core
test
.
Header
(
t
,
tc
,
resp
)
{
if
!
test
.
Header
(
t
,
tc
,
resp
)
{
t
.
Logf
(
"%v
\n
"
,
resp
)
continue
}
if
!
core
test
.
Section
(
t
,
tc
,
coretest
.
Answer
,
resp
.
Answer
)
{
if
!
test
.
Section
(
t
,
tc
,
coretest
.
Answer
,
resp
.
Answer
)
{
t
.
Logf
(
"%v
\n
"
,
resp
)
}
if
!
core
test
.
Section
(
t
,
tc
,
coretest
.
Ns
,
resp
.
Ns
)
{
if
!
test
.
Section
(
t
,
tc
,
coretest
.
Ns
,
resp
.
Ns
)
{
t
.
Logf
(
"%v
\n
"
,
resp
)
}
if
!
core
test
.
Section
(
t
,
tc
,
coretest
.
Extra
,
resp
.
Extra
)
{
if
!
test
.
Section
(
t
,
tc
,
coretest
.
Extra
,
resp
.
Extra
)
{
t
.
Logf
(
"%v
\n
"
,
resp
)
}
}
...
...
@@ -63,14 +63,14 @@ var servicesMulti = []*msg.Service{
{
Host
:
"dev.server1"
,
Port
:
8080
,
Key
:
"a.server1.dev.region1.example.org."
},
}
var
dnsTestCasesMulti
=
[]
core
test
.
Case
{
var
dnsTestCasesMulti
=
[]
test
.
Case
{
{
Qname
:
"a.server1.dev.region1.skydns.test."
,
Qtype
:
dns
.
TypeSRV
,
Answer
:
[]
dns
.
RR
{
core
test
.
SRV
(
"a.server1.dev.region1.skydns.test. 300 SRV 10 100 8080 dev.server1."
)},
Answer
:
[]
dns
.
RR
{
test
.
SRV
(
"a.server1.dev.region1.skydns.test. 300 SRV 10 100 8080 dev.server1."
)},
},
{
Qname
:
"a.server1.dev.region1.miek.nl."
,
Qtype
:
dns
.
TypeSRV
,
Answer
:
[]
dns
.
RR
{
core
test
.
SRV
(
"a.server1.dev.region1.miek.nl. 300 SRV 10 100 8080 dev.server1."
)},
Answer
:
[]
dns
.
RR
{
test
.
SRV
(
"a.server1.dev.region1.miek.nl. 300 SRV 10 100 8080 dev.server1."
)},
},
{
Qname
:
"a.server1.dev.region1.example.org."
,
Qtype
:
dns
.
TypeSRV
,
Rcode
:
dns
.
RcodeServerFailure
,
...
...
middleware/etcd/other_test.go
View file @
4829b40e
...
...
@@ -14,7 +14,7 @@ import (
"github.com/miekg/coredns/middleware"
"github.com/miekg/coredns/middleware/etcd/msg"
coretest
"github.com/miekg/coredns/middleware/testing
"
"github.com/miekg/coredns/middleware/test
"
"github.com/miekg/dns"
)
...
...
@@ -27,7 +27,7 @@ func TestOtherLookup(t *testing.T) {
for
_
,
tc
:=
range
dnsTestCasesOther
{
m
:=
tc
.
Msg
()
rec
:=
middleware
.
NewResponseRecorder
(
&
core
test
.
ResponseWriter
{})
rec
:=
middleware
.
NewResponseRecorder
(
&
test
.
ResponseWriter
{})
_
,
err
:=
etc
.
ServeDNS
(
ctx
,
rec
,
m
)
if
err
!=
nil
{
t
.
Errorf
(
"expected no error, got %v
\n
"
,
err
)
...
...
@@ -35,21 +35,21 @@ func TestOtherLookup(t *testing.T) {
}
resp
:=
rec
.
Msg
()
sort
.
Sort
(
core
test
.
RRSet
(
resp
.
Answer
))
sort
.
Sort
(
core
test
.
RRSet
(
resp
.
Ns
))
sort
.
Sort
(
core
test
.
RRSet
(
resp
.
Extra
))
sort
.
Sort
(
test
.
RRSet
(
resp
.
Answer
))
sort
.
Sort
(
test
.
RRSet
(
resp
.
Ns
))
sort
.
Sort
(
test
.
RRSet
(
resp
.
Extra
))
if
!
core
test
.
Header
(
t
,
tc
,
resp
)
{
if
!
test
.
Header
(
t
,
tc
,
resp
)
{
t
.
Logf
(
"%v
\n
"
,
resp
)
continue
}
if
!
core
test
.
Section
(
t
,
tc
,
coretest
.
Answer
,
resp
.
Answer
)
{
if
!
test
.
Section
(
t
,
tc
,
coretest
.
Answer
,
resp
.
Answer
)
{
t
.
Logf
(
"%v
\n
"
,
resp
)
}
if
!
core
test
.
Section
(
t
,
tc
,
coretest
.
Ns
,
resp
.
Ns
)
{
if
!
test
.
Section
(
t
,
tc
,
coretest
.
Ns
,
resp
.
Ns
)
{
t
.
Logf
(
"%v
\n
"
,
resp
)
}
if
!
core
test
.
Section
(
t
,
tc
,
coretest
.
Extra
,
resp
.
Extra
)
{
if
!
test
.
Section
(
t
,
tc
,
coretest
.
Extra
,
resp
.
Extra
)
{
t
.
Logf
(
"%v
\n
"
,
resp
)
}
}
...
...
@@ -79,57 +79,57 @@ var servicesOther = []*msg.Service{
{
Host
:
"10.11.11.10"
,
Key
:
"https.multiport.http.skydns.test."
,
Port
:
443
},
}
var
dnsTestCasesOther
=
[]
core
test
.
Case
{
var
dnsTestCasesOther
=
[]
test
.
Case
{
// MX Tests
{
// NODATA as this is not an Mail: true record.
Qname
:
"a.server1.dev.region1.skydns.test."
,
Qtype
:
dns
.
TypeMX
,
Ns
:
[]
dns
.
RR
{
core
test
.
SOA
(
"skydns.test. 300 SOA ns.dns.skydns.test. hostmaster.skydns.test. 0 0 0 0 0"
),
test
.
SOA
(
"skydns.test. 300 SOA ns.dns.skydns.test. hostmaster.skydns.test. 0 0 0 0 0"
),
},
},
{
Qname
:
"a.mail.skydns.test."
,
Qtype
:
dns
.
TypeMX
,
Answer
:
[]
dns
.
RR
{
core
test
.
MX
(
"a.mail.skydns.test. 300 IN MX 50 mx.skydns.test."
)},
Answer
:
[]
dns
.
RR
{
test
.
MX
(
"a.mail.skydns.test. 300 IN MX 50 mx.skydns.test."
)},
Extra
:
[]
dns
.
RR
{
core
test
.
A
(
"a.ipaddr.skydns.test. 300 IN A 172.16.1.1"
),
core
test
.
CNAME
(
"mx.skydns.test. 300 IN CNAME a.ipaddr.skydns.test."
),
test
.
A
(
"a.ipaddr.skydns.test. 300 IN A 172.16.1.1"
),
test
.
CNAME
(
"mx.skydns.test. 300 IN CNAME a.ipaddr.skydns.test."
),
},
},
{
Qname
:
"mx2.skydns.test."
,
Qtype
:
dns
.
TypeMX
,
Answer
:
[]
dns
.
RR
{
core
test
.
MX
(
"mx2.skydns.test. 300 IN MX 10 a.ipaddr.skydns.test."
),
core
test
.
MX
(
"mx2.skydns.test. 300 IN MX 10 b.ipaddr.skydns.test."
),
test
.
MX
(
"mx2.skydns.test. 300 IN MX 10 a.ipaddr.skydns.test."
),
test
.
MX
(
"mx2.skydns.test. 300 IN MX 10 b.ipaddr.skydns.test."
),
},
Extra
:
[]
dns
.
RR
{
core
test
.
A
(
"a.ipaddr.skydns.test. 300 A 172.16.1.1"
),
core
test
.
A
(
"b.ipaddr.skydns.test. 300 A 172.16.1.2"
),
test
.
A
(
"a.ipaddr.skydns.test. 300 A 172.16.1.1"
),
test
.
A
(
"b.ipaddr.skydns.test. 300 A 172.16.1.2"
),
},
},
// Txt
{
Qname
:
"a1.txt.skydns.test."
,
Qtype
:
dns
.
TypeTXT
,
Answer
:
[]
dns
.
RR
{
core
test
.
TXT
(
"a1.txt.skydns.test. 300 IN TXT
\"
abc
\"
"
),
test
.
TXT
(
"a1.txt.skydns.test. 300 IN TXT
\"
abc
\"
"
),
},
},
{
Qname
:
"a2.txt.skydns.test."
,
Qtype
:
dns
.
TypeTXT
,
Answer
:
[]
dns
.
RR
{
core
test
.
TXT
(
"a2.txt.skydns.test. 300 IN TXT
\"
abc abc
\"
"
),
test
.
TXT
(
"a2.txt.skydns.test. 300 IN TXT
\"
abc abc
\"
"
),
},
},
{
Qname
:
"txt.skydns.test."
,
Qtype
:
dns
.
TypeTXT
,
Answer
:
[]
dns
.
RR
{
core
test
.
TXT
(
"txt.skydns.test. 300 IN TXT
\"
abc abc
\"
"
),
core
test
.
TXT
(
"txt.skydns.test. 300 IN TXT
\"
abc
\"
"
),
test
.
TXT
(
"txt.skydns.test. 300 IN TXT
\"
abc abc
\"
"
),
test
.
TXT
(
"txt.skydns.test. 300 IN TXT
\"
abc
\"
"
),
},
},
// Duplicate IP address test
{
Qname
:
"multiport.http.skydns.test."
,
Qtype
:
dns
.
TypeA
,
Answer
:
[]
dns
.
RR
{
core
test
.
A
(
"multiport.http.skydns.test. 300 IN A 10.11.11.10"
)},
Answer
:
[]
dns
.
RR
{
test
.
A
(
"multiport.http.skydns.test. 300 IN A 10.11.11.10"
)},
},
}
middleware/etcd/setup_test.go
View file @
4829b40e
...
...
@@ -15,7 +15,7 @@ import (
"github.com/miekg/coredns/middleware/etcd/msg"
"github.com/miekg/coredns/middleware/etcd/singleflight"
"github.com/miekg/coredns/middleware/proxy"
coretest
"github.com/miekg/coredns/middleware/testing
"
"github.com/miekg/coredns/middleware/test
"
etcdc
"github.com/coreos/etcd/client"
"golang.org/x/net/context"
...
...
@@ -66,7 +66,7 @@ func TestLookup(t *testing.T) {
for
_
,
tc
:=
range
dnsTestCases
{
m
:=
tc
.
Msg
()
rec
:=
middleware
.
NewResponseRecorder
(
&
core
test
.
ResponseWriter
{})
rec
:=
middleware
.
NewResponseRecorder
(
&
test
.
ResponseWriter
{})
_
,
err
:=
etc
.
ServeDNS
(
ctx
,
rec
,
m
)
if
err
!=
nil
{
t
.
Errorf
(
"expected no error, got %v
\n
"
,
err
)
...
...
@@ -74,21 +74,21 @@ func TestLookup(t *testing.T) {
}
resp
:=
rec
.
Msg
()
sort
.
Sort
(
core
test
.
RRSet
(
resp
.
Answer
))
sort
.
Sort
(
core
test
.
RRSet
(
resp
.
Ns
))
sort
.
Sort
(
core
test
.
RRSet
(
resp
.
Extra
))
sort
.
Sort
(
test
.
RRSet
(
resp
.
Answer
))
sort
.
Sort
(
test
.
RRSet
(
resp
.
Ns
))
sort
.
Sort
(
test
.
RRSet
(
resp
.
Extra
))
if
!
core
test
.
Header
(
t
,
tc
,
resp
)
{
if
!
test
.
Header
(
t
,
tc
,
resp
)
{
t
.
Logf
(
"%v
\n
"
,
resp
)
continue
}
if
!
core
test
.
Section
(
t
,
tc
,
coretest
.
Answer
,
resp
.
Answer
)
{
if
!
test
.
Section
(
t
,
tc
,
coretest
.
Answer
,
resp
.
Answer
)
{
t
.
Logf
(
"%v
\n
"
,
resp
)
}
if
!
core
test
.
Section
(
t
,
tc
,
coretest
.
Ns
,
resp
.
Ns
)
{
if
!
test
.
Section
(
t
,
tc
,
coretest
.
Ns
,
resp
.
Ns
)
{
t
.
Logf
(
"%v
\n
"
,
resp
)
}
if
!
core
test
.
Section
(
t
,
tc
,
coretest
.
Extra
,
resp
.
Extra
)
{
if
!
test
.
Section
(
t
,
tc
,
coretest
.
Extra
,
resp
.
Extra
)
{
t
.
Logf
(
"%v
\n
"
,
resp
)
}
}
...
...
middleware/file/dnssec_test.go
View file @
4829b40e
...
...
@@ -6,102 +6,102 @@ import (
"testing"
"github.com/miekg/coredns/middleware"
coretest
"github.com/miekg/coredns/middleware/testing
"
"github.com/miekg/coredns/middleware/test
"
"github.com/miekg/dns"
"golang.org/x/net/context"
)
var
dnssecTestCases
=
[]
core
test
.
Case
{
var
dnssecTestCases
=
[]
test
.
Case
{
{
Qname
:
"miek.nl."
,
Qtype
:
dns
.
TypeSOA
,
Do
:
true
,
Answer
:
[]
dns
.
RR
{
// because we sort, this look fishy, but it is OK.
core
test
.
RRSIG
(
"miek.nl. 1800 IN RRSIG SOA 8 2 1800 20160426031301 20160327031301 12051 miek.nl. FIrzy07acBbtyQczy1dc="
),
core
test
.
SOA
(
"miek.nl. 1800 IN SOA linode.atoom.net. miek.miek.nl. 1282630057 14400 3600 604800 14400"
),
test
.
RRSIG
(
"miek.nl. 1800 IN RRSIG SOA 8 2 1800 20160426031301 20160327031301 12051 miek.nl. FIrzy07acBbtyQczy1dc="
),
test
.
SOA
(
"miek.nl. 1800 IN SOA linode.atoom.net. miek.miek.nl. 1282630057 14400 3600 604800 14400"
),
},
Extra
:
[]
dns
.
RR
{
core
test
.
OPT
(
4096
,
true
)},
Extra
:
[]
dns
.
RR
{
test
.
OPT
(
4096
,
true
)},
},
{
Qname
:
"miek.nl."
,
Qtype
:
dns
.
TypeAAAA
,
Do
:
true
,
Answer
:
[]
dns
.
RR
{
core
test
.
AAAA
(
"miek.nl. 1800 IN AAAA 2a01:7e00::f03c:91ff:fef1:6735"
),
core
test
.
RRSIG
(
"miek.nl. 1800 IN RRSIG AAAA 8 2 1800 20160426031301 20160327031301 12051 miek.nl. SsRT="
),
test
.
AAAA
(
"miek.nl. 1800 IN AAAA 2a01:7e00::f03c:91ff:fef1:6735"
),
test
.
RRSIG
(
"miek.nl. 1800 IN RRSIG AAAA 8 2 1800 20160426031301 20160327031301 12051 miek.nl. SsRT="
),
},
Extra
:
[]
dns
.
RR
{
core
test
.
OPT
(
4096
,
true
)},
Extra
:
[]
dns
.
RR
{
test
.
OPT
(
4096
,
true
)},
},
{
Qname
:
"miek.nl."
,
Qtype
:
dns
.
TypeMX
,
Do
:
true
,
Answer
:
[]
dns
.
RR
{
core
test
.
MX
(
"miek.nl. 1800 IN MX 1 aspmx.l.google.com."
),
core
test
.
MX
(
"miek.nl. 1800 IN MX 10 aspmx2.googlemail.com."
),
core
test
.
MX
(
"miek.nl. 1800 IN MX 10 aspmx3.googlemail.com."
),
core
test
.
MX
(
"miek.nl. 1800 IN MX 5 alt1.aspmx.l.google.com."
),
core
test
.
MX
(
"miek.nl. 1800 IN MX 5 alt2.aspmx.l.google.com."
),
core
test
.
RRSIG
(
"miek.nl. 1800 IN RRSIG MX 8 2 1800 20160426031301 20160327031301 12051 miek.nl. kLqG+iOr="
),
test
.
MX
(
"miek.nl. 1800 IN MX 1 aspmx.l.google.com."
),
test
.
MX
(
"miek.nl. 1800 IN MX 10 aspmx2.googlemail.com."
),
test
.
MX
(
"miek.nl. 1800 IN MX 10 aspmx3.googlemail.com."
),
test
.
MX
(
"miek.nl. 1800 IN MX 5 alt1.aspmx.l.google.com."
),
test
.
MX
(
"miek.nl. 1800 IN MX 5 alt2.aspmx.l.google.com."
),
test
.
RRSIG
(
"miek.nl. 1800 IN RRSIG MX 8 2 1800 20160426031301 20160327031301 12051 miek.nl. kLqG+iOr="
),
},
Extra
:
[]
dns
.
RR
{
core
test
.
OPT
(
4096
,
true
)},
Extra
:
[]
dns
.
RR
{
test
.
OPT
(
4096
,
true
)},
},
{
Qname
:
"www.miek.nl."
,
Qtype
:
dns
.
TypeA
,
Do
:
true
,
Answer
:
[]
dns
.
RR
{
core
test
.
CNAME
(
"www.miek.nl. 1800 IN CNAME a.miek.nl."
),
test
.
CNAME
(
"www.miek.nl. 1800 IN CNAME a.miek.nl."
),
},
Extra
:
[]
dns
.
RR
{
core
test
.
OPT
(
4096
,
true
),
core
test
.
A
(
"a.miek.nl. 1800 IN A 139.162.196.78"
),
core
test
.
RRSIG
(
"a.miek.nl. 1800 IN RRSIG A 8 3 1800 20160426031301 20160327031301 12051 miek.nl. lxLotCjWZ3kihTxk="
),
test
.
OPT
(
4096
,
true
),
test
.
A
(
"a.miek.nl. 1800 IN A 139.162.196.78"
),
test
.
RRSIG
(
"a.miek.nl. 1800 IN RRSIG A 8 3 1800 20160426031301 20160327031301 12051 miek.nl. lxLotCjWZ3kihTxk="
),
},
},
{
// NoData
Qname
:
"a.miek.nl."
,
Qtype
:
dns
.
TypeSRV
,
Do
:
true
,
Ns
:
[]
dns
.
RR
{
core
test
.
NSEC
(
"a.miek.nl. 14400 IN NSEC archive.miek.nl. A AAAA RRSIG NSEC"
),
core
test
.
RRSIG
(
"a.miek.nl. 14400 IN RRSIG NSEC 8 3 14400 20160426031301 20160327031301 12051 miek.nl. GqnF6cutipmSHEao="
),
core
test
.
RRSIG
(
"miek.nl. 1800 IN RRSIG SOA 8 2 1800 20160426031301 20160327031301 12051 miek.nl. FIrzy07acBbtyQczy1dc="
),
core
test
.
SOA
(
"miek.nl. 1800 IN SOA linode.atoom.net. miek.miek.nl. 1282630057 14400 3600 604800 14400"
),
test
.
NSEC
(
"a.miek.nl. 14400 IN NSEC archive.miek.nl. A AAAA RRSIG NSEC"
),
test
.
RRSIG
(
"a.miek.nl. 14400 IN RRSIG NSEC 8 3 14400 20160426031301 20160327031301 12051 miek.nl. GqnF6cutipmSHEao="
),
test
.
RRSIG
(
"miek.nl. 1800 IN RRSIG SOA 8 2 1800 20160426031301 20160327031301 12051 miek.nl. FIrzy07acBbtyQczy1dc="
),
test
.
SOA
(
"miek.nl. 1800 IN SOA linode.atoom.net. miek.miek.nl. 1282630057 14400 3600 604800 14400"
),
},
Extra
:
[]
dns
.
RR
{
core
test
.
OPT
(
4096
,
true
)},
Extra
:
[]
dns
.
RR
{
test
.
OPT
(
4096
,
true
)},
},
{
Qname
:
"b.miek.nl."
,
Qtype
:
dns
.
TypeA
,
Do
:
true
,
Rcode
:
dns
.
RcodeNameError
,
Ns
:
[]
dns
.
RR
{
core
test
.
NSEC
(
"archive.miek.nl. 14400 IN NSEC go.dns.miek.nl. CNAME RRSIG NSEC"
),
core
test
.
RRSIG
(
"archive.miek.nl. 14400 IN RRSIG NSEC 8 3 14400 20160426031301 20160327031301 12051 miek.nl. jEpx8lcp4do5fWXg="
),
core
test
.
NSEC
(
"miek.nl. 14400 IN NSEC a.miek.nl. A NS SOA MX AAAA RRSIG NSEC DNSKEY"
),
core
test
.
RRSIG
(
"miek.nl. 14400 IN RRSIG NSEC 8 2 14400 20160426031301 20160327031301 12051 miek.nl. mFfc3r/9PSC1H6oSpdC"
),
core
test
.
RRSIG
(
"miek.nl. 1800 IN RRSIG SOA 8 2 1800 20160426031301 20160327031301 12051 miek.nl. FIrzy07acBbtyQczy1dc="
),
core
test
.
SOA
(
"miek.nl. 1800 IN SOA linode.atoom.net. miek.miek.nl. 1282630057 14400 3600 604800 14400"
),
test
.
NSEC
(
"archive.miek.nl. 14400 IN NSEC go.dns.miek.nl. CNAME RRSIG NSEC"
),
test
.
RRSIG
(
"archive.miek.nl. 14400 IN RRSIG NSEC 8 3 14400 20160426031301 20160327031301 12051 miek.nl. jEpx8lcp4do5fWXg="
),
test
.
NSEC
(
"miek.nl. 14400 IN NSEC a.miek.nl. A NS SOA MX AAAA RRSIG NSEC DNSKEY"
),
test
.
RRSIG
(
"miek.nl. 14400 IN RRSIG NSEC 8 2 14400 20160426031301 20160327031301 12051 miek.nl. mFfc3r/9PSC1H6oSpdC"
),
test
.
RRSIG
(
"miek.nl. 1800 IN RRSIG SOA 8 2 1800 20160426031301 20160327031301 12051 miek.nl. FIrzy07acBbtyQczy1dc="
),
test
.
SOA
(
"miek.nl. 1800 IN SOA linode.atoom.net. miek.miek.nl. 1282630057 14400 3600 604800 14400"
),
},
Extra
:
[]
dns
.
RR
{
core
test
.
OPT
(
4096
,
true
)},
Extra
:
[]
dns
.
RR
{
test
.
OPT
(
4096
,
true
)},
},
{
Qname
:
"b.blaat.miek.nl."
,
Qtype
:
dns
.
TypeA
,
Do
:
true
,
Rcode
:
dns
.
RcodeNameError
,
Ns
:
[]
dns
.
RR
{
core
test
.
NSEC
(
"archive.miek.nl. 14400 IN NSEC go.dns.miek.nl. CNAME RRSIG NSEC"
),
core
test
.
RRSIG
(
"archive.miek.nl. 14400 IN RRSIG NSEC 8 3 14400 20160426031301 20160327031301 12051 miek.nl. jEpx8lcp4do5fWXg="
),
core
test
.
NSEC
(
"miek.nl. 14400 IN NSEC a.miek.nl. A NS SOA MX AAAA RRSIG NSEC DNSKEY"
),
core
test
.
RRSIG
(
"miek.nl. 14400 IN RRSIG NSEC 8 2 14400 20160426031301 20160327031301 12051 miek.nl. mFfc3r/9PSC1H6oSpdC"
),
core
test
.
RRSIG
(
"miek.nl. 1800 IN RRSIG SOA 8 2 1800 20160426031301 20160327031301 12051 miek.nl. FIrzy07acBbtyQczy1dc="
),
core
test
.
SOA
(
"miek.nl. 1800 IN SOA linode.atoom.net. miek.miek.nl. 1282630057 14400 3600 604800 14400"
),
test
.
NSEC
(
"archive.miek.nl. 14400 IN NSEC go.dns.miek.nl. CNAME RRSIG NSEC"
),
test
.
RRSIG
(
"archive.miek.nl. 14400 IN RRSIG NSEC 8 3 14400 20160426031301 20160327031301 12051 miek.nl. jEpx8lcp4do5fWXg="
),
test
.
NSEC
(
"miek.nl. 14400 IN NSEC a.miek.nl. A NS SOA MX AAAA RRSIG NSEC DNSKEY"
),
test
.
RRSIG
(
"miek.nl. 14400 IN RRSIG NSEC 8 2 14400 20160426031301 20160327031301 12051 miek.nl. mFfc3r/9PSC1H6oSpdC"
),
test
.
RRSIG
(
"miek.nl. 1800 IN RRSIG SOA 8 2 1800 20160426031301 20160327031301 12051 miek.nl. FIrzy07acBbtyQczy1dc="
),
test
.
SOA
(
"miek.nl. 1800 IN SOA linode.atoom.net. miek.miek.nl. 1282630057 14400 3600 604800 14400"
),
},
Extra
:
[]
dns
.
RR
{
core
test
.
OPT
(
4096
,
true
)},
Extra
:
[]
dns
.
RR
{
test
.
OPT
(
4096
,
true
)},
},
{
Qname
:
"b.a.miek.nl."
,
Qtype
:
dns
.
TypeA
,
Do
:
true
,
Rcode
:
dns
.
RcodeNameError
,
Ns
:
[]
dns
.
RR
{
// dedupped NSEC, because 1 nsec tells all
core
test
.
NSEC
(
"a.miek.nl. 14400 IN NSEC archive.miek.nl. A AAAA RRSIG NSEC"
),
core
test
.
RRSIG
(
"a.miek.nl. 14400 IN RRSIG NSEC 8 3 14400 20160426031301 20160327031301 12051 miek.nl. GqnF6cut/RRGPQ1QGQE1ipmSHEao="
),
core
test
.
RRSIG
(
"miek.nl. 1800 IN RRSIG SOA 8 2 1800 20160426031301 20160327031301 12051 miek.nl. FIrzy07acBbtyQczy1dc="
),
core
test
.
SOA
(
"miek.nl. 1800 IN SOA linode.atoom.net. miek.miek.nl. 1282630057 14400 3600 604800 14400"
),
test
.
NSEC
(
"a.miek.nl. 14400 IN NSEC archive.miek.nl. A AAAA RRSIG NSEC"
),
test
.
RRSIG
(
"a.miek.nl. 14400 IN RRSIG NSEC 8 3 14400 20160426031301 20160327031301 12051 miek.nl. GqnF6cut/RRGPQ1QGQE1ipmSHEao="
),
test
.
RRSIG
(
"miek.nl. 1800 IN RRSIG SOA 8 2 1800 20160426031301 20160327031301 12051 miek.nl. FIrzy07acBbtyQczy1dc="
),
test
.
SOA
(
"miek.nl. 1800 IN SOA linode.atoom.net. miek.miek.nl. 1282630057 14400 3600 604800 14400"
),
},
Extra
:
[]
dns
.
RR
{
core
test
.
OPT
(
4096
,
true
)},
Extra
:
[]
dns
.
RR
{
test
.
OPT
(
4096
,
true
)},
},
}
...
...
@@ -111,13 +111,13 @@ func TestLookupDNSSEC(t *testing.T) {
t
.
Fatalf
(
"expect no error when reading zone, got %q"
,
err
)
}
fm
:=
File
{
Next
:
core
test
.
ErrorHandler
(),
Zones
:
Zones
{
Z
:
map
[
string
]
*
Zone
{
testzone
:
zone
},
Names
:
[]
string
{
testzone
}}}
fm
:=
File
{
Next
:
test
.
ErrorHandler
(),
Zones
:
Zones
{
Z
:
map
[
string
]
*
Zone
{
testzone
:
zone
},
Names
:
[]
string
{
testzone
}}}
ctx
:=
context
.
TODO
()
for
_
,
tc
:=
range
dnssecTestCases
{
m
:=
tc
.
Msg
()
rec
:=
middleware
.
NewResponseRecorder
(
&
core
test
.
ResponseWriter
{})
rec
:=
middleware
.
NewResponseRecorder
(
&
test
.
ResponseWriter
{})
_
,
err
:=
fm
.
ServeDNS
(
ctx
,
rec
,
m
)
if
err
!=
nil
{
t
.
Errorf
(
"expected no error, got %v
\n
"
,
err
)
...
...
@@ -125,23 +125,23 @@ func TestLookupDNSSEC(t *testing.T) {
}
resp
:=
rec
.
Msg
()
sort
.
Sort
(
core
test
.
RRSet
(
resp
.
Answer
))
sort
.
Sort
(
core
test
.
RRSet
(
resp
.
Ns
))
sort
.
Sort
(
core
test
.
RRSet
(
resp
.
Extra
))
sort
.
Sort
(
test
.
RRSet
(
resp
.
Answer
))
sort
.
Sort
(
test
.
RRSet
(
resp
.
Ns
))
sort
.
Sort
(
test
.
RRSet
(
resp
.
Extra
))
if
!
core
test
.
Header
(
t
,
tc
,
resp
)
{
if
!
test
.
Header
(
t
,
tc
,
resp
)
{
t
.
Logf
(
"%v
\n
"
,
resp
)
continue
}
if
!
coretest
.
Section
(
t
,
tc
,
core
test
.
Answer
,
resp
.
Answer
)
{
if
!
test
.
Section
(
t
,
tc
,
test
.
Answer
,
resp
.
Answer
)
{
t
.
Logf
(
"%v
\n
"
,
resp
)
}
if
!
coretest
.
Section
(
t
,
tc
,
core
test
.
Ns
,
resp
.
Ns
)
{
if
!
test
.
Section
(
t
,
tc
,
test
.
Ns
,
resp
.
Ns
)
{
t
.
Logf
(
"%v
\n
"
,
resp
)
}
if
!
coretest
.
Section
(
t
,
tc
,
core
test
.
Extra
,
resp
.
Extra
)
{
if
!
test
.
Section
(
t
,
tc
,
test
.
Extra
,
resp
.
Extra
)
{
t
.
Logf
(
"%v
\n
"
,
resp
)
}
}
...
...
@@ -153,20 +153,20 @@ func BenchmarkLookupDNSSEC(b *testing.B) {
return
}
fm
:=
File
{
Next
:
core
test
.
ErrorHandler
(),
Zones
:
Zones
{
Z
:
map
[
string
]
*
Zone
{
testzone
:
zone
},
Names
:
[]
string
{
testzone
}}}
fm
:=
File
{
Next
:
test
.
ErrorHandler
(),
Zones
:
Zones
{
Z
:
map
[
string
]
*
Zone
{
testzone
:
zone
},
Names
:
[]
string
{
testzone
}}}
ctx
:=
context
.
TODO
()
rec
:=
middleware
.
NewResponseRecorder
(
&
core
test
.
ResponseWriter
{})
rec
:=
middleware
.
NewResponseRecorder
(
&
test
.
ResponseWriter
{})
tc
:=
core
test
.
Case
{
tc
:=
test
.
Case
{
Qname
:
"b.miek.nl."
,
Qtype
:
dns
.
TypeA
,
Do
:
true
,
Rcode
:
dns
.
RcodeNameError
,
Ns
:
[]
dns
.
RR
{
core
test
.
NSEC
(
"archive.miek.nl. 14400 IN NSEC go.dns.miek.nl. CNAME RRSIG NSEC"
),
core
test
.
RRSIG
(
"archive.miek.nl. 14400 IN RRSIG NSEC 8 3 14400 20160426031301 20160327031301 12051 miek.nl. jEpx8lcp4do5fWXg="
),
core
test
.
NSEC
(
"miek.nl. 14400 IN NSEC a.miek.nl. A NS SOA MX AAAA RRSIG NSEC DNSKEY"
),
core
test
.
RRSIG
(
"miek.nl. 14400 IN RRSIG NSEC 8 2 14400 20160426031301 20160327031301 12051 miek.nl. mFfc3r/9PSC1H6oSpdC"
),
core
test
.
RRSIG
(
"miek.nl. 1800 IN RRSIG SOA 8 2 1800 20160426031301 20160327031301 12051 miek.nl. FIrzy07acBbtyQczy1dc="
),
core
test
.
SOA
(
"miek.nl. 1800 IN SOA linode.atoom.net. miek.miek.nl. 1282630057 14400 3600 604800 14400"
),
test
.
NSEC
(
"archive.miek.nl. 14400 IN NSEC go.dns.miek.nl. CNAME RRSIG NSEC"
),
test
.
RRSIG
(
"archive.miek.nl. 14400 IN RRSIG NSEC 8 3 14400 20160426031301 20160327031301 12051 miek.nl. jEpx8lcp4do5fWXg="
),
test
.
NSEC
(
"miek.nl. 14400 IN NSEC a.miek.nl. A NS SOA MX AAAA RRSIG NSEC DNSKEY"
),
test
.
RRSIG
(
"miek.nl. 14400 IN RRSIG NSEC 8 2 14400 20160426031301 20160327031301 12051 miek.nl. mFfc3r/9PSC1H6oSpdC"
),
test
.
RRSIG
(
"miek.nl. 1800 IN RRSIG SOA 8 2 1800 20160426031301 20160327031301 12051 miek.nl. FIrzy07acBbtyQczy1dc="
),
test
.
SOA
(
"miek.nl. 1800 IN SOA linode.atoom.net. miek.miek.nl. 1282630057 14400 3600 604800 14400"
),
},
}
...
...
middleware/file/ent_test.go
View file @
4829b40e
...
...
@@ -6,28 +6,28 @@ import (
"testing"
"github.com/miekg/coredns/middleware"
coretest
"github.com/miekg/coredns/middleware/testing
"
"github.com/miekg/coredns/middleware/test
"
"github.com/miekg/dns"
"golang.org/x/net/context"
)
var
entTestCases
=
[]
core
test
.
Case
{
var
entTestCases
=
[]
test
.
Case
{
{
Qname
:
"b.c.miek.nl."
,
Qtype
:
dns
.
TypeA
,
Ns
:
[]
dns
.
RR
{
core
test
.
SOA
(
"miek.nl. 1800 IN SOA linode.atoom.net. miek.miek.nl. 1282630057 14400 3600 604800 14400"
),
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
{
core
test
.
NSEC
(
"a.miek.nl. 14400 IN NSEC a.b.c.miek.nl. A RRSIG NSEC"
),
core
test
.
RRSIG
(
"a.miek.nl. 14400 IN RRSIG NSEC 8 3 14400 20160502144311 20160402144311 12051 miek.nl. d5XZEy6SUpq98ZKUlzqhAfkLI9pQPc="
),
core
test
.
RRSIG
(
"miek.nl. 1800 IN RRSIG SOA 8 2 1800 20160502144311 20160402144311 12051 miek.nl. KegoBxA3Tbrhlc4cEdkRiteIkOfsq"
),
core
test
.
SOA
(
"miek.nl. 1800 IN SOA linode.atoom.net. miek.miek.nl. 1282630057 14400 3600 604800 14400"
),
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
{
core
test
.
OPT
(
4096
,
true
)},
Extra
:
[]
dns
.
RR
{
test
.
OPT
(
4096
,
true
)},
},
}
...
...
@@ -37,13 +37,13 @@ func TestLookupENT(t *testing.T) {
t
.
Fatalf
(
"expect no error when reading zone, got %q"
,
err
)
}
fm
:=
File
{
Next
:
core
test
.
ErrorHandler
(),
Zones
:
Zones
{
Z
:
map
[
string
]
*
Zone
{
testzone
:
zone
},
Names
:
[]
string
{
testzone
}}}
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
:=
middleware
.
NewResponseRecorder
(
&
core
test
.
ResponseWriter
{})
rec
:=
middleware
.
NewResponseRecorder
(
&
test
.
ResponseWriter
{})
_
,
err
:=
fm
.
ServeDNS
(
ctx
,
rec
,
m
)
if
err
!=
nil
{
t
.
Errorf
(
"expected no error, got %v
\n
"
,
err
)
...
...
@@ -51,23 +51,23 @@ func TestLookupENT(t *testing.T) {
}
resp
:=
rec
.
Msg
()
sort
.
Sort
(
core
test
.
RRSet
(
resp
.
Answer
))
sort
.
Sort
(
core
test
.
RRSet
(
resp
.
Ns
))
sort
.
Sort
(
core
test
.
RRSet
(
resp
.
Extra
))
sort
.
Sort
(
test
.
RRSet
(
resp
.
Answer
))
sort
.
Sort
(
test
.
RRSet
(
resp
.
Ns
))
sort
.
Sort
(
test
.
RRSet
(
resp
.
Extra
))
if
!
core
test
.
Header
(
t
,
tc
,
resp
)
{
if
!
test
.
Header
(
t
,
tc
,
resp
)
{
t
.
Logf
(
"%v
\n
"
,
resp
)
continue
}
if
!
coretest
.
Section
(
t
,
tc
,
core
test
.
Answer
,
resp
.
Answer
)
{
if
!
test
.
Section
(
t
,
tc
,
test
.
Answer
,
resp
.
Answer
)
{
t
.
Logf
(
"%v
\n
"
,
resp
)
}
if
!
coretest
.
Section
(
t
,
tc
,
core
test
.
Ns
,
resp
.
Ns
)
{
if
!
test
.
Section
(
t
,
tc
,
test
.
Ns
,
resp
.
Ns
)
{
t
.
Logf
(
"%v
\n
"
,
resp
)
}
if
!
coretest
.
Section
(
t
,
tc
,
core
test
.
Extra
,
resp
.
Extra
)
{
if
!
test
.
Section
(
t
,
tc
,
test
.
Extra
,
resp
.
Extra
)
{
t
.
Logf
(
"%v
\n
"
,
resp
)
}
}
...
...
middleware/file/lookup_test.go
View file @
4829b40e
...
...
@@ -6,56 +6,56 @@ import (
"testing"
"github.com/miekg/coredns/middleware"
coretest
"github.com/miekg/coredns/middleware/testing
"
"github.com/miekg/coredns/middleware/test
"
"github.com/miekg/dns"
"golang.org/x/net/context"
)
var
dnsTestCases
=
[]
core
test
.
Case
{
var
dnsTestCases
=
[]
test
.
Case
{
{
Qname
:
"www.miek.nl."
,
Qtype
:
dns
.
TypeA
,
Answer
:
[]
dns
.
RR
{
core
test
.
CNAME
(
"www.miek.nl. 1800 IN CNAME a.miek.nl."
),
test
.
CNAME
(
"www.miek.nl. 1800 IN CNAME a.miek.nl."
),
},
Extra
:
[]
dns
.
RR
{
core
test
.
A
(
"a.miek.nl. 1800 IN A 139.162.196.78"
),
test
.
A
(
"a.miek.nl. 1800 IN A 139.162.196.78"
),
},
},
{
Qname
:
"miek.nl."
,
Qtype
:
dns
.
TypeSOA
,
Answer
:
[]
dns
.
RR
{
core
test
.
SOA
(
"miek.nl. 1800 IN SOA linode.atoom.net. miek.miek.nl. 1282630057 14400 3600 604800 14400"
),
test
.
SOA
(
"miek.nl. 1800 IN SOA linode.atoom.net. miek.miek.nl. 1282630057 14400 3600 604800 14400"
),
},
},
{
Qname
:
"miek.nl."
,
Qtype
:
dns
.
TypeAAAA
,
Answer
:
[]
dns
.
RR
{
core
test
.
AAAA
(
"miek.nl. 1800 IN AAAA 2a01:7e00::f03c:91ff:fef1:6735"
),
test
.
AAAA
(
"miek.nl. 1800 IN AAAA 2a01:7e00::f03c:91ff:fef1:6735"
),
},
},
{
Qname
:
"miek.nl."
,
Qtype
:
dns
.
TypeMX
,
Answer
:
[]
dns
.
RR
{
core
test
.
MX
(
"miek.nl. 1800 IN MX 1 aspmx.l.google.com."
),
core
test
.
MX
(
"miek.nl. 1800 IN MX 10 aspmx2.googlemail.com."
),
core
test
.
MX
(
"miek.nl. 1800 IN MX 10 aspmx3.googlemail.com."
),
core
test
.
MX
(
"miek.nl. 1800 IN MX 5 alt1.aspmx.l.google.com."
),
core
test
.
MX
(
"miek.nl. 1800 IN MX 5 alt2.aspmx.l.google.com."
),
test
.
MX
(
"miek.nl. 1800 IN MX 1 aspmx.l.google.com."
),
test
.
MX
(
"miek.nl. 1800 IN MX 10 aspmx2.googlemail.com."
),
test
.
MX
(
"miek.nl. 1800 IN MX 10 aspmx3.googlemail.com."
),
test
.
MX
(
"miek.nl. 1800 IN MX 5 alt1.aspmx.l.google.com."
),
test
.
MX
(
"miek.nl. 1800 IN MX 5 alt2.aspmx.l.google.com."
),
},
},
{
Qname
:
"a.miek.nl."
,
Qtype
:
dns
.
TypeSRV
,
Ns
:
[]
dns
.
RR
{
core
test
.
SOA
(
"miek.nl. 1800 IN SOA linode.atoom.net. miek.miek.nl. 1282630057 14400 3600 604800 14400"
),
test
.
SOA
(
"miek.nl. 1800 IN SOA linode.atoom.net. miek.miek.nl. 1282630057 14400 3600 604800 14400"
),
},
},
{
Qname
:
"b.miek.nl."
,
Qtype
:
dns
.
TypeA
,
Rcode
:
dns
.
RcodeNameError
,
Ns
:
[]
dns
.
RR
{
core
test
.
SOA
(
"miek.nl. 1800 IN SOA linode.atoom.net. miek.miek.nl. 1282630057 14400 3600 604800 14400"
),
test
.
SOA
(
"miek.nl. 1800 IN SOA linode.atoom.net. miek.miek.nl. 1282630057 14400 3600 604800 14400"
),
},
},
}
...
...
@@ -71,13 +71,13 @@ func TestLookup(t *testing.T) {
t
.
Fatalf
(
"expect no error when reading zone, got %q"
,
err
)
}
fm
:=
File
{
Next
:
core
test
.
ErrorHandler
(),
Zones
:
Zones
{
Z
:
map
[
string
]
*
Zone
{
testzone
:
zone
},
Names
:
[]
string
{
testzone
}}}
fm
:=
File
{
Next
:
test
.
ErrorHandler
(),
Zones
:
Zones
{
Z
:
map
[
string
]
*
Zone
{
testzone
:
zone
},
Names
:
[]
string
{
testzone
}}}
ctx
:=
context
.
TODO
()
for
_
,
tc
:=
range
dnsTestCases
{
m
:=
tc
.
Msg
()
rec
:=
middleware
.
NewResponseRecorder
(
&
core
test
.
ResponseWriter
{})
rec
:=
middleware
.
NewResponseRecorder
(
&
test
.
ResponseWriter
{})
_
,
err
:=
fm
.
ServeDNS
(
ctx
,
rec
,
m
)
if
err
!=
nil
{
t
.
Errorf
(
"expected no error, got %v
\n
"
,
err
)
...
...
@@ -85,34 +85,34 @@ func TestLookup(t *testing.T) {
}
resp
:=
rec
.
Msg
()
sort
.
Sort
(
core
test
.
RRSet
(
resp
.
Answer
))
sort
.
Sort
(
core
test
.
RRSet
(
resp
.
Ns
))
sort
.
Sort
(
core
test
.
RRSet
(
resp
.
Extra
))
sort
.
Sort
(
test
.
RRSet
(
resp
.
Answer
))
sort
.
Sort
(
test
.
RRSet
(
resp
.
Ns
))
sort
.
Sort
(
test
.
RRSet
(
resp
.
Extra
))
if
!
core
test
.
Header
(
t
,
tc
,
resp
)
{
if
!
test
.
Header
(
t
,
tc
,
resp
)
{
t
.
Logf
(
"%v
\n
"
,
resp
)
continue
}
if
!
coretest
.
Section
(
t
,
tc
,
core
test
.
Answer
,
resp
.
Answer
)
{
if
!
test
.
Section
(
t
,
tc
,
test
.
Answer
,
resp
.
Answer
)
{
t
.
Logf
(
"%v
\n
"
,
resp
)
}
if
!
coretest
.
Section
(
t
,
tc
,
core
test
.
Ns
,
resp
.
Ns
)
{
if
!
test
.
Section
(
t
,
tc
,
test
.
Ns
,
resp
.
Ns
)
{
t
.
Logf
(
"%v
\n
"
,
resp
)
}
if
!
coretest
.
Section
(
t
,
tc
,
core
test
.
Extra
,
resp
.
Extra
)
{
if
!
test
.
Section
(
t
,
tc
,
test
.
Extra
,
resp
.
Extra
)
{
t
.
Logf
(
"%v
\n
"
,
resp
)
}
}
}
func
TestLookupNil
(
t
*
testing
.
T
)
{
fm
:=
File
{
Next
:
core
test
.
ErrorHandler
(),
Zones
:
Zones
{
Z
:
map
[
string
]
*
Zone
{
testzone
:
nil
},
Names
:
[]
string
{
testzone
}}}
fm
:=
File
{
Next
:
test
.
ErrorHandler
(),
Zones
:
Zones
{
Z
:
map
[
string
]
*
Zone
{
testzone
:
nil
},
Names
:
[]
string
{
testzone
}}}
ctx
:=
context
.
TODO
()
m
:=
dnsTestCases
[
0
]
.
Msg
()
rec
:=
middleware
.
NewResponseRecorder
(
&
core
test
.
ResponseWriter
{})
rec
:=
middleware
.
NewResponseRecorder
(
&
test
.
ResponseWriter
{})
fm
.
ServeDNS
(
ctx
,
rec
,
m
)
}
...
...
@@ -122,18 +122,18 @@ func BenchmarkLookup(b *testing.B) {
return
}
fm
:=
File
{
Next
:
core
test
.
ErrorHandler
(),
Zones
:
Zones
{
Z
:
map
[
string
]
*
Zone
{
testzone
:
zone
},
Names
:
[]
string
{
testzone
}}}
fm
:=
File
{
Next
:
test
.
ErrorHandler
(),
Zones
:
Zones
{
Z
:
map
[
string
]
*
Zone
{
testzone
:
zone
},
Names
:
[]
string
{
testzone
}}}
ctx
:=
context
.
TODO
()
rec
:=
middleware
.
NewResponseRecorder
(
&
core
test
.
ResponseWriter
{})
rec
:=
middleware
.
NewResponseRecorder
(
&
test
.
ResponseWriter
{})
tc
:=
core
test
.
Case
{
tc
:=
test
.
Case
{
Qname
:
"www.miek.nl."
,
Qtype
:
dns
.
TypeA
,
Answer
:
[]
dns
.
RR
{
core
test
.
CNAME
(
"www.miek.nl. 1800 IN CNAME a.miek.nl."
),
test
.
CNAME
(
"www.miek.nl. 1800 IN CNAME a.miek.nl."
),
},
Extra
:
[]
dns
.
RR
{
core
test
.
A
(
"a.miek.nl. 1800 IN A 139.162.196.78"
),
test
.
A
(
"a.miek.nl. 1800 IN A 139.162.196.78"
),
},
}
...
...
middleware/file/secondary_test.go
View file @
4829b40e
...
...
@@ -5,7 +5,7 @@ import (
"testing"
"github.com/miekg/coredns/middleware"
coretest
"github.com/miekg/coredns/middleware/testing
"
"github.com/miekg/coredns/middleware/test
"
"github.com/miekg/dns"
)
...
...
@@ -46,14 +46,14 @@ func (s *soa) Handler(w dns.ResponseWriter, req *dns.Msg) {
switch
req
.
Question
[
0
]
.
Qtype
{
case
dns
.
TypeSOA
:
m
.
Answer
=
make
([]
dns
.
RR
,
1
)
m
.
Answer
[
0
]
=
core
test
.
SOA
(
fmt
.
Sprintf
(
"%s IN SOA bla. bla. %d 0 0 0 0 "
,
testZone
,
s
.
serial
))
m
.
Answer
[
0
]
=
test
.
SOA
(
fmt
.
Sprintf
(
"%s IN SOA bla. bla. %d 0 0 0 0 "
,
testZone
,
s
.
serial
))
w
.
WriteMsg
(
m
)
case
dns
.
TypeAXFR
:
m
.
Answer
=
make
([]
dns
.
RR
,
4
)
m
.
Answer
[
0
]
=
core
test
.
SOA
(
fmt
.
Sprintf
(
"%s IN SOA bla. bla. %d 0 0 0 0 "
,
testZone
,
s
.
serial
))
m
.
Answer
[
1
]
=
core
test
.
A
(
fmt
.
Sprintf
(
"%s IN A 127.0.0.1"
,
testZone
))
m
.
Answer
[
2
]
=
core
test
.
A
(
fmt
.
Sprintf
(
"%s IN A 127.0.0.1"
,
testZone
))
m
.
Answer
[
3
]
=
core
test
.
SOA
(
fmt
.
Sprintf
(
"%s IN SOA bla. bla. %d 0 0 0 0 "
,
testZone
,
s
.
serial
))
m
.
Answer
[
0
]
=
test
.
SOA
(
fmt
.
Sprintf
(
"%s IN SOA bla. bla. %d 0 0 0 0 "
,
testZone
,
s
.
serial
))
m
.
Answer
[
1
]
=
test
.
A
(
fmt
.
Sprintf
(
"%s IN A 127.0.0.1"
,
testZone
))
m
.
Answer
[
2
]
=
test
.
A
(
fmt
.
Sprintf
(
"%s IN A 127.0.0.1"
,
testZone
))
m
.
Answer
[
3
]
=
test
.
SOA
(
fmt
.
Sprintf
(
"%s IN SOA bla. bla. %d 0 0 0 0 "
,
testZone
,
s
.
serial
))
w
.
WriteMsg
(
m
)
}
}
...
...
@@ -62,7 +62,7 @@ func (s *soa) TransferHandler(w dns.ResponseWriter, req *dns.Msg) {
m
:=
new
(
dns
.
Msg
)
m
.
SetReply
(
req
)
m
.
Answer
=
make
([]
dns
.
RR
,
1
)
m
.
Answer
[
0
]
=
core
test
.
SOA
(
fmt
.
Sprintf
(
"%s IN SOA bla. bla. %d 0 0 0 0 "
,
testZone
,
s
.
serial
))
m
.
Answer
[
0
]
=
test
.
SOA
(
fmt
.
Sprintf
(
"%s IN SOA bla. bla. %d 0 0 0 0 "
,
testZone
,
s
.
serial
))
w
.
WriteMsg
(
m
)
}
...
...
@@ -74,7 +74,7 @@ func TestShouldTransfer(t *testing.T) {
dns
.
HandleFunc
(
testZone
,
soa
.
Handler
)
defer
dns
.
HandleRemove
(
testZone
)
s
,
addrstr
,
err
:=
core
test
.
TCPServer
(
"127.0.0.1:0"
)
s
,
addrstr
,
err
:=
test
.
TCPServer
(
"127.0.0.1:0"
)
if
err
!=
nil
{
t
.
Fatalf
(
"unable to run test server: %v"
,
err
)
}
...
...
@@ -85,7 +85,7 @@ func TestShouldTransfer(t *testing.T) {
z
.
TransferFrom
=
[]
string
{
addrstr
}
// Serial smaller
z
.
SOA
=
core
test
.
SOA
(
fmt
.
Sprintf
(
"%s IN SOA bla. bla. %d 0 0 0 0 "
,
testZone
,
soa
.
serial
-
1
))
z
.
SOA
=
test
.
SOA
(
fmt
.
Sprintf
(
"%s IN SOA bla. bla. %d 0 0 0 0 "
,
testZone
,
soa
.
serial
-
1
))
should
,
err
:=
z
.
shouldTransfer
()
if
err
!=
nil
{
t
.
Fatalf
(
"unable to run shouldTransfer: %v"
,
err
)
...
...
@@ -94,7 +94,7 @@ func TestShouldTransfer(t *testing.T) {
t
.
Fatalf
(
"shouldTransfer should return true for serial: %q"
,
soa
.
serial
-
1
)
}
// Serial equal
z
.
SOA
=
core
test
.
SOA
(
fmt
.
Sprintf
(
"%s IN SOA bla. bla. %d 0 0 0 0 "
,
testZone
,
soa
.
serial
))
z
.
SOA
=
test
.
SOA
(
fmt
.
Sprintf
(
"%s IN SOA bla. bla. %d 0 0 0 0 "
,
testZone
,
soa
.
serial
))
should
,
err
=
z
.
shouldTransfer
()
if
err
!=
nil
{
t
.
Fatalf
(
"unable to run shouldTransfer: %v"
,
err
)
...
...
@@ -110,7 +110,7 @@ func TestTransferIn(t *testing.T) {
dns
.
HandleFunc
(
testZone
,
soa
.
Handler
)
defer
dns
.
HandleRemove
(
testZone
)
s
,
addrstr
,
err
:=
core
test
.
TCPServer
(
"127.0.0.1:0"
)
s
,
addrstr
,
err
:=
test
.
TCPServer
(
"127.0.0.1:0"
)
if
err
!=
nil
{
t
.
Fatalf
(
"unable to run test server: %v"
,
err
)
}
...
...
@@ -152,5 +152,5 @@ func NewState(zone string, qtype uint16) middleware.State {
m
:=
new
(
dns
.
Msg
)
m
.
SetQuestion
(
"example.com."
,
dns
.
TypeA
)
m
.
SetEdns0
(
4097
,
true
)
return
middleware
.
State
{
W
:
&
core
test
.
ResponseWriter
{},
Req
:
m
}
return
middleware
.
State
{
W
:
&
test
.
ResponseWriter
{},
Req
:
m
}
}
middleware/file/wildcard_test.go
View file @
4829b40e
...
...
@@ -6,40 +6,40 @@ import (
"testing"
"github.com/miekg/coredns/middleware"
coretest
"github.com/miekg/coredns/middleware/testing
"
"github.com/miekg/coredns/middleware/test
"
"github.com/miekg/dns"
"golang.org/x/net/context"
)
var
wildcardTestCases
=
[]
core
test
.
Case
{
var
wildcardTestCases
=
[]
test
.
Case
{
{
Qname
:
"wild.dnssex.nl."
,
Qtype
:
dns
.
TypeTXT
,
Answer
:
[]
dns
.
RR
{
core
test
.
TXT
(
`wild.dnssex.nl. 1800 IN TXT "Doing It Safe Is Better"`
),
test
.
TXT
(
`wild.dnssex.nl. 1800 IN TXT "Doing It Safe Is Better"`
),
},
},
{
Qname
:
"wild.dnssex.nl."
,
Qtype
:
dns
.
TypeTXT
,
Do
:
true
,
Answer
:
[]
dns
.
RR
{
core
test
.
RRSIG
(
"wild.dnssex.nl. 1800 IN RRSIG TXT 8 2 1800 20160428190224 20160329190224 14460 dnssex.nl. FUZSTyvZfeuuOpCm"
),
core
test
.
TXT
(
`wild.dnssex.nl. 1800 IN TXT "Doing It Safe Is Better"`
),
test
.
RRSIG
(
"wild.dnssex.nl. 1800 IN RRSIG TXT 8 2 1800 20160428190224 20160329190224 14460 dnssex.nl. FUZSTyvZfeuuOpCm"
),
test
.
TXT
(
`wild.dnssex.nl. 1800 IN TXT "Doing It Safe Is Better"`
),
},
Extra
:
[]
dns
.
RR
{
core
test
.
OPT
(
4096
,
true
)},
Extra
:
[]
dns
.
RR
{
test
.
OPT
(
4096
,
true
)},
},
// nodata reponse
/*
{
Qname: "wild.dnssex.nl.", Qtype: dns.TypeSRV,
Answer: []dns.RR{
core
test.TXT(`wild.dnssex.nl. 1800 IN TXT "Doing It Safe Is Better"`),
test.TXT(`wild.dnssex.nl. 1800 IN TXT "Doing It Safe Is Better"`),
},
},
{
Qname: "wild.dnssex.nl.", Qtype: dns.TypeSRV, Do: true,
Answer: []dns.RR{
core
test.RRSIG("wild.dnssex.nl. 1800 IN RRSIG TXT 8 2 1800 20160428190224 20160329190224 14460 dnssex.nl. FUZSTyvZfeuuOpCm"),
core
test.TXT(`wild.dnssex.nl. 1800 IN TXT "Doing It Safe Is Better"`),
test.RRSIG("wild.dnssex.nl. 1800 IN RRSIG TXT 8 2 1800 20160428190224 20160329190224 14460 dnssex.nl. FUZSTyvZfeuuOpCm"),
test.TXT(`wild.dnssex.nl. 1800 IN TXT "Doing It Safe Is Better"`),
},
},
*/
...
...
@@ -51,13 +51,13 @@ func TestLookupWildcard(t *testing.T) {
t
.
Fatalf
(
"expect no error when reading zone, got %q"
,
err
)
}
fm
:=
File
{
Next
:
core
test
.
ErrorHandler
(),
Zones
:
Zones
{
Z
:
map
[
string
]
*
Zone
{
testzone1
:
zone
},
Names
:
[]
string
{
testzone1
}}}
fm
:=
File
{
Next
:
test
.
ErrorHandler
(),
Zones
:
Zones
{
Z
:
map
[
string
]
*
Zone
{
testzone1
:
zone
},
Names
:
[]
string
{
testzone1
}}}
ctx
:=
context
.
TODO
()
for
_
,
tc
:=
range
wildcardTestCases
{
m
:=
tc
.
Msg
()
rec
:=
middleware
.
NewResponseRecorder
(
&
core
test
.
ResponseWriter
{})
rec
:=
middleware
.
NewResponseRecorder
(
&
test
.
ResponseWriter
{})
_
,
err
:=
fm
.
ServeDNS
(
ctx
,
rec
,
m
)
if
err
!=
nil
{
t
.
Errorf
(
"expected no error, got %v
\n
"
,
err
)
...
...
@@ -65,21 +65,21 @@ func TestLookupWildcard(t *testing.T) {
}
resp
:=
rec
.
Msg
()
sort
.
Sort
(
core
test
.
RRSet
(
resp
.
Answer
))
sort
.
Sort
(
core
test
.
RRSet
(
resp
.
Ns
))
sort
.
Sort
(
core
test
.
RRSet
(
resp
.
Extra
))
sort
.
Sort
(
test
.
RRSet
(
resp
.
Answer
))
sort
.
Sort
(
test
.
RRSet
(
resp
.
Ns
))
sort
.
Sort
(
test
.
RRSet
(
resp
.
Extra
))
if
!
core
test
.
Header
(
t
,
tc
,
resp
)
{
if
!
test
.
Header
(
t
,
tc
,
resp
)
{
t
.
Logf
(
"%v
\n
"
,
resp
)
continue
}
if
!
coretest
.
Section
(
t
,
tc
,
core
test
.
Answer
,
resp
.
Answer
)
{
if
!
test
.
Section
(
t
,
tc
,
test
.
Answer
,
resp
.
Answer
)
{
t
.
Logf
(
"%v
\n
"
,
resp
)
}
if
!
coretest
.
Section
(
t
,
tc
,
core
test
.
Ns
,
resp
.
Ns
)
{
if
!
test
.
Section
(
t
,
tc
,
test
.
Ns
,
resp
.
Ns
)
{
t
.
Logf
(
"%v
\n
"
,
resp
)
}
if
!
coretest
.
Section
(
t
,
tc
,
core
test
.
Extra
,
resp
.
Extra
)
{
if
!
test
.
Section
(
t
,
tc
,
test
.
Extra
,
resp
.
Extra
)
{
t
.
Logf
(
"%v
\n
"
,
resp
)
}
}
...
...
middleware/loadbalance/loadbalance_test.go
View file @
4829b40e
...
...
@@ -4,7 +4,7 @@ import (
"testing"
"github.com/miekg/coredns/middleware"
coretest
"github.com/miekg/coredns/middleware/testing
"
"github.com/miekg/coredns/middleware/test
"
"github.com/miekg/dns"
"golang.org/x/net/context"
...
...
@@ -56,7 +56,7 @@ func TestLoadBalance(t *testing.T) {
},
}
rec
:=
middleware
.
NewResponseRecorder
(
&
core
test
.
ResponseWriter
{})
rec
:=
middleware
.
NewResponseRecorder
(
&
test
.
ResponseWriter
{})
for
i
,
test
:=
range
tests
{
req
:=
new
(
dns
.
Msg
)
...
...
middleware/log/log_test.go
View file @
4829b40e
...
...
@@ -7,7 +7,7 @@ import (
"testing"
"github.com/miekg/coredns/middleware"
coretest
"github.com/miekg/coredns/middleware/testing
"
"github.com/miekg/coredns/middleware/test
"
"github.com/miekg/dns"
"golang.org/x/net/context"
...
...
@@ -37,7 +37,7 @@ func TestLoggedStatus(t *testing.T) {
r
:=
new
(
dns
.
Msg
)
r
.
SetQuestion
(
"example.org."
,
dns
.
TypeA
)
rec
:=
middleware
.
NewResponseRecorder
(
&
core
test
.
ResponseWriter
{})
rec
:=
middleware
.
NewResponseRecorder
(
&
test
.
ResponseWriter
{})
rcode
,
_
:=
logger
.
ServeDNS
(
ctx
,
rec
,
r
)
if
rcode
!=
0
{
...
...
middleware/proxy/lookup_test.go
View file @
4829b40e
...
...
@@ -7,7 +7,7 @@ import (
"testing"
"github.com/miekg/coredns/middleware"
coretest
"github.com/miekg/coredns/middleware/testing
"
"github.com/miekg/coredns/middleware/test
"
"github.com/miekg/dns"
)
...
...
@@ -32,5 +32,5 @@ func TestLookupProxy(t *testing.T) {
}
func
fakeState
()
middleware
.
State
{
return
middleware
.
State
{
W
:
&
core
test
.
ResponseWriter
{},
Req
:
new
(
dns
.
Msg
)}
return
middleware
.
State
{
W
:
&
test
.
ResponseWriter
{},
Req
:
new
(
dns
.
Msg
)}
}
middleware/rewrite/rewrite_test.go
View file @
4829b40e
...
...
@@ -4,7 +4,7 @@ import (
"testing"
"github.com/miekg/coredns/middleware"
coretest
"github.com/miekg/coredns/middleware/testing
"
"github.com/miekg/coredns/middleware/test
"
"github.com/miekg/dns"
"golang.org/x/net/context"
...
...
@@ -45,23 +45,23 @@ func TestRewrite(t *testing.T) {
}
ctx
:=
context
.
TODO
()
for
i
,
t
est
:=
range
tests
{
for
i
,
t
c
:=
range
tests
{
m
:=
new
(
dns
.
Msg
)
m
.
SetQuestion
(
t
est
.
from
,
test
.
fromT
)
m
.
Question
[
0
]
.
Qclass
=
t
est
.
fromC
m
.
SetQuestion
(
t
c
.
from
,
tc
.
fromT
)
m
.
Question
[
0
]
.
Qclass
=
t
c
.
fromC
rec
:=
middleware
.
NewResponseRecorder
(
&
core
test
.
ResponseWriter
{})
rec
:=
middleware
.
NewResponseRecorder
(
&
test
.
ResponseWriter
{})
rw
.
ServeDNS
(
ctx
,
rec
,
m
)
resp
:=
rec
.
Msg
()
if
resp
.
Question
[
0
]
.
Name
!=
t
est
.
to
{
t
.
Errorf
(
"Test %d: Expected Name to be '%s' but was '%s'"
,
i
,
t
est
.
to
,
resp
.
Question
[
0
]
.
Name
)
if
resp
.
Question
[
0
]
.
Name
!=
t
c
.
to
{
t
.
Errorf
(
"Test %d: Expected Name to be '%s' but was '%s'"
,
i
,
t
c
.
to
,
resp
.
Question
[
0
]
.
Name
)
}
if
resp
.
Question
[
0
]
.
Qtype
!=
t
est
.
toT
{
t
.
Errorf
(
"Test %d: Expected Type to be '%d' but was '%d'"
,
i
,
t
est
.
toT
,
resp
.
Question
[
0
]
.
Qtype
)
if
resp
.
Question
[
0
]
.
Qtype
!=
t
c
.
toT
{
t
.
Errorf
(
"Test %d: Expected Type to be '%d' but was '%d'"
,
i
,
t
c
.
toT
,
resp
.
Question
[
0
]
.
Qtype
)
}
if
resp
.
Question
[
0
]
.
Qclass
!=
t
est
.
toC
{
t
.
Errorf
(
"Test %d: Expected Class to be '%d' but was '%d'"
,
i
,
t
est
.
toC
,
resp
.
Question
[
0
]
.
Qclass
)
if
resp
.
Question
[
0
]
.
Qclass
!=
t
c
.
toC
{
t
.
Errorf
(
"Test %d: Expected Class to be '%d' but was '%d'"
,
i
,
t
c
.
toC
,
resp
.
Question
[
0
]
.
Qclass
)
}
}
...
...
middleware/state_test.go
View file @
4829b40e
...
...
@@ -3,7 +3,7 @@ package middleware
import
(
"testing"
coretest
"github.com/miekg/coredns/middleware/testing
"
"github.com/miekg/coredns/middleware/test
"
"github.com/miekg/dns"
)
...
...
@@ -51,7 +51,7 @@ func testState() State {
m
:=
new
(
dns
.
Msg
)
m
.
SetQuestion
(
"example.com."
,
dns
.
TypeA
)
m
.
SetEdns0
(
4097
,
true
)
return
State
{
W
:
&
core
test
.
ResponseWriter
{},
Req
:
m
}
return
State
{
W
:
&
test
.
ResponseWriter
{},
Req
:
m
}
}
/*
...
...
middleware/test
ing
/helpers.go
→
middleware/test/helpers.go
View file @
4829b40e
package
test
ing
package
test
import
(
"testing"
...
...
middleware/test
ing
/responsewriter.go
→
middleware/test/responsewriter.go
View file @
4829b40e
package
test
ing
package
test
import
(
"net"
...
...
middleware/test
ing
/server.go
→
middleware/test/server.go
View file @
4829b40e
package
test
ing
package
test
import
(
"net"
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment