| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- package certs
- import (
- "testing"
- "time"
- )
- func TestRenewalCandidatesExcludeFreshAndUnmanagedCertificates(t *testing.T) {
- now := time.Now()
- m := &CertManager{certs: map[string]*CertificateInfo{
- "due": {Type: TypeACME, ValidTo: now.Add(29 * 24 * time.Hour), ACMERequest: &LetsEncryptRequest{Name: "due", Domain: "example.com"}},
- "fresh": {Type: TypeACME, ValidTo: now.Add(60 * 24 * time.Hour), ACMERequest: &LetsEncryptRequest{Name: "fresh"}},
- "unmanaged": {Type: TypeACME, ValidTo: now.Add(time.Hour)},
- }}
- candidates := m.renewCandidates(now)
- if len(candidates) != 1 || candidates[0].Name != "due" || !candidates[0].renew {
- t.Fatal(candidates)
- }
- }
- func TestACMEAccountKeyIsReused(t *testing.T) {
- m := &CertManager{dir: t.TempDir()}
- first, err := m.acmeAccountKey(false)
- if err != nil {
- t.Fatal(err)
- }
- second, err := m.acmeAccountKey(false)
- if err != nil {
- t.Fatal(err)
- }
- if !first.Equal(second) {
- t.Fatal("ACME account key changed between requests")
- }
- staging, err := m.acmeAccountKey(true)
- if err != nil {
- t.Fatal(err)
- }
- if first.Equal(staging) {
- t.Fatal("production and staging shared account key")
- }
- }
|