Problem:
TestValidate_ValidConfig and TestValidate_AuthTypeNone construct a
SchedulerConfig without RetryInterval, so Validate() fails the
'retry interval must be at least 1 second' check at config.go:1086
with 'retry interval must be at least 1 second'. Both tests expect
success, so they fail whenever run.
Root cause (re-derived from source, not inherited from memory):
git log -S 'retry interval must be at least' --source --all shows
the validation was introduced in 0200c7f (I-001, RetryFailedJobs
scheduler wiring). git log -- internal/config/config_test.go shows
the test file was last touched in 7382e5f, which predates 0200c7f.
I-001 added a new Validate() rule without updating the two positive
test fixtures — a gap in I-001's verification pass.
This is NOT C-001 fallout. The config_test.go file was untouched by
the C-001 closure commits 91642e2 and 4696116. The failure surfaced
during the full test suite run after C-001 landed because no one
had run 'go test ./internal/config/...' since I-001.
Scope:
- internal/config/config_test.go (2 fixtures: TestValidate_ValidConfig,
TestValidate_AuthTypeNone).
Implementation:
Added 'RetryInterval: 5 * time.Minute' to both SchedulerConfig
literals. 5 minutes matches the I-001 default at config.go:818:
RetryInterval: getEnvDuration("CERTCTL_SCHEDULER_RETRY_INTERVAL", 5*time.Minute)
The other two TestValidate_* tests (InvalidAuthType, APIKeyAuth_
MissingSecret) are unaffected because they expect Validate() to
error at the auth-type check (line 1052) or auth-secret check
(line 1057), both of which fire before the RetryInterval check at
line 1086.
Verification:
- go test -count=1 -run 'TestValidate_' ./internal/config/...: PASS
- go test -short -count=1 ./...: all packages PASS
- go vet ./...: exit 0
Residual:
None. This is a pure test-fixture fix — production code is unchanged.
Commit:
0200c7f (I-001) should have included this edit. Attributed here for
traceability.
Close coverage gaps identified by dual-audit (qualitative + quantitative).
New test files for config (0%→98%), router (0%→100%), handler validation,
health, audit, response helpers, webhook notifier (0%→88%), email notifier,
middleware (recovery, rate limiter), domain profile, service nil-safety,
config helpers, issuer bootstrap, and server bootstrap wiring. Expanded
existing tests for ACME (34%→42%), step-ca (42%→52%), F5, SSH, agent
(43%→63%), scheduler (88%→99%), renewal service, and issuerfactory.
All tests pass: go test -short, go vet, go test -race clean.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>