mirror of
https://github.com/aclindsa/moneygo.git
synced 2024-11-01 00:10:06 -04:00
93 lines
2.7 KiB
Go
93 lines
2.7 KiB
Go
|
package config_test
|
||
|
|
||
|
import (
|
||
|
"github.com/aclindsa/moneygo/internal/config"
|
||
|
"testing"
|
||
|
)
|
||
|
|
||
|
func TestSqliteHTTPSConfig(t *testing.T) {
|
||
|
cfg, err := config.ReadConfig("./testdata/sqlite_https_config.ini")
|
||
|
if err != nil {
|
||
|
t.Fatalf("Unexpected error parsing config: %s\n", err)
|
||
|
}
|
||
|
|
||
|
if cfg.MoneyGo.Fcgi {
|
||
|
t.Errorf("MoneyGo.Fcgi unexpectedly true")
|
||
|
}
|
||
|
if cfg.MoneyGo.Port != 8443 {
|
||
|
t.Errorf("MoneyGo.Port %d instead of 8443", cfg.MoneyGo.Port)
|
||
|
}
|
||
|
if cfg.MoneyGo.Basedir != "src/github.com/aclindsa/moneygo/" {
|
||
|
t.Errorf("MoneyGo.Basedir not correct")
|
||
|
}
|
||
|
if cfg.MoneyGo.DBType != config.SQLite {
|
||
|
t.Errorf("MoneyGo.DBType not config.SQLite")
|
||
|
}
|
||
|
if cfg.MoneyGo.DSN != "file:moneygo.sqlite?cache=shared&mode=rwc" {
|
||
|
t.Errorf("MoneyGo.DSN not correct")
|
||
|
}
|
||
|
|
||
|
if cfg.Https.CertFile != "./cert.pem" {
|
||
|
t.Errorf("Https.CertFile '%s', not ./cert.pem", cfg.Https.CertFile)
|
||
|
}
|
||
|
if cfg.Https.KeyFile != "./key.pem" {
|
||
|
t.Errorf("Https.KeyFile '%s', not ./key.pem", cfg.Https.KeyFile)
|
||
|
}
|
||
|
if cfg.Https.GenerateCerts {
|
||
|
t.Errorf("Https.GenerateCerts not false")
|
||
|
}
|
||
|
if cfg.Https.GenerateCertsHosts != "localhost,127.0.0.1" {
|
||
|
t.Errorf("Https.GenerateCertsHosts '%s', not localhost", cfg.Https.GenerateCertsHosts)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func TestPostgresFcgiConfig(t *testing.T) {
|
||
|
cfg, err := config.ReadConfig("./testdata/postgres_fcgi_config.ini")
|
||
|
if err != nil {
|
||
|
t.Fatalf("Unexpected error parsing config: %s\n", err)
|
||
|
}
|
||
|
|
||
|
if !cfg.MoneyGo.Fcgi {
|
||
|
t.Errorf("MoneyGo.Fcgi unexpectedly false")
|
||
|
}
|
||
|
if cfg.MoneyGo.Port != 9001 {
|
||
|
t.Errorf("MoneyGo.Port %d instead of 9001", cfg.MoneyGo.Port)
|
||
|
}
|
||
|
if cfg.MoneyGo.Basedir != "src/github.com/aclindsa/moneygo/" {
|
||
|
t.Errorf("MoneyGo.Basedir not correct")
|
||
|
}
|
||
|
if cfg.MoneyGo.DBType != config.Postgres {
|
||
|
t.Errorf("MoneyGo.DBType not config.Postgres")
|
||
|
}
|
||
|
if cfg.MoneyGo.DSN != "postgres://moneygo_test@localhost/moneygo_test?sslmode=disable" {
|
||
|
t.Errorf("MoneyGo.DSN not correct")
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func TestGenerateCertsConfig(t *testing.T) {
|
||
|
cfg, err := config.ReadConfig("./testdata/generate_certs_config.ini")
|
||
|
if err != nil {
|
||
|
t.Fatalf("Unexpected error parsing config: %s\n", err)
|
||
|
}
|
||
|
|
||
|
if cfg.Https.CertFile != "./local_cert.pem" {
|
||
|
t.Errorf("Https.CertFile '%s', not ./local_cert.pem", cfg.Https.CertFile)
|
||
|
}
|
||
|
if cfg.Https.KeyFile != "./local_key.pem" {
|
||
|
t.Errorf("Https.KeyFile '%s', not ./local_key.pem", cfg.Https.KeyFile)
|
||
|
}
|
||
|
if !cfg.Https.GenerateCerts {
|
||
|
t.Errorf("Https.GenerateCerts not true")
|
||
|
}
|
||
|
if cfg.Https.GenerateCertsHosts != "example.com" {
|
||
|
t.Errorf("Https.GenerateCertsHosts '%s', not example.com", cfg.Https.GenerateCertsHosts)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func TestNonexistentConfig(t *testing.T) {
|
||
|
cfg, err := config.ReadConfig("./testdata/nonexistent_config.ini")
|
||
|
if err == nil || cfg != nil {
|
||
|
t.Fatalf("Expected error parsing nonexistent config")
|
||
|
}
|
||
|
}
|