DoH через DoWithRetry; CDN preview через UpstreamHTTPDo; частичный fail CDN (EVOBGP_CDN_PARTIAL_OK); безопасный доступ к Job.Meta; drain jobs при SIGTERM; ValidateProductionEnforce при EVOBGP_PRODUCTION=1. Co-authored-by: Cursor <[email protected]>
32 lines
929 B
Go
32 lines
929 B
Go
package config
|
|
|
|
import "testing"
|
|
|
|
func TestValidateProductionEnforce(t *testing.T) {
|
|
t.Setenv("EVOBGP_PRODUCTION", "")
|
|
t.Setenv("EVOBGP_ENV", "")
|
|
if err := ValidateProductionEnforce(); err != nil {
|
|
t.Fatalf("non-production: %v", err)
|
|
}
|
|
|
|
t.Setenv("EVOBGP_PRODUCTION", "1")
|
|
t.Setenv("EVOBGP_SEED_DEMO", "1")
|
|
t.Setenv("EVOBGP_BUNDLE_SEED_HEX", "abcd")
|
|
t.Setenv("EVOBGP_DEV_INSECURE", "")
|
|
t.Setenv("EVOBGP_CDN_ALLOW_PRIVATE", "")
|
|
if err := ValidateProductionEnforce(); err == nil {
|
|
t.Fatal("expected error for SEED_DEMO!=0")
|
|
}
|
|
|
|
t.Setenv("EVOBGP_SEED_DEMO", "0")
|
|
t.Setenv("EVOBGP_BUNDLE_SEED_HEX", "")
|
|
if err := ValidateProductionEnforce(); err == nil {
|
|
t.Fatal("expected error for missing BUNDLE_SEED_HEX")
|
|
}
|
|
|
|
t.Setenv("EVOBGP_BUNDLE_SEED_HEX", "bd8fbcd31545aacfdd228203beca8e945ab9a752f2ce5624cf42d9f316389a9d")
|
|
if err := ValidateProductionEnforce(); err != nil {
|
|
t.Fatalf("valid production: %v", err)
|
|
}
|
|
}
|