dirs_test.go

 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}