Files
silo-server/internal/config/db_loader_test.go
T

36 lines
1.0 KiB
Go

package config
import (
"strings"
"testing"
"time"
)
func TestLoadFromDBMetadataPresignExpiry(t *testing.T) {
cfg, err := LoadFromDB(map[string]string{})
if err != nil {
t.Fatalf("LoadFromDB() returned error: %v", err)
}
if cfg.S3.MetadataPresignExpiry != 4*time.Hour {
t.Fatalf("default metadata presign expiry = %s, want 4h", cfg.S3.MetadataPresignExpiry)
}
cfg, err = LoadFromDB(map[string]string{"s3.metadata_presign_expiry": "90m"})
if err != nil {
t.Fatalf("LoadFromDB() with metadata expiry returned error: %v", err)
}
if cfg.S3.MetadataPresignExpiry != 90*time.Minute {
t.Fatalf("configured metadata presign expiry = %s, want 90m", cfg.S3.MetadataPresignExpiry)
}
}
func TestLoadFromDBMetadataPresignExpiryRejectsInvalidDuration(t *testing.T) {
_, err := LoadFromDB(map[string]string{"s3.metadata_presign_expiry": "soon"})
if err == nil {
t.Fatal("LoadFromDB() error = nil, want invalid duration error")
}
if !strings.Contains(err.Error(), "s3.metadata_presign_expiry") {
t.Fatalf("LoadFromDB() error = %v, want key name", err)
}
}