Added testcase for in-valid.co.uk

Camelcased: fqdn2zone to fqdnToZone
Grammatical fix in externally visible error message
This commit is contained in:
Pauline Middelink 2016-02-29 08:46:15 +01:00
parent 4945919c69
commit 8b90b1a380
3 changed files with 22 additions and 13 deletions

View file

@ -18,7 +18,7 @@ type preCheckDNSFunc func(fqdn, value string) (bool, error)
var (
preCheckDNS preCheckDNSFunc = checkDNSPropagation
fqdn2zone = map[string]string{}
fqdnToZone = map[string]string{}
)
var recursiveNameserver = "google-public-dns-a.google.com:53"
@ -185,7 +185,7 @@ func lookupNameservers(fqdn string) ([]string, error) {
// findZoneByFqdn determines the zone of the given fqdn
func findZoneByFqdn(fqdn, nameserver string) (string, error) {
// Do we have it cached?
if zone, ok := fqdn2zone[fqdn]; ok {
if zone, ok := fqdnToZone[fqdn]; ok {
return zone, nil
}
@ -210,9 +210,9 @@ func findZoneByFqdn(fqdn, nameserver string) (string, error) {
// If we ended up on one of the TLDs, it means the domain did not exist.
publicsuffix, _ := publicsuffix.PublicSuffix(unFqdn(zone))
if publicsuffix == unFqdn(zone) {
return "", fmt.Errorf("Could not determine zone authoritively")
return "", fmt.Errorf("Could not determine zone authoritatively")
}
fqdn2zone[fqdn] = zone
fqdnToZone[fqdn] = zone
return zone, nil
}
}
@ -225,9 +225,9 @@ func findZoneByFqdn(fqdn, nameserver string) (string, error) {
// If we ended up on one of the TLDs, it means the domain did not exist.
publicsuffix, _ := publicsuffix.PublicSuffix(unFqdn(zone))
if publicsuffix == unFqdn(zone) {
return "", fmt.Errorf("Could not determine zone authoritively")
return "", fmt.Errorf("Could not determine zone authoritatively")
}
fqdn2zone[fqdn] = zone
fqdnToZone[fqdn] = zone
return zone, nil
}
}
@ -252,6 +252,11 @@ func unFqdn(name string) string {
return name
}
// clearFqdnCache clears the cache of fqdn to zone mappings. Primarily used in testing.
func clearFqdnCache() {
fqdnToZone = map[string]string{}
}
// waitFor polls the given function 'f', once every 'interval' seconds, up to 'timeout' seconds.
func waitFor(timeout, interval int, f func() (bool, error)) error {
var lastErr string

View file

@ -26,7 +26,7 @@ var (
var reqChan = make(chan *dns.Msg, 10)
func TestRFC2136CanaryLocalTestServer(t *testing.T) {
fqdn2zone = map[string]string{}
clearFqdnCache()
dns.HandleFunc("example.com.", serverHandlerHello)
defer dns.HandleRemove("example.com.")
@ -50,7 +50,7 @@ func TestRFC2136CanaryLocalTestServer(t *testing.T) {
}
func TestRFC2136ServerSuccess(t *testing.T) {
fqdn2zone = map[string]string{}
clearFqdnCache()
dns.HandleFunc(rfc2136TestZone, serverHandlerReturnSuccess)
defer dns.HandleRemove(rfc2136TestZone)
@ -70,7 +70,7 @@ func TestRFC2136ServerSuccess(t *testing.T) {
}
func TestRFC2136ServerError(t *testing.T) {
fqdn2zone = map[string]string{}
clearFqdnCache()
dns.HandleFunc(rfc2136TestZone, serverHandlerReturnErr)
defer dns.HandleRemove(rfc2136TestZone)
@ -92,7 +92,7 @@ func TestRFC2136ServerError(t *testing.T) {
}
func TestRFC2136TsigClient(t *testing.T) {
fqdn2zone = map[string]string{}
clearFqdnCache()
dns.HandleFunc(rfc2136TestZone, serverHandlerReturnSuccess)
defer dns.HandleRemove(rfc2136TestZone)
@ -112,7 +112,7 @@ func TestRFC2136TsigClient(t *testing.T) {
}
func TestRFC2136ValidUpdatePacket(t *testing.T) {
fqdn2zone = map[string]string{}
clearFqdnCache()
dns.HandleFunc(rfc2136TestZone, serverHandlerPassBackRequest)
defer dns.HandleRemove(rfc2136TestZone)

View file

@ -35,11 +35,15 @@ var lookupNameserversTestsErr = []struct {
}{
// invalid tld
{"_null.n0n0.",
"Could not determine zone authoritively",
"Could not determine zone authoritatively",
},
// invalid domain
{"_null.com.",
"Could not determine zone authoritively",
"Could not determine zone authoritatively",
},
// invalid domain
{"in-valid.co.uk.",
"Could not determine zone authoritatively",
},
}