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  }