36 lines
1.0 KiB
Go
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)
|
|
}
|
|
}
|