package util import ( "os" "os/user" "strings" "testing" "github.com/stretchr/testify/assert" ) func TestFileExist(t *testing.T) { assert.True(t, FileExists("utils.go")) } func TestFileExistNot(t *testing.T) { assert.True(t, !FileExists("Utils2.go")) } func TestGlobalConfigurationDirectory(t *testing.T) { appFolder := GetGlobalConfigurationDirectory("myapp") assert.NotEmpty(t, appFolder) } func TestJoiningSlash1(t *testing.T) { actual := JoiningSlash("http://my.tld/docs/", "bla/", "blub/") expected := "http://my.tld/docs/bla/blub/" assert.Equal(t, expected, actual) } func TestJoiningSlash2(t *testing.T) { actual := JoiningSlash("http://my.tld", "bla", "blub") assert.Equal(t, "http://my.tld/bla/blub", actual) } func TestJoiningSlash3(t *testing.T) { actual := JoiningSlash("http://my.tld/", "bla", "blub") assert.Equal(t, "http://my.tld/bla/blub", actual) } func TestJoiningSlash4(t *testing.T) { actual := JoiningSlash("http://my.tld", "bla/", "blub") assert.Equal(t, "http://my.tld/bla/blub", actual) } func TestJoiningSlash5(t *testing.T) { actual := JoiningSlash("http://my.tld/docs", "bla/", "blub") expected := "http://my.tld/docs/bla/blub" assert.Equal(t, expected, actual) } func TestJoiningSlash6(t *testing.T) { actual := JoiningSlash("http://my.tld/docs/", "bla/", "blub") expected := "http://my.tld/docs/bla/blub" assert.Equal(t, expected, actual) } /* Can run only as admin within windows or linux e.g. sudo TESTASSUDO=yes /usr/local/go/bin/go test -timeout 30s -run ^TestIsSuperUser$ */ func TestIsSuperUser(t *testing.T) { if !strings.EqualFold(os.Getenv("TESTASSUDO"), "yes") { t.Skip("Skipping in normal tests") } cuser, err := user.Current() assert.Nil(t, err) assert.NotNil(t, cuser) assert.True(t, IsSuperUser()) }