package config import "testing" func TestDefaultConfigUsesOlonsAdmin(t *testing.T) { cfg := defaultConfig() if err := cfg.validate(); err != nil { t.Fatal(err) } } func TestConfigRejectsOtherDatabase(t *testing.T) { cfg := defaultConfig() cfg.MySQL.DSN = "root:root@tcp(127.0.0.1:3306)/other_database?parseTime=true" if err := cfg.validate(); err == nil { t.Fatal("expected non-olons_admin database to be rejected") } } func TestApplyUploadSystemConfig(t *testing.T) { cfg := UploadConfig{Driver: "local", Region: "us-east-1"} ApplyUploadSystemConfig(&cfg, map[string]string{ "uploadDrive": "minio", "uploadMinioAccessKey": "access", "uploadMinioSecretKey": "secret", "uploadMinioEndpoint": "minio.example.com", "uploadMinioUseSSL": "1", "uploadMinioPath": "images/", "uploadMinioBucket": "bucket", "uploadMinioDomain": "https://cdn.example.com", }) if err := ValidateUpload(cfg); err != nil { t.Fatal(err) } if cfg.Driver != "minio" || !cfg.Secure || cfg.Bucket != "bucket" || cfg.Path != "images/" { t.Fatalf("unexpected upload config: %+v", cfg) } } func TestValidateUploadRejectsIncompleteMinio(t *testing.T) { if err := ValidateUpload(UploadConfig{Driver: "minio"}); err == nil { t.Fatal("expected incomplete minio config to be rejected") } }