Skip to content

Commit

Permalink
bug: fix dns panic during tests
Browse files Browse the repository at this point in the history
  • Loading branch information
asoorm committed Jan 15, 2018
1 parent f5d9bf7 commit 4b637ba
Showing 1 changed file with 11 additions and 9 deletions.
20 changes: 11 additions & 9 deletions helpers_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -513,7 +513,8 @@ func buildAndLoadAPI(apiGens ...func(spec *APISpec)) (specs []*APISpec) {
return loadAPI(buildAPI(apiGens...)...)
}

var domainsToAddresses map[string]string = map[string]string{
// TODO - Can we just remove this? It doesn't make sense because is dependent on what your local router is.
var domainsToAddresses = map[string]string{
"host1.local.": "127.0.0.1",
"host2.local.": "127.0.0.1",
"host3.local.": "127.0.0.1",
Expand All @@ -522,22 +523,23 @@ var domainsToAddresses map[string]string = map[string]string{

type dnsMockHandler struct{}

func (this *dnsMockHandler) ServeDNS(w dns.ResponseWriter, r *dns.Msg) {
func (d *dnsMockHandler) ServeDNS(w dns.ResponseWriter, r *dns.Msg) {
msg := dns.Msg{}
msg.SetReply(r)
switch r.Question[0].Qtype {
case dns.TypeA:
msg.Authoritative = true
domain := msg.Question[0].Name

address, ok := domainsToAddresses[domain]
if ok {
msg.Answer = append(msg.Answer, &dns.A{
Hdr: dns.RR_Header{Name: domain, Rrtype: dns.TypeA, Class: dns.ClassINET, Ttl: 60},
A: net.ParseIP(address),
})
} else {
panic("Following domain not mocked:" + domain)
if !ok {
address = "127.0.0.1"
}

msg.Answer = append(msg.Answer, &dns.A{
Hdr: dns.RR_Header{Name: domain, Rrtype: dns.TypeA, Class: dns.ClassINET, Ttl: 60},
A: net.ParseIP(address),
})
}
w.WriteMsg(&msg)
}
Expand Down

0 comments on commit 4b637ba

Please sign in to comment.