diff options
Diffstat (limited to 'internal/command/uploadarchive/gitalycall_test.go')
-rw-r--r-- | internal/command/uploadarchive/gitalycall_test.go | 94 |
1 files changed, 50 insertions, 44 deletions
diff --git a/internal/command/uploadarchive/gitalycall_test.go b/internal/command/uploadarchive/gitalycall_test.go index be6032d..0479e30 100644 --- a/internal/command/uploadarchive/gitalycall_test.go +++ b/internal/command/uploadarchive/gitalycall_test.go @@ -3,6 +3,7 @@ package uploadarchive import ( "bytes" "context" + "fmt" "testing" "github.com/stretchr/testify/require" @@ -17,59 +18,64 @@ import ( ) func TestUploadArchive(t *testing.T) { - gitalyAddress, testServer := testserver.StartGitalyServer(t) + for _, network := range []string{"unix", "tcp", "dns"} { + t.Run(fmt.Sprintf("via %s network", network), func(t *testing.T) { + gitalyAddress, testServer := testserver.StartGitalyServer(t, network) + t.Log(fmt.Sprintf("Server address: %s", gitalyAddress)) - requests := requesthandlers.BuildAllowedWithGitalyHandlers(t, gitalyAddress) - url := testserver.StartHttpServer(t, requests) + requests := requesthandlers.BuildAllowedWithGitalyHandlers(t, gitalyAddress) + url := testserver.StartHttpServer(t, requests) - output := &bytes.Buffer{} - input := &bytes.Buffer{} + output := &bytes.Buffer{} + input := &bytes.Buffer{} - userId := "1" - repo := "group/repo" + userId := "1" + repo := "group/repo" - env := sshenv.Env{ - IsSSHConnection: true, - OriginalCommand: "git-upload-archive " + repo, - RemoteAddr: "127.0.0.1", - } + env := sshenv.Env{ + IsSSHConnection: true, + OriginalCommand: "git-upload-archive " + repo, + RemoteAddr: "127.0.0.1", + } - args := &commandargs.Shell{ - GitlabKeyId: userId, - CommandType: commandargs.UploadArchive, - SshArgs: []string{"git-upload-archive", repo}, - Env: env, - } + args := &commandargs.Shell{ + GitlabKeyId: userId, + CommandType: commandargs.UploadArchive, + SshArgs: []string{"git-upload-archive", repo}, + Env: env, + } - cfg := &config.Config{GitlabUrl: url} - cfg.GitalyClient.InitSidechannelRegistry(context.Background()) - cmd := &Command{ - Config: cfg, - Args: args, - ReadWriter: &readwriter.ReadWriter{ErrOut: output, Out: output, In: input}, - } + cfg := &config.Config{GitlabUrl: url} + cfg.GitalyClient.InitSidechannelRegistry(context.Background()) + cmd := &Command{ + Config: cfg, + Args: args, + ReadWriter: &readwriter.ReadWriter{ErrOut: output, Out: output, In: input}, + } - ctx := correlation.ContextWithCorrelation(context.Background(), "a-correlation-id") - ctx = correlation.ContextWithClientName(ctx, "gitlab-shell-tests") + ctx := correlation.ContextWithCorrelation(context.Background(), "a-correlation-id") + ctx = correlation.ContextWithClientName(ctx, "gitlab-shell-tests") - err := cmd.Execute(ctx) - require.NoError(t, err) + err := cmd.Execute(ctx) + require.NoError(t, err) - require.Equal(t, "UploadArchive: "+repo, output.String()) + require.Equal(t, "UploadArchive: "+repo, output.String()) - for k, v := range map[string]string{ - "gitaly-feature-cache_invalidator": "true", - "gitaly-feature-inforef_uploadpack_cache": "false", - "x-gitlab-client-name": "gitlab-shell-tests-git-upload-archive", - "key_id": "123", - "user_id": "1", - "remote_ip": "127.0.0.1", - "key_type": "key", - } { - actual := testServer.ReceivedMD[k] - require.Len(t, actual, 1) - require.Equal(t, v, actual[0]) + for k, v := range map[string]string{ + "gitaly-feature-cache_invalidator": "true", + "gitaly-feature-inforef_uploadpack_cache": "false", + "x-gitlab-client-name": "gitlab-shell-tests-git-upload-archive", + "key_id": "123", + "user_id": "1", + "remote_ip": "127.0.0.1", + "key_type": "key", + } { + actual := testServer.ReceivedMD[k] + require.Len(t, actual, 1) + require.Equal(t, v, actual[0]) + } + require.Empty(t, testServer.ReceivedMD["some-other-ff"]) + require.Equal(t, testServer.ReceivedMD["x-gitlab-correlation-id"][0], "a-correlation-id") + }) } - require.Empty(t, testServer.ReceivedMD["some-other-ff"]) - require.Equal(t, testServer.ReceivedMD["x-gitlab-correlation-id"][0], "a-correlation-id") } |