diff options
Diffstat (limited to 'go/internal/command/fallback/fallback_test.go')
-rw-r--r-- | go/internal/command/fallback/fallback_test.go | 84 |
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()) -} |