Export PreCheckDNS so library users can manage the DNS check in tests

This commit is contained in:
Cristian Graziano 2016-08-09 22:15:54 -07:00
parent aa216e0399
commit 2818a41068
2 changed files with 6 additions and 4 deletions

View file

@ -17,7 +17,9 @@ import (
type preCheckDNSFunc func(fqdn, value string) (bool, error)
var (
preCheckDNS preCheckDNSFunc = checkDNSPropagation
// PreCheckDNS checks DNS propagation before notifying ACME that
// the DNS challenge is ready.
PreCheckDNS preCheckDNSFunc = checkDNSPropagation
fqdnToZone = map[string]string{}
)
@ -84,7 +86,7 @@ func (s *dnsChallenge) Solve(chlng challenge, domain string) error {
}
err = WaitFor(timeout, interval, func() (bool, error) {
return preCheckDNS(fqdn, value)
return PreCheckDNS(fqdn, value)
})
if err != nil {
return err

View file

@ -86,7 +86,7 @@ var checkAuthoritativeNssTestsErr = []struct {
}
func TestDNSValidServerResponse(t *testing.T) {
preCheckDNS = func(fqdn, value string) (bool, error) {
PreCheckDNS = func(fqdn, value string) (bool, error) {
return true, nil
}
privKey, _ := rsa.GenerateKey(rand.Reader, 512)
@ -114,7 +114,7 @@ func TestDNSValidServerResponse(t *testing.T) {
}
func TestPreCheckDNS(t *testing.T) {
ok, err := preCheckDNS("acme-staging.api.letsencrypt.org", "fe01=")
ok, err := PreCheckDNS("acme-staging.api.letsencrypt.org", "fe01=")
if err != nil || !ok {
t.Errorf("preCheckDNS failed for acme-staging.api.letsencrypt.org")
}