57 lines
2.1 KiB
Go
57 lines
2.1 KiB
Go
package satest
|
|
|
|
import (
|
|
"encoding/json"
|
|
"net"
|
|
"testing"
|
|
"time"
|
|
|
|
jose "github.com/letsencrypt/boulder/Godeps/_workspace/src/github.com/letsencrypt/go-jose"
|
|
"github.com/letsencrypt/boulder/core"
|
|
)
|
|
|
|
var theKey = `{
|
|
"kty": "RSA",
|
|
"n": "n4EPtAOCc9AlkeQHPzHStgAbgs7bTZLwUBZdR8_KuKPEHLd4rHVTeT-O-XV2jRojdNhxJWTDvNd7nqQ0VEiZQHz_AJmSCpMaJMRBSFKrKb2wqVwGU_NsYOYL-QtiWN2lbzcEe6XC0dApr5ydQLrHqkHHig3RBordaZ6Aj-oBHqFEHYpPe7Tpe-OfVfHd1E6cS6M1FZcD1NNLYD5lFHpPI9bTwJlsde3uhGqC0ZCuEHg8lhzwOHrtIQbS0FVbb9k3-tVTU4fg_3L_vniUFAKwuCLqKnS2BYwdq_mzSnbLY7h_qixoR7jig3__kRhuaxwUkRz5iaiQkqgc5gHdrNP5zw",
|
|
"e": "AQAB"
|
|
}`
|
|
|
|
// GoodJWK returns a known-good JsonWebKey that is always the
|
|
// same. This a hack to allow both the CA and SA tests to benefit
|
|
// because the CA tests currently require a full-fledged
|
|
// SQLSAImpl. Long term, when the CA tests no longer need
|
|
// CreateWorkingRegistration, this and CreateWorkingRegistration can
|
|
// be pushed back into the SA tests proper.
|
|
func GoodJWK() jose.JsonWebKey {
|
|
var jwk jose.JsonWebKey
|
|
err := json.Unmarshal([]byte(theKey), &jwk)
|
|
if err != nil {
|
|
panic("known-good theKey is no longer known-good")
|
|
}
|
|
return jwk
|
|
}
|
|
|
|
// CreateWorkingRegistration inserts a new, correct Registration into
|
|
// SA using GoodKey under the hood. This a hack to allow both the CA
|
|
// and SA tests to benefit because the CA tests currently require a
|
|
// full-fledged SQLSAImpl. Long term, when the CA tests no longer need
|
|
// CreateWorkingRegistration, this and CreateWorkingRegistration can
|
|
// be pushed back into the SA tests proper.
|
|
func CreateWorkingRegistration(t *testing.T, sa core.StorageAuthority) core.Registration {
|
|
contact, err := core.ParseAcmeURL("mailto:foo@example.com")
|
|
if err != nil {
|
|
t.Fatalf("unable to parse contact link: %s", err)
|
|
}
|
|
contacts := []*core.AcmeURL{contact}
|
|
reg, err := sa.NewRegistration(core.Registration{
|
|
Key: GoodJWK(),
|
|
Contact: contacts,
|
|
InitialIP: net.ParseIP("88.77.66.11"),
|
|
CreatedAt: time.Date(2003, 5, 10, 0, 0, 0, 0, time.UTC),
|
|
})
|
|
if err != nil {
|
|
t.Fatalf("Unable to create new registration: %s", err)
|
|
}
|
|
return reg
|
|
}
|