summaryrefslogtreecommitdiff
path: root/go/internal/executable/executable_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'go/internal/executable/executable_test.go')
-rw-r--r--go/internal/executable/executable_test.go104
1 files changed, 0 insertions, 104 deletions
diff --git a/go/internal/executable/executable_test.go b/go/internal/executable/executable_test.go
deleted file mode 100644
index 581821d..0000000
--- a/go/internal/executable/executable_test.go
+++ /dev/null
@@ -1,104 +0,0 @@
-package executable
-
-import (
- "errors"
- "testing"
-
- "gitlab.com/gitlab-org/gitlab-shell/go/internal/testhelper"
-
- "github.com/stretchr/testify/require"
-)
-
-type fakeOs struct {
- OldExecutable func() (string, error)
- Path string
- Error error
-}
-
-func (f *fakeOs) Executable() (string, error) {
- return f.Path, f.Error
-}
-
-func (f *fakeOs) Setup() {
- f.OldExecutable = osExecutable
- osExecutable = f.Executable
-}
-
-func (f *fakeOs) Cleanup() {
- osExecutable = f.OldExecutable
-}
-
-func TestNewSuccess(t *testing.T) {
- testCases := []struct {
- desc string
- fakeOs *fakeOs
- environment map[string]string
- expectedRootDir string
- }{
- {
- desc: "GITLAB_SHELL_DIR env var is not defined",
- fakeOs: &fakeOs{Path: "/tmp/bin/gitlab-shell"},
- expectedRootDir: "/tmp",
- },
- {
- desc: "GITLAB_SHELL_DIR env var is defined",
- fakeOs: &fakeOs{Path: "/opt/bin/gitlab-shell"},
- environment: map[string]string{
- "GITLAB_SHELL_DIR": "/tmp",
- },
- expectedRootDir: "/tmp",
- },
- }
-
- for _, tc := range testCases {
- t.Run(tc.desc, func(t *testing.T) {
- restoreEnv := testhelper.TempEnv(tc.environment)
- defer restoreEnv()
-
- fake := tc.fakeOs
- fake.Setup()
- defer fake.Cleanup()
-
- result, err := New("gitlab-shell")
-
- require.NoError(t, err)
- require.Equal(t, result.Name, "gitlab-shell")
- require.Equal(t, result.RootDir, tc.expectedRootDir)
- })
- }
-}
-
-func TestNewFailure(t *testing.T) {
- testCases := []struct {
- desc string
- fakeOs *fakeOs
- environment map[string]string
- }{
- {
- desc: "failed to determine executable",
- fakeOs: &fakeOs{Path: "", Error: errors.New("error")},
- },
- {
- desc: "GITLAB_SHELL_DIR doesn't exist",
- fakeOs: &fakeOs{Path: "/tmp/bin/gitlab-shell"},
- environment: map[string]string{
- "GITLAB_SHELL_DIR": "/tmp/non/existing/directory",
- },
- },
- }
-
- for _, tc := range testCases {
- t.Run(tc.desc, func(t *testing.T) {
- restoreEnv := testhelper.TempEnv(tc.environment)
- defer restoreEnv()
-
- fake := tc.fakeOs
- fake.Setup()
- defer fake.Cleanup()
-
- _, err := New("gitlab-shell")
-
- require.Error(t, err)
- })
- }
-}