Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitaly.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Steinhardt <psteinhardt@gitlab.com>2023-07-05 17:46:50 +0300
committerPatrick Steinhardt <psteinhardt@gitlab.com>2023-07-05 17:47:40 +0300
commita898d65ad7b47fbd439ad7ed66fd0910d128323a (patch)
treed696770f1f40501af40982ec074ac5b3a9021ffe
parent384242ff20a665cc944b9f98febd63cc9dafc0e3 (diff)
smarthttp: Close test connection via `t.Cleanup()`
Refactor the `newSmartHTTPClient()` helper function to automatically clean up the connection via `t.Cleanup()`. Adjust callers accordingly.
-rw-r--r--internal/gitaly/service/smarthttp/inforefs_test.go9
-rw-r--r--internal/gitaly/service/smarthttp/receive_pack_test.go33
-rw-r--r--internal/gitaly/service/smarthttp/testhelper_test.go13
3 files changed, 22 insertions, 33 deletions
diff --git a/internal/gitaly/service/smarthttp/inforefs_test.go b/internal/gitaly/service/smarthttp/inforefs_test.go
index 0496bc0bc..18caca364 100644
--- a/internal/gitaly/service/smarthttp/inforefs_test.go
+++ b/internal/gitaly/service/smarthttp/inforefs_test.go
@@ -219,8 +219,7 @@ func TestInfoRefsUploadPack_gitProtocol(t *testing.T) {
repo, _ := gittest.CreateRepository(t, ctx, cfg)
- client, conn := newSmartHTTPClient(t, server.Address(), cfg.Auth.Token)
- defer testhelper.MustClose(t, conn)
+ client := newSmartHTTPClient(t, server.Address(), cfg.Auth.Token)
c, err := client.InfoRefsUploadPack(ctx, &gitalypb.InfoRefsRequest{
Repository: repo,
@@ -242,8 +241,7 @@ func TestInfoRefsUploadPack_gitProtocol(t *testing.T) {
func makeInfoRefsUploadPackRequest(t *testing.T, ctx context.Context, serverSocketPath, token string, rpcRequest *gitalypb.InfoRefsRequest) ([]byte, error) {
t.Helper()
- client, conn := newSmartHTTPClient(t, serverSocketPath, token)
- defer conn.Close()
+ client := newSmartHTTPClient(t, serverSocketPath, token)
ctx, cancel := context.WithCancel(ctx)
defer cancel()
@@ -343,8 +341,7 @@ func TestInfoRefsReceivePack_validate(t *testing.T) {
func makeInfoRefsReceivePackRequest(t *testing.T, ctx context.Context, serverSocketPath, token string, rpcRequest *gitalypb.InfoRefsRequest) ([]byte, error) {
t.Helper()
- client, conn := newSmartHTTPClient(t, serverSocketPath, token)
- defer conn.Close()
+ client := newSmartHTTPClient(t, serverSocketPath, token)
ctx, cancel := context.WithCancel(ctx)
defer cancel()
diff --git a/internal/gitaly/service/smarthttp/receive_pack_test.go b/internal/gitaly/service/smarthttp/receive_pack_test.go
index 78e7b7b40..80c42b555 100644
--- a/internal/gitaly/service/smarthttp/receive_pack_test.go
+++ b/internal/gitaly/service/smarthttp/receive_pack_test.go
@@ -58,8 +58,7 @@ func TestPostReceivePack_successful(t *testing.T) {
})
repo.GlProjectPath = "project/path"
- client, conn := newSmartHTTPClient(t, server.Address(), cfg.Auth.Token)
- defer conn.Close()
+ client := newSmartHTTPClient(t, server.Address(), cfg.Auth.Token)
// Below, we test whether extracting the hooks payload leads to the expected
// results. Part of this payload are feature flags, so we need to get them into a
@@ -153,8 +152,7 @@ func TestPostReceivePack_hiddenRefs(t *testing.T) {
newHead, err := repo.ResolveRevision(ctx, "HEAD")
require.NoError(t, err)
- client, conn := newSmartHTTPClient(t, cfg.SocketPath, cfg.Auth.Token)
- defer conn.Close()
+ client := newSmartHTTPClient(t, cfg.SocketPath, cfg.Auth.Token)
for _, ref := range []string{
"refs/environments/1",
@@ -207,8 +205,7 @@ func TestPostReceivePack_protocolV2(t *testing.T) {
Seed: gittest.SeedGitLabTest,
})
- client, conn := newSmartHTTPClient(t, server.Address(), cfg.Auth.Token)
- defer conn.Close()
+ client := newSmartHTTPClient(t, server.Address(), cfg.Auth.Token)
stream, err := client.PostReceivePack(ctx)
require.NoError(t, err)
@@ -237,8 +234,7 @@ func TestPostReceivePack_packfiles(t *testing.T) {
cfg.SocketPath = startSmartHTTPServer(t, cfg).Address()
testcfg.BuildGitalyHooks(t, cfg)
- client, conn := newSmartHTTPClient(t, cfg.SocketPath, cfg.Auth.Token)
- defer conn.Close()
+ client := newSmartHTTPClient(t, cfg.SocketPath, cfg.Auth.Token)
repo, repoPath := gittest.CreateRepository(t, ctx, cfg, gittest.CreateRepositoryConfig{
Seed: gittest.SeedGitLabTest,
@@ -297,8 +293,7 @@ func TestPostReceivePack_rejectViaGitConfigOptions(t *testing.T) {
Seed: gittest.SeedGitLabTest,
})
- client, conn := newSmartHTTPClient(t, cfg.SocketPath, cfg.Auth.Token)
- defer conn.Close()
+ client := newSmartHTTPClient(t, cfg.SocketPath, cfg.Auth.Token)
stream, err := client.PostReceivePack(ctx)
require.NoError(t, err)
@@ -336,8 +331,7 @@ func TestPostReceivePack_rejectViaHooks(t *testing.T) {
Seed: gittest.SeedGitLabTest,
})
- client, conn := newSmartHTTPClient(t, server.Address(), cfg.Auth.Token)
- defer conn.Close()
+ client := newSmartHTTPClient(t, server.Address(), cfg.Auth.Token)
stream, err := client.PostReceivePack(ctx)
require.NoError(t, err)
@@ -361,8 +355,7 @@ func TestPostReceivePack_requestValidation(t *testing.T) {
cfg := testcfg.Build(t)
cfg.SocketPath = runSmartHTTPServer(t, cfg)
- client, conn := newSmartHTTPClient(t, cfg.SocketPath, cfg.Auth.Token)
- defer conn.Close()
+ client := newSmartHTTPClient(t, cfg.SocketPath, cfg.Auth.Token)
repoProto, _ := gittest.CreateRepository(t, ctx, cfg)
@@ -442,8 +435,7 @@ func TestPostReceivePack_invalidObjects(t *testing.T) {
Seed: gittest.SeedGitLabTest,
})
- client, conn := newSmartHTTPClient(t, server.Address(), cfg.Auth.Token)
- defer conn.Close()
+ client := newSmartHTTPClient(t, server.Address(), cfg.Auth.Token)
head := text.ChompBytes(gittest.Exec(t, cfg, "-C", localRepoPath, "rev-parse", "HEAD"))
tree := text.ChompBytes(gittest.Exec(t, cfg, "-C", localRepoPath, "rev-parse", "HEAD^{tree}"))
@@ -583,8 +575,7 @@ func TestPostReceivePack_fsck(t *testing.T) {
"-C", repoPath, "pack-objects", "--stdout", "--revs", "--thin", "--delta-base-offset", "-q",
)
- client, conn := newSmartHTTPClient(t, cfg.SocketPath, cfg.Auth.Token)
- defer conn.Close()
+ client := newSmartHTTPClient(t, cfg.SocketPath, cfg.Auth.Token)
stream, err := client.PostReceivePack(ctx)
require.NoError(t, err)
@@ -643,8 +634,7 @@ func TestPostReceivePack_hooks(t *testing.T) {
gittest.WriteCheckNewObjectExistsHook(t, repoPath)
- client, conn := newSmartHTTPClient(t, cfg.SocketPath, cfg.Auth.Token)
- defer conn.Close()
+ client := newSmartHTTPClient(t, cfg.SocketPath, cfg.Auth.Token)
stream, err := client.PostReceivePack(ctx)
require.NoError(t, err)
@@ -695,8 +685,7 @@ func TestPostReceivePack_transactionsViaPraefect(t *testing.T) {
gitlab.WriteShellSecretFile(t, cfg.GitlabShell.Dir, opts.SecretToken)
- client, conn := newSmartHTTPClient(t, cfg.SocketPath, cfg.Auth.Token)
- defer conn.Close()
+ client := newSmartHTTPClient(t, cfg.SocketPath, cfg.Auth.Token)
stream, err := client.PostReceivePack(ctx)
require.NoError(t, err)
diff --git a/internal/gitaly/service/smarthttp/testhelper_test.go b/internal/gitaly/service/smarthttp/testhelper_test.go
index c3f5fc751..93b6a9894 100644
--- a/internal/gitaly/service/smarthttp/testhelper_test.go
+++ b/internal/gitaly/service/smarthttp/testhelper_test.go
@@ -75,17 +75,20 @@ func runSmartHTTPServer(t *testing.T, cfg config.Cfg, opts ...ServerOpt) string
return gitalyServer.Address()
}
-func newSmartHTTPClient(t *testing.T, serverSocketPath, token string) (gitalypb.SmartHTTPServiceClient, *grpc.ClientConn) {
+func newSmartHTTPClient(t *testing.T, serverSocketPath, token string) gitalypb.SmartHTTPServiceClient {
t.Helper()
- connOpts := []grpc.DialOption{
+ conn, err := grpc.Dial(serverSocketPath,
grpc.WithTransportCredentials(insecure.NewCredentials()),
grpc.WithPerRPCCredentials(gitalyauth.RPCCredentialsV2(token)),
- }
- conn, err := grpc.Dial(serverSocketPath, connOpts...)
+ )
require.NoError(t, err)
- return gitalypb.NewSmartHTTPServiceClient(conn), conn
+ t.Cleanup(func() {
+ testhelper.MustClose(t, conn)
+ })
+
+ return gitalypb.NewSmartHTTPServiceClient(conn)
}
func newMuxedSmartHTTPClient(t *testing.T, ctx context.Context, serverSocketPath, token string, serverFactory backchannel.ServerFactory) gitalypb.SmartHTTPServiceClient {