summaryrefslogtreecommitdiff
path: root/go/internal/command/fallback/fallback_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'go/internal/command/fallback/fallback_test.go')
-rw-r--r--go/internal/command/fallback/fallback_test.go84
1 files changed, 0 insertions, 84 deletions
diff --git a/go/internal/command/fallback/fallback_test.go b/go/internal/command/fallback/fallback_test.go
deleted file mode 100644
index 7485084..0000000
--- a/go/internal/command/fallback/fallback_test.go
+++ /dev/null
@@ -1,84 +0,0 @@
-package fallback
-
-import (
- "errors"
- "os"
- "testing"
-
- "github.com/stretchr/testify/require"
-
- "gitlab.com/gitlab-org/gitlab-shell/go/internal/command/commandargs"
- "gitlab.com/gitlab-org/gitlab-shell/go/internal/executable"
-)
-
-type fakeExec struct {
- OldExec func(string, []string, []string) error
- Error error
- Called bool
-
- Filename string
- Args []string
- Env []string
-}
-
-var (
- fakeArgs = &commandargs.GenericArgs{Arguments: []string{"foo", "bar"}}
-)
-
-func (f *fakeExec) Exec(filename string, args []string, env []string) error {
- f.Called = true
-
- f.Filename = filename
- f.Args = args
- f.Env = env
-
- return f.Error
-}
-
-func (f *fakeExec) Setup() {
- f.OldExec = execFunc
- execFunc = f.Exec
-}
-
-func (f *fakeExec) Cleanup() {
- execFunc = f.OldExec
-}
-
-func TestExecuteExecsCommandSuccesfully(t *testing.T) {
- cmd := &Command{Executable: &executable.Executable{Name: executable.GitlabShell}, RootDir: "/tmp", Args: fakeArgs}
-
- // Override the exec func
- fake := &fakeExec{}
- fake.Setup()
- defer fake.Cleanup()
-
- require.NoError(t, cmd.Execute())
- require.True(t, fake.Called)
- require.Equal(t, fake.Filename, "/tmp/bin/gitlab-shell-ruby")
- require.Equal(t, fake.Args, []string{"/tmp/bin/gitlab-shell-ruby", "foo", "bar"})
- require.Equal(t, fake.Env, os.Environ())
-}
-
-func TestExecuteExecsUnknownExecutable(t *testing.T) {
- cmd := &Command{Executable: &executable.Executable{Name: "unknown"}, RootDir: "/test"}
-
- require.Error(t, cmd.Execute())
-}
-
-func TestExecuteExecsCommandOnError(t *testing.T) {
- cmd := &Command{Executable: &executable.Executable{Name: executable.GitlabShell}, RootDir: "/test", Args: fakeArgs}
-
- // Override the exec func
- fake := &fakeExec{Error: errors.New("Test error")}
- fake.Setup()
- defer fake.Cleanup()
-
- require.Error(t, cmd.Execute())
- require.True(t, fake.Called)
-}
-
-func TestExecuteGivenNonexistentCommand(t *testing.T) {
- cmd := &Command{Executable: &executable.Executable{Name: executable.GitlabShell}, RootDir: "/tmp/does/not/exist", Args: fakeArgs}
-
- require.Error(t, cmd.Execute())
-}