config_test.go
⎇
Raw
1package config
2
3import "testing"
4
5func TestLoadRequiresCredentials(t *testing.T) {
6 t.Setenv("PHYSIOBASE_USERNAME", "")
7 t.Setenv("PHYSIOBASE_PASSWORD_HASH", "")
8 if _, err := Load(); err == nil {
9 t.Fatal("Start ohne Zugangsdaten darf nicht gehen")
10 }
11 t.Setenv("PHYSIOBASE_USERNAME", "admin")
12 t.Setenv("PHYSIOBASE_PASSWORD_HASH", "klartext")
13 if _, err := Load(); err == nil {
14 t.Fatal("Klartext-Passwort darf nicht akzeptiert werden")
15 }
16 t.Setenv("PHYSIOBASE_PASSWORD_HASH", "$2a$12$abcdefghijklmnopqrstuv")
17 t.Setenv("PHYSIOBASE_DATA_DIR", "/x")
18 c, err := Load()
19 if err != nil {
20 t.Fatal(err)
21 }
22 if c.DBPath != "/x/physiobase.db" || c.MediaDir != "/x/medien" || c.Port != 8080 {
23 t.Errorf("Defaults falsch: %+v", c)
24 }
25}
26