From 3dca802a22fc345714665847184a6ebe6dce3f50 Mon Sep 17 00:00:00 2001 From: Stefan Goppelt Date: Wed, 6 Apr 2022 10:00:23 +0200 Subject: [PATCH] Added tests --- utils_test.go | 55 +++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 47 insertions(+), 8 deletions(-) diff --git a/utils_test.go b/utils_test.go index 53de342..2b6450f 100644 --- a/utils_test.go +++ b/utils_test.go @@ -1,6 +1,9 @@ package util import ( + "os" + "os/user" + "strings" "testing" "github.com/stretchr/testify/assert" @@ -8,22 +11,58 @@ import ( func TestFileExist(t *testing.T) { assert.True(t, FileExists("utils.go")) +} + +func TestFileExistNot(t *testing.T) { assert.True(t, !FileExists("Utils2.go")) } -func TestJoiningSlash(t *testing.T) { - assert.Equal(t, "http://my.tld/bla/blub", JoiningSlash("http://my.tld", "bla", "blub")) - assert.Equal(t, "http://my.tld/bla/blub", JoiningSlash("http://my.tld/", "bla", "blub")) - assert.Equal(t, "http://my.tld/bla/blub", JoiningSlash("http://my.tld", "bla/", "blub")) - assert.Equal(t, "http://my.tld/docs/bla/blub", JoiningSlash("http://my.tld/docs", "bla/", "blub")) - assert.Equal(t, "http://my.tld/docs/bla/blub", JoiningSlash("http://my.tld/docs/", "bla/", "blub")) +func TestGlobalConfigurationDirectory(t *testing.T) { + appFolder := GetGlobalConfigurationDirectory("myapp") + assert.NotEmpty(t, appFolder) } -/* Can run only as admin within windows or linux +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()) } -*/