package config import ( "io/ioutil" "os" "testing" ) func TestConfigRefresh(t *testing.T) { was := os.Args defer func() { os.Args = was }() os.Args = []string{"na"} d, err := ioutil.TempDir(os.TempDir(), "firestormy.config.test") if err != nil { t.Fatal(err) } defer os.RemoveAll(d) os.Setenv("PORT", "11111") os.Setenv("OAUTH", "localhost:27777") os.Setenv("STORETYPE", "leveldb") os.Setenv("STOREADDR", d) os.Setenv("STOREUSER", "user") os.Setenv("STOREPASS", "pass") Refresh() if v := Port; v != ":11111" { t.Error(v) } if v := OAuthServer; v != "localhost:27777" { t.Error(v) } if v := StoreType; v != "leveldb" { t.Error(v) } if v := StoreAddr; v != d { t.Error(v) } if v := StoreUser; v != "user" { t.Error(v) } if v := StorePass; v != "pass" { t.Error(v) } if err := Store.Set("key", []byte("value")); err != nil { t.Error(err) } else if b, err := Store.Get("key"); err != nil { t.Error(err) } else if string(b) != "value" { t.Error(err) } }