summaryrefslogtreecommitdiff
path: root/internal/handler/exec_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/handler/exec_test.go')
-rw-r--r--internal/handler/exec_test.go42
1 files changed, 42 insertions, 0 deletions
diff --git a/internal/handler/exec_test.go b/internal/handler/exec_test.go
new file mode 100644
index 0000000..6c7d3f5
--- /dev/null
+++ b/internal/handler/exec_test.go
@@ -0,0 +1,42 @@
+package handler
+
+import (
+ "context"
+ "errors"
+ "testing"
+
+ "github.com/stretchr/testify/require"
+ "google.golang.org/grpc"
+
+ "gitlab.com/gitlab-org/gitlab-shell/internal/config"
+)
+
+func makeHandler(t *testing.T, err error) func(context.Context, *grpc.ClientConn) (int32, error) {
+ return func(ctx context.Context, client *grpc.ClientConn) (int32, error) {
+ require.NotNil(t, ctx)
+ require.NotNil(t, client)
+
+ return 0, err
+ }
+}
+
+func TestRunGitalyCommand(t *testing.T) {
+ cmd := GitalyCommand{
+ Config: &config.Config{},
+ Address: "tcp://localhost:9999",
+ }
+
+ err := cmd.RunGitalyCommand(makeHandler(t, nil))
+ require.NoError(t, err)
+
+ expectedErr := errors.New("error")
+ err = cmd.RunGitalyCommand(makeHandler(t, expectedErr))
+ require.Equal(t, err, expectedErr)
+}
+
+func TestMissingGitalyAddress(t *testing.T) {
+ cmd := GitalyCommand{Config: &config.Config{}}
+
+ err := cmd.RunGitalyCommand(makeHandler(t, nil))
+ require.EqualError(t, err, "no gitaly_address given")
+}