feat: schedule persistent archive jobs with console management
This commit is contained in:
@@ -65,3 +65,28 @@ func TestMetricsAddressIsExplicitAndValidated(t *testing.T) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestArchiveRuntimeRequiresBoundedPersistentVolumeConfig(t *testing.T) {
|
||||
base := map[string]string{"ORBIT_MYSQL_DSN": "test"}
|
||||
get := func(k string) string { return base[k] }
|
||||
cfg, err := FromEnv(get)
|
||||
if err != nil || cfg.ArchiveRoot != "" || cfg.ArchiveMaxBytes != 10<<30 {
|
||||
t.Fatal(cfg, err)
|
||||
}
|
||||
base["ORBIT_ARCHIVE_ROOT"] = "/private/archive"
|
||||
if _, err = FromEnv(get); err == nil {
|
||||
t.Fatal("missing volume identity accepted")
|
||||
}
|
||||
base["ORBIT_ARCHIVE_STORAGE_ID"] = "11111111111111111111111111111111"
|
||||
if _, err = FromEnv(get); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
for k, v := range map[string]string{"ORBIT_ARCHIVE_MAX_BYTES": "0", "ORBIT_ARCHIVE_TICK_INTERVAL": "100ms", "ORBIT_ARCHIVE_ROOT": "relative", "ORBIT_ARCHIVE_STORAGE_ID": "not-an-id"} {
|
||||
old := base[k]
|
||||
base[k] = v
|
||||
if _, err = FromEnv(get); err == nil {
|
||||
t.Fatal("bad archive config", k)
|
||||
}
|
||||
base[k] = old
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user