1package cmd
2
3import (
4 "bytes"
5 "os"
6 "path/filepath"
7 "testing"
8
9 "github.com/stretchr/testify/require"
10)
11
12func init() {
13 os.Setenv("XDG_CONFIG_HOME", "/tmp/fakeconfig")
14 os.Setenv("XDG_DATA_HOME", "/tmp/fakedata")
15 os.Unsetenv("CRUSH_GLOBAL_CONFIG")
16 os.Unsetenv("CRUSH_GLOBAL_DATA")
17}
18
19func TestDirs(t *testing.T) {
20 var b bytes.Buffer
21 dirsCmd.SetOut(&b)
22 dirsCmd.SetErr(&b)
23 dirsCmd.SetIn(bytes.NewReader(nil))
24 dirsCmd.Run(dirsCmd, nil)
25 expected := filepath.FromSlash("/tmp/fakeconfig/crush") + "\n" +
26 filepath.FromSlash("/tmp/fakedata/crush") + "\n"
27 require.Equal(t, expected, b.String())
28}
29
30func TestConfigDir(t *testing.T) {
31 var b bytes.Buffer
32 configDirCmd.SetOut(&b)
33 configDirCmd.SetErr(&b)
34 configDirCmd.SetIn(bytes.NewReader(nil))
35 configDirCmd.Run(configDirCmd, nil)
36 expected := filepath.FromSlash("/tmp/fakeconfig/crush") + "\n"
37 require.Equal(t, expected, b.String())
38}
39
40func TestDataDir(t *testing.T) {
41 var b bytes.Buffer
42 dataDirCmd.SetOut(&b)
43 dataDirCmd.SetErr(&b)
44 dataDirCmd.SetIn(bytes.NewReader(nil))
45 dataDirCmd.Run(dataDirCmd, nil)
46 expected := filepath.FromSlash("/tmp/fakedata/crush") + "\n"
47 require.Equal(t, expected, b.String())
48}