Skip to content

Commit d5c5e7b

Browse files
authored
tests(settings): adding tests for FindHome() and SetHome() (#245)
* tests(settings): adding tests for FindHome() and SetHome() * fix(tests): set homedir to tempdir in TestLoadSave * fix(tests): no longer reset home env vars.
1 parent 1b06646 commit d5c5e7b

3 files changed

Lines changed: 63 additions & 0 deletions

File tree

settings/home_unix_test.go

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
// +build linux darwin
2+
3+
package settings
4+
5+
import (
6+
"os"
7+
"testing"
8+
9+
"github.com/arschles/assert"
10+
)
11+
12+
// TestFindHome ensures the correct home directory is returned by FindHome().
13+
func TestFindHome(t *testing.T) {
14+
expectedHomeDir := "/d/e/f"
15+
os.Setenv("HOME", expectedHomeDir)
16+
17+
assert.Equal(t, FindHome(), expectedHomeDir, "output")
18+
}
19+
20+
// TestSetHome ensures the correct env vars are set when SetHome() is called.
21+
func TestSetHome(t *testing.T) {
22+
homeDir := "/a/b/c"
23+
SetHome(homeDir)
24+
25+
assert.Equal(t, os.Getenv("HOME"), homeDir, "output")
26+
}

settings/home_windows_test.go

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
// +build windows
2+
3+
package settings
4+
5+
import (
6+
"os"
7+
"testing"
8+
9+
"github.com/arschles/assert"
10+
)
11+
12+
// TestFindHome ensures the correct home directory is returned by FindHome().
13+
func TestFindHome(t *testing.T) {
14+
homedrive := "C:"
15+
homepath := "/a/b/c"
16+
os.Setenv("HOMEDRIVE", homedrive)
17+
os.Setenv("HOMEPATH", homepath)
18+
assert.Equal(t, FindHome(), homedrive+homepath, "output")
19+
}
20+
21+
// TestSetHome ensures the correct env vars are set when SetHome() is called.
22+
func TestSetHome(t *testing.T) {
23+
homeDrive := "D:"
24+
homePath := "/e/f/g"
25+
SetHome(homeDrive + homePath)
26+
27+
assert.Equal(t, os.Getenv("HOMEDRIVE"), homeDrive, "output")
28+
assert.Equal(t, os.Getenv("HOMEPATH"), homePath, "output")
29+
}

settings/settings_test.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,14 @@ func TestLoadSave(t *testing.T) {
9191

9292
s.Client.ControllerURL = u
9393

94+
// Create a tempdir and set as HOME.
95+
dir, err := ioutil.TempDir("", "deishome")
96+
if err != nil {
97+
t.Fatal(err)
98+
}
99+
defer os.RemoveAll(dir)
100+
SetHome(dir)
101+
94102
if _, err = s.Save(file); err != nil {
95103
t.Fatal(err)
96104
}

0 commit comments

Comments
 (0)