DB640/internal/config/config_test.go

51 lines
1.4 KiB
Go

package config
import (
"os"
"path/filepath"
"testing"
)
func TestLoadConfigNonExistent(t *testing.T) {
err := LoadConfig(filepath.Join("..", "..", "test", "data", "doesnotexist.toml"))
if err != nil {
t.Errorf("Cannot write defaults, error: %+v", err)
}
}
func TestWriteConfig(t *testing.T) {
C.Twitter.AccessKey = "§OneNiceKey"
C.Twitter.AccessSecret = "SuperNiceSecret"
C.Twitter.ConsumerKey = "ConsumeMe"
C.Twitter.ConsumerSecret = "EatASecret"
C.Twitter.MagicHashtag = "#notsomagic"
C.Database.Dialect = "somedia"
C.Database.Connection = "conn"
err := WriteConfig(filepath.Join("..", "..", "test", "data", "doesnotexist.toml"))
if err != nil {
t.Errorf("Could not write config, got error: %+v", err)
}
}
func TestLoadConfig(t *testing.T) {
C = Config{}
err := LoadConfig(filepath.Join("..", "..", "test", "data", "doesnotexist.toml"))
if err != nil {
t.Errorf("Cannot read config, error: %+v", err)
}
if C.Twitter.AccessKey != "§OneNiceKey" ||
C.Twitter.AccessSecret != "SuperNiceSecret" ||
C.Twitter.ConsumerKey != "ConsumeMe" ||
C.Twitter.ConsumerSecret != "EatASecret" ||
C.Twitter.MagicHashtag != "#notsomagic" ||
C.Database.Dialect != "somedia" ||
C.Database.Connection != "conn" {
t.Errorf("Could not read config, entries wrong")
}
t.Cleanup(CleanupConfigTest)
}
func CleanupConfigTest() {
os.Remove(filepath.Join("..", "..", "test", "data", "doesnotexist.toml"))
}