28 lines
655 B
Go
28 lines
655 B
Go
package config
|
|
|
|
import (
|
|
"os"
|
|
"testing"
|
|
)
|
|
|
|
func TestLoad(t *testing.T) {
|
|
path := t.TempDir() + "/config.json"
|
|
if err := os.WriteFile(path, []byte(`{"write_secret":"secret","addr":":9090","chart_max_watts":750}`), 0o600); err != nil {
|
|
t.Fatalf("write config: %v", err)
|
|
}
|
|
|
|
cfg, err := Load(path)
|
|
if err != nil {
|
|
t.Fatalf("Load returned error: %v", err)
|
|
}
|
|
if cfg.WriteSecret != "secret" {
|
|
t.Fatalf("write_secret = %q, want %q", cfg.WriteSecret, "secret")
|
|
}
|
|
if cfg.Addr != ":9090" {
|
|
t.Fatalf("addr = %q, want %q", cfg.Addr, ":9090")
|
|
}
|
|
if cfg.ChartMaxWatts != 750 {
|
|
t.Fatalf("chart_max_watts = %d, want %d", cfg.ChartMaxWatts, 750)
|
|
}
|
|
}
|