Cleanup authority creation
This commit is contained in:
parent
f945bb0efb
commit
88c2f95179
|
|
@ -35,10 +35,9 @@ func main() {
|
|||
|
||||
go cmd.DebugServer(c.RA.DebugAddr)
|
||||
|
||||
rai := ra.NewRegistrationAuthorityImpl()
|
||||
rai := ra.NewRegistrationAuthorityImpl(stats)
|
||||
rai.AuthzBase = c.Common.BaseURL + wfe.AuthzPath
|
||||
rai.MaxKeySize = c.Common.MaxKeySize
|
||||
rai.Stats = stats
|
||||
raDNSTimeout, err := time.ParseDuration(c.Common.DNSTimeout)
|
||||
cmd.FailOnError(err, "Couldn't parse RA DNS timeout")
|
||||
rai.DNSResolver = core.NewDNSResolverImpl(raDNSTimeout, []string{c.Common.DNSResolver})
|
||||
|
|
|
|||
|
|
@ -50,8 +50,7 @@ func main() {
|
|||
if c.VA.PortConfig.DVSNIPort != 0 {
|
||||
pc.DVSNIPort = c.VA.PortConfig.DVSNIPort
|
||||
}
|
||||
vai := va.NewValidationAuthorityImpl(pc)
|
||||
vai.Stats = stats
|
||||
vai := va.NewValidationAuthorityImpl(pc, stats)
|
||||
dnsTimeout, err := time.ParseDuration(c.Common.DNSTimeout)
|
||||
cmd.FailOnError(err, "Couldn't parse DNS timeout")
|
||||
vai.DNSResolver = core.NewDNSResolverImpl(dnsTimeout, []string{c.Common.DNSResolver})
|
||||
|
|
|
|||
|
|
@ -73,12 +73,11 @@ func main() {
|
|||
|
||||
go cmd.DebugServer(c.WFE.DebugAddr)
|
||||
|
||||
wfe, err := wfe.NewWebFrontEndImpl()
|
||||
wfe, err := wfe.NewWebFrontEndImpl(stats)
|
||||
cmd.FailOnError(err, "Unable to create WFE")
|
||||
rac, sac, closeChan := setupWFE(c, auditlogger)
|
||||
wfe.RA = &rac
|
||||
wfe.SA = &sac
|
||||
wfe.Stats = stats
|
||||
wfe.SubscriberAgreementURL = c.SubscriberAgreementURL
|
||||
|
||||
wfe.CertCacheDuration, err = time.ParseDuration(c.WFE.CertCacheDuration)
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ type RegistrationAuthorityImpl struct {
|
|||
VA core.ValidationAuthority
|
||||
SA core.StorageAuthority
|
||||
PA core.PolicyAuthority
|
||||
Stats statsd.Statter
|
||||
stats statsd.Statter
|
||||
DNSResolver core.DNSResolver
|
||||
log *blog.AuditLogger
|
||||
|
||||
|
|
@ -40,11 +40,11 @@ type RegistrationAuthorityImpl struct {
|
|||
}
|
||||
|
||||
// NewRegistrationAuthorityImpl constructs a new RA object.
|
||||
func NewRegistrationAuthorityImpl() RegistrationAuthorityImpl {
|
||||
func NewRegistrationAuthorityImpl(stats statsd.Statter) RegistrationAuthorityImpl {
|
||||
logger := blog.GetAuditLogger()
|
||||
logger.Notice("Registration Authority Starting")
|
||||
|
||||
ra := RegistrationAuthorityImpl{log: logger}
|
||||
ra := RegistrationAuthorityImpl{log: logger, stats: stats}
|
||||
ra.PA = policy.NewPolicyAuthorityImpl()
|
||||
return ra
|
||||
}
|
||||
|
|
@ -99,7 +99,7 @@ func (ra *RegistrationAuthorityImpl) NewRegistration(init core.Registration) (re
|
|||
}
|
||||
reg.MergeUpdate(init)
|
||||
|
||||
err = validateContacts(reg.Contact, ra.DNSResolver, ra.Stats)
|
||||
err = validateContacts(reg.Contact, ra.DNSResolver, ra.stats)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
|
|
@ -112,7 +112,7 @@ func (ra *RegistrationAuthorityImpl) NewRegistration(init core.Registration) (re
|
|||
err = core.InternalServerError(err.Error())
|
||||
}
|
||||
|
||||
ra.Stats.Inc("RA.NewRegistrations", 1, 1.0)
|
||||
ra.stats.Inc("RA.NewRegistrations", 1, 1.0)
|
||||
return
|
||||
}
|
||||
|
||||
|
|
@ -207,7 +207,7 @@ func (ra *RegistrationAuthorityImpl) NewAuthorization(request core.Authorization
|
|||
err = core.InternalServerError(err.Error())
|
||||
}
|
||||
|
||||
ra.Stats.Inc("RA.NewPendingAuthorizations", 1, 1.0)
|
||||
ra.stats.Inc("RA.NewPendingAuthorizations", 1, 1.0)
|
||||
return authz, err
|
||||
}
|
||||
|
||||
|
|
@ -336,7 +336,7 @@ func (ra *RegistrationAuthorityImpl) NewCertificate(req core.CertificateRequest,
|
|||
logEvent.ResponseTime = time.Now()
|
||||
logEventResult = "successful"
|
||||
|
||||
ra.Stats.Inc("RA.NewCertificates", 1, 1.0)
|
||||
ra.stats.Inc("RA.NewCertificates", 1, 1.0)
|
||||
return cert, nil
|
||||
}
|
||||
|
||||
|
|
@ -344,7 +344,7 @@ func (ra *RegistrationAuthorityImpl) NewCertificate(req core.CertificateRequest,
|
|||
func (ra *RegistrationAuthorityImpl) UpdateRegistration(base core.Registration, update core.Registration) (reg core.Registration, err error) {
|
||||
base.MergeUpdate(update)
|
||||
|
||||
err = validateContacts(base.Contact, ra.DNSResolver, ra.Stats)
|
||||
err = validateContacts(base.Contact, ra.DNSResolver, ra.stats)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
|
|
@ -357,7 +357,7 @@ func (ra *RegistrationAuthorityImpl) UpdateRegistration(base core.Registration,
|
|||
err = core.InternalServerError(fmt.Sprintf("Could not update registration: %s", err))
|
||||
}
|
||||
|
||||
ra.Stats.Inc("RA.UpdatedRegistrations", 1, 1.0)
|
||||
ra.stats.Inc("RA.UpdatedRegistrations", 1, 1.0)
|
||||
return
|
||||
}
|
||||
|
||||
|
|
@ -389,7 +389,7 @@ func (ra *RegistrationAuthorityImpl) UpdateAuthorization(base core.Authorization
|
|||
// Dispatch to the VA for service
|
||||
ra.VA.UpdateValidations(authz, challengeIndex, reg.Key)
|
||||
|
||||
ra.Stats.Inc("RA.UpdatedPendingAuthorizations", 1, 1.0)
|
||||
ra.stats.Inc("RA.UpdatedPendingAuthorizations", 1, 1.0)
|
||||
return
|
||||
}
|
||||
|
||||
|
|
@ -430,7 +430,7 @@ func (ra *RegistrationAuthorityImpl) RevokeCertificate(cert x509.Certificate, re
|
|||
state = "Success"
|
||||
|
||||
ra.log.Audit(fmt.Sprintf("Revocation - %s", serialString))
|
||||
ra.Stats.Inc("RA.RevokedCertificates", 1, 1.0)
|
||||
ra.stats.Inc("RA.RevokedCertificates", 1, 1.0)
|
||||
return nil
|
||||
}
|
||||
|
||||
|
|
@ -473,6 +473,6 @@ func (ra *RegistrationAuthorityImpl) OnValidationUpdate(authz core.Authorization
|
|||
return err
|
||||
}
|
||||
|
||||
ra.Stats.Inc("RA.FinalizedAuthorizations", 1, 1.0)
|
||||
ra.stats.Inc("RA.FinalizedAuthorizations", 1, 1.0)
|
||||
return nil
|
||||
}
|
||||
|
|
|
|||
|
|
@ -198,14 +198,14 @@ func initAuthorities(t *testing.T) (*DummyValidationAuthority, *sa.SQLStorageAut
|
|||
|
||||
Registration, _ = ssa.NewRegistration(core.Registration{Key: AccountKeyA})
|
||||
|
||||
ra := NewRegistrationAuthorityImpl()
|
||||
stats, _ := statsd.NewNoopClient()
|
||||
ra := NewRegistrationAuthorityImpl(stats)
|
||||
ra.SA = ssa
|
||||
ra.VA = va
|
||||
ra.CA = &ca
|
||||
ra.PA = pa
|
||||
ra.AuthzBase = "http://acme.invalid/authz/"
|
||||
ra.MaxKeySize = 4096
|
||||
ra.Stats, _ = statsd.NewNoopClient()
|
||||
ra.DNSResolver = &mocks.MockDNS{}
|
||||
|
||||
AuthzInitial.RegistrationID = Registration.ID
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@ type ValidationAuthorityImpl struct {
|
|||
simpleHTTPSPort int
|
||||
dvsniPort int
|
||||
UserAgent string
|
||||
Stats statsd.Statter
|
||||
stats statsd.Statter
|
||||
}
|
||||
|
||||
// PortConfig specifies what ports the VA should call to on the remote
|
||||
|
|
@ -61,7 +61,7 @@ type PortConfig struct {
|
|||
}
|
||||
|
||||
// NewValidationAuthorityImpl constructs a new VA
|
||||
func NewValidationAuthorityImpl(pc *PortConfig) *ValidationAuthorityImpl {
|
||||
func NewValidationAuthorityImpl(pc *PortConfig, stats statsd.Statter) *ValidationAuthorityImpl {
|
||||
logger := blog.GetAuditLogger()
|
||||
logger.Notice("Validation Authority Starting")
|
||||
return &ValidationAuthorityImpl{
|
||||
|
|
@ -69,6 +69,7 @@ func NewValidationAuthorityImpl(pc *PortConfig) *ValidationAuthorityImpl {
|
|||
simpleHTTPPort: pc.SimpleHTTPPort,
|
||||
simpleHTTPSPort: pc.SimpleHTTPSPort,
|
||||
dvsniPort: pc.DVSNIPort,
|
||||
stats: stats,
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -147,8 +148,8 @@ func (va ValidationAuthorityImpl) getAddr(hostname string) (addr net.IP, addrs [
|
|||
va.log.Debug(fmt.Sprintf("%s DNS failure: %s", hostname, err))
|
||||
return
|
||||
}
|
||||
va.Stats.TimingDuration("VA.DNS.RTT.A", rtt, 1.0)
|
||||
va.Stats.Inc("VA.DNS.Rate", 1, 1.0)
|
||||
va.stats.TimingDuration("VA.DNS.RTT.A", rtt, 1.0)
|
||||
va.stats.Inc("VA.DNS.Rate", 1, 1.0)
|
||||
|
||||
if len(addrs) == 0 {
|
||||
problem = &core.ProblemDetails{
|
||||
|
|
@ -533,8 +534,8 @@ func (va *ValidationAuthorityImpl) validateDNS(identifier core.AcmeIdentifier, i
|
|||
// Look for the required record in the DNS
|
||||
challengeSubdomain := fmt.Sprintf("%s.%s", core.DNSPrefix, identifier.Value)
|
||||
txts, rtt, err := va.DNSResolver.LookupTXT(challengeSubdomain)
|
||||
va.Stats.TimingDuration("VA.DNS.RTT.TXT", rtt, 1.0)
|
||||
va.Stats.Inc("VA.DNS.Rate", 1, 1.0)
|
||||
va.stats.TimingDuration("VA.DNS.RTT.TXT", rtt, 1.0)
|
||||
va.stats.Inc("VA.DNS.Rate", 1, 1.0)
|
||||
|
||||
if err != nil {
|
||||
challenge.Status = core.StatusInvalid
|
||||
|
|
@ -585,7 +586,7 @@ func (va *ValidationAuthorityImpl) validate(authz core.Authorization, challengeI
|
|||
case core.ChallengeTypeDNS:
|
||||
authz.Challenges[challengeIndex], err = va.validateDNS(authz.Identifier, authz.Challenges[challengeIndex], accountKey)
|
||||
}
|
||||
va.Stats.TimingDuration(fmt.Sprintf("VA.Validations.%s.%s", authz.Challenges[challengeIndex].Type, authz.Challenges[challengeIndex].Status), time.Since(vStart), 1.0)
|
||||
va.stats.TimingDuration(fmt.Sprintf("VA.Validations.%s.%s", authz.Challenges[challengeIndex].Type, authz.Challenges[challengeIndex].Status), time.Since(vStart), 1.0)
|
||||
|
||||
if err != nil {
|
||||
logEvent.Error = err.Error()
|
||||
|
|
@ -672,8 +673,8 @@ func (va *ValidationAuthorityImpl) getCAASet(hostname string) (*CAASet, error) {
|
|||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
va.Stats.TimingDuration("VA.DNS.RTT.CAA", caaRtt, 1.0)
|
||||
va.Stats.Inc("VA.DNS.Rate", 1, 1.0)
|
||||
va.stats.TimingDuration("VA.DNS.RTT.CAA", caaRtt, 1.0)
|
||||
va.stats.Inc("VA.DNS.Rate", 1, 1.0)
|
||||
if len(CAAs) > 0 {
|
||||
return newCAASet(CAAs), nil
|
||||
}
|
||||
|
|
@ -681,14 +682,14 @@ func (va *ValidationAuthorityImpl) getCAASet(hostname string) (*CAASet, error) {
|
|||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
va.Stats.TimingDuration("VA.DNS.RTT.CNAME", cnameRtt, 1.0)
|
||||
va.Stats.Inc("VA.DNS.Rate", 1, 1.0)
|
||||
va.stats.TimingDuration("VA.DNS.RTT.CNAME", cnameRtt, 1.0)
|
||||
va.stats.Inc("VA.DNS.Rate", 1, 1.0)
|
||||
dname, dnameRtt, err := va.DNSResolver.LookupDNAME(label)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
va.Stats.TimingDuration("VA.DNS.RTT.DNAME", dnameRtt, 1.0)
|
||||
va.Stats.Inc("VA.DNS.Rate", 1, 1.0)
|
||||
va.stats.TimingDuration("VA.DNS.RTT.DNAME", dnameRtt, 1.0)
|
||||
va.stats.Inc("VA.DNS.Rate", 1, 1.0)
|
||||
if cname == "" && dname == "" {
|
||||
// Try parent domain (note we confirmed
|
||||
// earlier that label contains '.')
|
||||
|
|
|
|||
|
|
@ -239,8 +239,8 @@ func TestSimpleHttpTLS(t *testing.T) {
|
|||
|
||||
port, err := getPort(hs)
|
||||
test.AssertNotError(t, err, "failed to get test server port")
|
||||
va := NewValidationAuthorityImpl(&PortConfig{SimpleHTTPSPort: port})
|
||||
va.Stats, _ = statsd.NewNoopClient()
|
||||
stats, _ := statsd.NewNoopClient()
|
||||
va := NewValidationAuthorityImpl(&PortConfig{SimpleHTTPSPort: port}, stats)
|
||||
va.DNSResolver = &mocks.MockDNS{}
|
||||
|
||||
log.Clear()
|
||||
|
|
@ -275,8 +275,8 @@ func TestSimpleHttp(t *testing.T) {
|
|||
if badPort == 65536 {
|
||||
badPort = goodPort - 1
|
||||
}
|
||||
va := NewValidationAuthorityImpl(&PortConfig{SimpleHTTPPort: badPort})
|
||||
va.Stats, _ = statsd.NewNoopClient()
|
||||
stats, _ := statsd.NewNoopClient()
|
||||
va := NewValidationAuthorityImpl(&PortConfig{SimpleHTTPPort: badPort}, stats)
|
||||
va.DNSResolver = &mocks.MockDNS{}
|
||||
|
||||
invalidChall, err := va.validateSimpleHTTP(ident, chall, AccountKey)
|
||||
|
|
@ -284,8 +284,7 @@ func TestSimpleHttp(t *testing.T) {
|
|||
test.AssertError(t, err, "Server's down; expected refusal. Where did we connect?")
|
||||
test.AssertEquals(t, invalidChall.Error.Type, core.ConnectionProblem)
|
||||
|
||||
va = NewValidationAuthorityImpl(&PortConfig{SimpleHTTPPort: goodPort})
|
||||
va.Stats, _ = statsd.NewNoopClient()
|
||||
va = NewValidationAuthorityImpl(&PortConfig{SimpleHTTPPort: goodPort}, stats)
|
||||
va.DNSResolver = &mocks.MockDNS{}
|
||||
log.Clear()
|
||||
finChall, err := va.validateSimpleHTTP(ident, chall, AccountKey)
|
||||
|
|
@ -357,8 +356,8 @@ func TestSimpleHttpRedirectLookup(t *testing.T) {
|
|||
defer hs.Close()
|
||||
port, err := getPort(hs)
|
||||
test.AssertNotError(t, err, "failed to get test server port")
|
||||
va := NewValidationAuthorityImpl(&PortConfig{SimpleHTTPPort: port})
|
||||
va.Stats, _ = statsd.NewNoopClient()
|
||||
stats, _ := statsd.NewNoopClient()
|
||||
va := NewValidationAuthorityImpl(&PortConfig{SimpleHTTPPort: port}, stats)
|
||||
va.DNSResolver = &mocks.MockDNS{}
|
||||
|
||||
log.Clear()
|
||||
|
|
@ -414,8 +413,8 @@ func TestSimpleHttpRedirectLoop(t *testing.T) {
|
|||
defer hs.Close()
|
||||
port, err := getPort(hs)
|
||||
test.AssertNotError(t, err, "failed to get test server port")
|
||||
va := NewValidationAuthorityImpl(&PortConfig{SimpleHTTPPort: port})
|
||||
va.Stats, _ = statsd.NewNoopClient()
|
||||
stats, _ := statsd.NewNoopClient()
|
||||
va := NewValidationAuthorityImpl(&PortConfig{SimpleHTTPPort: port}, stats)
|
||||
va.DNSResolver = &mocks.MockDNS{}
|
||||
|
||||
log.Clear()
|
||||
|
|
@ -448,8 +447,8 @@ func TestDvsni(t *testing.T) {
|
|||
port, err := getPort(hs)
|
||||
test.AssertNotError(t, err, "failed to get test server port")
|
||||
|
||||
va := NewValidationAuthorityImpl(&PortConfig{DVSNIPort: port})
|
||||
va.Stats, _ = statsd.NewNoopClient()
|
||||
stats, _ := statsd.NewNoopClient()
|
||||
va := NewValidationAuthorityImpl(&PortConfig{DVSNIPort: port}, stats)
|
||||
|
||||
va.DNSResolver = &mocks.MockDNS{}
|
||||
|
||||
|
|
@ -509,8 +508,8 @@ func TestTLSError(t *testing.T) {
|
|||
|
||||
port, err := getPort(hs)
|
||||
test.AssertNotError(t, err, "failed to get test server port")
|
||||
va := NewValidationAuthorityImpl(&PortConfig{DVSNIPort: port})
|
||||
va.Stats, _ = statsd.NewNoopClient()
|
||||
stats, _ := statsd.NewNoopClient()
|
||||
va := NewValidationAuthorityImpl(&PortConfig{DVSNIPort: port}, stats)
|
||||
va.DNSResolver = &mocks.MockDNS{}
|
||||
|
||||
invalidChall, err := va.validateDvsni(ident, chall, AccountKey)
|
||||
|
|
@ -528,8 +527,8 @@ func TestValidateHTTP(t *testing.T) {
|
|||
hs := simpleSrv(t, challHTTP.Token, tls)
|
||||
port, err := getPort(hs)
|
||||
test.AssertNotError(t, err, "failed to get test server port")
|
||||
va := NewValidationAuthorityImpl(&PortConfig{SimpleHTTPPort: port})
|
||||
va.Stats, _ = statsd.NewNoopClient()
|
||||
stats, _ := statsd.NewNoopClient()
|
||||
va := NewValidationAuthorityImpl(&PortConfig{SimpleHTTPPort: port}, stats)
|
||||
va.DNSResolver = &mocks.MockDNS{}
|
||||
mockRA := &MockRegistrationAuthority{}
|
||||
va.RA = mockRA
|
||||
|
|
@ -574,8 +573,8 @@ func TestValidateDvsni(t *testing.T) {
|
|||
port, err := getPort(hs)
|
||||
test.AssertNotError(t, err, "failed to get test server port")
|
||||
|
||||
va := NewValidationAuthorityImpl(&PortConfig{DVSNIPort: port})
|
||||
va.Stats, _ = statsd.NewNoopClient()
|
||||
stats, _ := statsd.NewNoopClient()
|
||||
va := NewValidationAuthorityImpl(&PortConfig{DVSNIPort: port}, stats)
|
||||
va.DNSResolver = &mocks.MockDNS{}
|
||||
mockRA := &MockRegistrationAuthority{}
|
||||
va.RA = mockRA
|
||||
|
|
@ -592,8 +591,8 @@ func TestValidateDvsni(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestValidateDvsniNotSane(t *testing.T) {
|
||||
va := NewValidationAuthorityImpl(&PortConfig{}) // no calls made
|
||||
va.Stats, _ = statsd.NewNoopClient()
|
||||
stats, _ := statsd.NewNoopClient()
|
||||
va := NewValidationAuthorityImpl(&PortConfig{}, stats) // no calls made
|
||||
va.DNSResolver = &mocks.MockDNS{}
|
||||
mockRA := &MockRegistrationAuthority{}
|
||||
va.RA = mockRA
|
||||
|
|
@ -614,8 +613,8 @@ func TestValidateDvsniNotSane(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestUpdateValidations(t *testing.T) {
|
||||
va := NewValidationAuthorityImpl(&PortConfig{})
|
||||
va.Stats, _ = statsd.NewNoopClient()
|
||||
stats, _ := statsd.NewNoopClient()
|
||||
va := NewValidationAuthorityImpl(&PortConfig{}, stats)
|
||||
va.DNSResolver = &mocks.MockDNS{}
|
||||
mockRA := &MockRegistrationAuthority{}
|
||||
va.RA = mockRA
|
||||
|
|
@ -670,8 +669,8 @@ func TestCAAChecking(t *testing.T) {
|
|||
// CNAME to critical
|
||||
}
|
||||
|
||||
va := NewValidationAuthorityImpl(&PortConfig{})
|
||||
va.Stats, _ = statsd.NewNoopClient()
|
||||
stats, _ := statsd.NewNoopClient()
|
||||
va := NewValidationAuthorityImpl(&PortConfig{}, stats)
|
||||
va.DNSResolver = &mocks.MockDNS{}
|
||||
va.IssuerDomain = "letsencrypt.org"
|
||||
for _, caaTest := range tests {
|
||||
|
|
@ -703,8 +702,8 @@ func TestCAAChecking(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestDNSValidationFailure(t *testing.T) {
|
||||
va := NewValidationAuthorityImpl(&PortConfig{})
|
||||
va.Stats, _ = statsd.NewNoopClient()
|
||||
stats, _ := statsd.NewNoopClient()
|
||||
va := NewValidationAuthorityImpl(&PortConfig{}, stats)
|
||||
va.DNSResolver = &mocks.MockDNS{}
|
||||
mockRA := &MockRegistrationAuthority{}
|
||||
va.RA = mockRA
|
||||
|
|
@ -740,8 +739,8 @@ func TestDNSValidationInvalid(t *testing.T) {
|
|||
Challenges: []core.Challenge{chalDNS},
|
||||
}
|
||||
|
||||
va := NewValidationAuthorityImpl(&PortConfig{})
|
||||
va.Stats, _ = statsd.NewNoopClient()
|
||||
stats, _ := statsd.NewNoopClient()
|
||||
va := NewValidationAuthorityImpl(&PortConfig{}, stats)
|
||||
va.DNSResolver = &mocks.MockDNS{}
|
||||
mockRA := &MockRegistrationAuthority{}
|
||||
va.RA = mockRA
|
||||
|
|
@ -754,8 +753,8 @@ func TestDNSValidationInvalid(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestDNSValidationNotSane(t *testing.T) {
|
||||
va := NewValidationAuthorityImpl(&PortConfig{})
|
||||
va.Stats, _ = statsd.NewNoopClient()
|
||||
stats, _ := statsd.NewNoopClient()
|
||||
va := NewValidationAuthorityImpl(&PortConfig{}, stats)
|
||||
va.DNSResolver = &mocks.MockDNS{}
|
||||
mockRA := &MockRegistrationAuthority{}
|
||||
va.RA = mockRA
|
||||
|
|
@ -785,8 +784,8 @@ func TestDNSValidationNotSane(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestDNSValidationServFail(t *testing.T) {
|
||||
va := NewValidationAuthorityImpl(&PortConfig{})
|
||||
va.Stats, _ = statsd.NewNoopClient()
|
||||
stats, _ := statsd.NewNoopClient()
|
||||
va := NewValidationAuthorityImpl(&PortConfig{}, stats)
|
||||
va.DNSResolver = &mocks.MockDNS{}
|
||||
mockRA := &MockRegistrationAuthority{}
|
||||
va.RA = mockRA
|
||||
|
|
@ -811,8 +810,8 @@ func TestDNSValidationServFail(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestDNSValidationNoServer(t *testing.T) {
|
||||
va := NewValidationAuthorityImpl(&PortConfig{})
|
||||
va.Stats, _ = statsd.NewNoopClient()
|
||||
stats, _ := statsd.NewNoopClient()
|
||||
va := NewValidationAuthorityImpl(&PortConfig{}, stats)
|
||||
va.DNSResolver = core.NewDNSResolverImpl(time.Second*5, []string{})
|
||||
mockRA := &MockRegistrationAuthority{}
|
||||
va.RA = mockRA
|
||||
|
|
@ -836,8 +835,8 @@ func TestDNSValidationNoServer(t *testing.T) {
|
|||
// the existance of some Internet resources. Because of that,
|
||||
// it asserts nothing; it is intended for coverage.
|
||||
func TestDNSValidationLive(t *testing.T) {
|
||||
va := NewValidationAuthorityImpl(&PortConfig{})
|
||||
va.Stats, _ = statsd.NewNoopClient()
|
||||
stats, _ := statsd.NewNoopClient()
|
||||
va := NewValidationAuthorityImpl(&PortConfig{}, stats)
|
||||
va.DNSResolver = &mocks.MockDNS{}
|
||||
mockRA := &MockRegistrationAuthority{}
|
||||
va.RA = mockRA
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ const (
|
|||
type WebFrontEndImpl struct {
|
||||
RA core.RegistrationAuthority
|
||||
SA core.StorageGetter
|
||||
Stats statsd.Statter
|
||||
stats statsd.Statter
|
||||
log *blog.AuditLogger
|
||||
|
||||
// URL configuration parameters
|
||||
|
|
@ -112,7 +112,7 @@ type requestEvent struct {
|
|||
}
|
||||
|
||||
// NewWebFrontEndImpl constructs a web service for Boulder
|
||||
func NewWebFrontEndImpl() (WebFrontEndImpl, error) {
|
||||
func NewWebFrontEndImpl(stats statsd.Statter) (WebFrontEndImpl, error) {
|
||||
logger := blog.GetAuditLogger()
|
||||
logger.Notice("Web Front End Starting")
|
||||
|
||||
|
|
@ -124,6 +124,7 @@ func NewWebFrontEndImpl() (WebFrontEndImpl, error) {
|
|||
return WebFrontEndImpl{
|
||||
log: logger,
|
||||
nonceService: nonceService,
|
||||
stats: stats,
|
||||
}, nil
|
||||
}
|
||||
|
||||
|
|
@ -419,10 +420,10 @@ func (wfe *WebFrontEndImpl) sendError(response http.ResponseWriter, msg string,
|
|||
response.WriteHeader(code)
|
||||
response.Write(problemDoc)
|
||||
|
||||
wfe.Stats.Inc(fmt.Sprintf("WFE.HTTP.ErrorCodes.%d", code), 1, 1.0)
|
||||
wfe.stats.Inc(fmt.Sprintf("WFE.HTTP.ErrorCodes.%d", code), 1, 1.0)
|
||||
problemSegments := strings.Split(string(problem.Type), ":")
|
||||
if len(problemSegments) > 0 {
|
||||
wfe.Stats.Inc(fmt.Sprintf("WFE.HTTP.ProblemTypes.%s", problemSegments[len(problemSegments)-1]), 1, 1.0)
|
||||
wfe.stats.Inc(fmt.Sprintf("WFE.HTTP.ProblemTypes.%s", problemSegments[len(problemSegments)-1]), 1, 1.0)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -334,7 +334,8 @@ func signRequest(t *testing.T, req string, nonceService *core.NonceService) stri
|
|||
}
|
||||
|
||||
func setupWFE(t *testing.T) WebFrontEndImpl {
|
||||
wfe, err := NewWebFrontEndImpl()
|
||||
stats, _ := statsd.NewNoopClient()
|
||||
wfe, err := NewWebFrontEndImpl(stats)
|
||||
test.AssertNotError(t, err, "Unable to create WFE")
|
||||
|
||||
wfe.NewReg = wfe.BaseURL + NewRegPath
|
||||
|
|
@ -346,8 +347,6 @@ func setupWFE(t *testing.T) WebFrontEndImpl {
|
|||
wfe.SubscriberAgreementURL = agreementURL
|
||||
wfe.log.SyslogWriter = mocks.NewSyslogWriter()
|
||||
|
||||
wfe.Stats, _ = statsd.NewNoopClient()
|
||||
|
||||
return wfe
|
||||
}
|
||||
|
||||
|
|
@ -514,10 +513,10 @@ func TestIssueCertificate(t *testing.T) {
|
|||
mockLog := wfe.log.SyslogWriter.(*mocks.MockSyslogWriter)
|
||||
|
||||
// TODO: Use a mock RA so we can test various conditions of authorized, not authorized, etc.
|
||||
ra := ra.NewRegistrationAuthorityImpl()
|
||||
stats, _ := statsd.NewNoopClient(nil)
|
||||
ra := ra.NewRegistrationAuthorityImpl(stats)
|
||||
ra.SA = &MockSA{}
|
||||
ra.CA = &MockCA{}
|
||||
ra.Stats, _ = statsd.NewNoopClient()
|
||||
wfe.SA = &MockSA{}
|
||||
wfe.RA = &ra
|
||||
responseWriter := httptest.NewRecorder()
|
||||
|
|
@ -1175,7 +1174,6 @@ func TestTermsRedirect(t *testing.T) {
|
|||
|
||||
wfe.RA = &MockRegistrationAuthority{}
|
||||
wfe.SA = &MockSA{}
|
||||
wfe.Stats, _ = statsd.NewNoopClient()
|
||||
wfe.SubscriberAgreementURL = agreementURL
|
||||
|
||||
responseWriter := httptest.NewRecorder()
|
||||
|
|
|
|||
Loading…
Reference in New Issue