104 lines
2.5 KiB
Go
104 lines
2.5 KiB
Go
package config
|
|
|
|
import (
|
|
"log"
|
|
"os"
|
|
"path/filepath"
|
|
"testing"
|
|
)
|
|
|
|
// func TestFindAbraConfig(t *testing.T) {
|
|
// wd, err := os.Getwd()
|
|
// if err != nil {
|
|
// log.Fatal(err)
|
|
// }
|
|
// tests := []struct {
|
|
// Dir string
|
|
// Config string
|
|
// }{
|
|
// {
|
|
// Dir: "testdata/abraconfig1",
|
|
// Config: filepath.Join(wd, "testdata/abraconfig1/abra.yaml"),
|
|
// },
|
|
// {
|
|
// Dir: "testdata/abraconfig1/subdir",
|
|
// Config: filepath.Join(wd, "testdata/abraconfig1/abra.yaml"),
|
|
// },
|
|
// {
|
|
// Dir: "testdata/abraconfig2",
|
|
// Config: filepath.Join(wd, "testdata/abraconfig2/abra.yml"),
|
|
// },
|
|
// {
|
|
// Dir: "testdata/abraconfig2/subdir",
|
|
// Config: filepath.Join(wd, "testdata/abraconfig2/abra.yml"),
|
|
// },
|
|
// {
|
|
// Dir: "testdata",
|
|
// Config: "",
|
|
// },
|
|
// }
|
|
//
|
|
// for _, tc := range tests {
|
|
// t.Run(tc.Dir, func(t *testing.T) {
|
|
// config := findAbraConfig(tc.Dir)
|
|
// if config != tc.Config {
|
|
// t.Errorf("\nwant: %s\ngot: %s", tc.Config, config)
|
|
// }
|
|
// })
|
|
// }
|
|
// }
|
|
|
|
func TestLoadAbraConfigGetAbraDir(t *testing.T) {
|
|
wd, err := os.Getwd()
|
|
if err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
|
|
// t.Run("default", func(t *testing.T) {
|
|
// cfg := LoadAbraConfig()
|
|
// wantAbraDir := os.ExpandEnv("$HOME/.abra")
|
|
// if cfg.GetAbraDir() != wantAbraDir {
|
|
// t.Errorf("\nwant: %s\ngot: %s", wantAbraDir, cfg.GetAbraDir())
|
|
// }
|
|
// })
|
|
|
|
t.Run("from config file", func(t *testing.T) {
|
|
t.Cleanup(func() { os.Chdir(wd) })
|
|
err = os.Chdir(filepath.Join(wd, "testdata/abraconfig1"))
|
|
if err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
|
|
cfg := LoadAbraConfig()
|
|
log.Println(cfg.GetAbraDir())
|
|
wantAbraDir := filepath.Join(wd, "testdata/abraconfig1/abra.yaml/foobar")
|
|
if cfg.GetAbraDir() != wantAbraDir {
|
|
t.Errorf("\nwant: %s\ngot: %s", wantAbraDir, cfg.GetAbraDir())
|
|
}
|
|
t.Fatal()
|
|
})
|
|
|
|
// t.Run("default when config file is empty", func(t *testing.T) {
|
|
// t.Cleanup(func() { os.Chdir(wd) })
|
|
// err := os.Chdir(filepath.Join(wd, "testdata/abraconfig2"))
|
|
// if err != nil {
|
|
// log.Fatal(err)
|
|
// }
|
|
//
|
|
// cfg := LoadAbraConfig()
|
|
// wantAbraDir := os.ExpandEnv("$HOME/.abra")
|
|
// if cfg.GetAbraDir() != wantAbraDir {
|
|
// t.Errorf("\nwant: %s\ngot: %s", wantAbraDir, cfg.GetAbraDir())
|
|
// }
|
|
// })
|
|
//
|
|
// t.Run("from env variable", func(t *testing.T) {
|
|
// t.Setenv("ABRA_DIR", "foo")
|
|
// cfg := LoadAbraConfig()
|
|
// wantAbraDir := "foo"
|
|
// if cfg.GetAbraDir() != wantAbraDir {
|
|
// t.Errorf("\nwant: %s\ngot: %s", wantAbraDir, cfg.GetAbraDir())
|
|
// }
|
|
// })
|
|
}
|