github.com/stevenmatthewt/agent@v3.5.4+incompatible/utils/path_test.go (about) 1 package utils 2 3 import ( 4 "os" 5 "os/user" 6 "path/filepath" 7 "testing" 8 9 "github.com/stretchr/testify/assert" 10 ) 11 12 func TestNormalizingHomeDirectories(t *testing.T) { 13 t.Parallel() 14 15 usr, err := user.Current() 16 assert.NoError(t, err) 17 18 fp, err := NormalizeFilePath(filepath.Join(`~`, `.ssh`)) 19 assert.NoError(t, err) 20 assert.Equal(t, filepath.Join(usr.HomeDir, `.ssh`), fp) 21 assert.True(t, filepath.IsAbs(fp)) 22 } 23 24 func TestNormalizingFilePaths(t *testing.T) { 25 t.Parallel() 26 27 workingDir, err := os.Getwd() 28 assert.NoError(t, err) 29 30 fp, err := NormalizeFilePath(filepath.Join(`.`, `builds`)) 31 assert.NoError(t, err) 32 assert.Equal(t, filepath.Join(workingDir, `builds`), fp) 33 assert.True(t, filepath.IsAbs(fp)) 34 } 35 36 func TestNormalizingEmptyPaths(t *testing.T) { 37 t.Parallel() 38 39 fp, err := NormalizeFilePath("") 40 assert.NoError(t, err) 41 assert.Equal(t, "", fp) 42 } 43 44 func TestNormalizingCommands(t *testing.T) { 45 t.Parallel() 46 47 usr, err := user.Current() 48 assert.NoError(t, err) 49 50 c, err := NormalizeCommand(filepath.Join(`~/`, `buildkite-agent`, `bootstrap.sh`)) 51 assert.NoError(t, err) 52 assert.Equal(t, filepath.Join(usr.HomeDir, `buildkite-agent`, `bootstrap.sh`), c) 53 54 c, err = NormalizeCommand("cat test.log") 55 assert.NoError(t, err) 56 assert.Equal(t, c, "cat test.log") 57 }