Files
silo-server/internal/config/db_loader_test.go
T
339ed20074 fix(audiobooks): improve poster enrichment throughput (#94)
* fix(audiobooks): improve poster enrichment throughput

* fix(audiobooks): enable ABS compat by default

* chore(audiobooks): remove stale feature flag setting

* fix(audiobooks): validate scoped scan roots

---------

Co-authored-by: rxwatcher <rxwatcher@users.noreply.github.com>
2026-06-08 18:17:08 -04:00

62 lines
2.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)
}
}
func TestLoadFromDBAudiobookshelfCompatFlagGatesCompatListener(t *testing.T) {
cfg, err := LoadFromDB(map[string]string{})
if err != nil {
t.Fatalf("LoadFromDB() returned error: %v", err)
}
if cfg.AudiobookshelfCompat.Listen != ":13378" {
t.Fatalf("default audiobooks listener = %q, want default :13378", cfg.AudiobookshelfCompat.Listen)
}
cfg, err = LoadFromDB(map[string]string{"audiobookshelf_compat.enabled": "false"})
if err != nil {
t.Fatalf("LoadFromDB() returned error: %v", err)
}
if cfg.AudiobookshelfCompat.Listen != "" {
t.Fatalf("disabled audiobooks listener = %q, want empty", cfg.AudiobookshelfCompat.Listen)
}
cfg, err = LoadFromDB(map[string]string{"audiobookshelf_compat.enabled": "true"})
if err != nil {
t.Fatalf("LoadFromDB() returned error: %v", err)
}
if cfg.AudiobookshelfCompat.Listen != ":13378" {
t.Fatalf("enabled audiobooks listener = %q, want default :13378", cfg.AudiobookshelfCompat.Listen)
}
}