45 lines
1.3 KiB
Go
45 lines
1.3 KiB
Go
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")
|
|
}
|
|
}
|