diff options
Diffstat (limited to 'client')
-rw-r--r-- | client/client_test.go | 7 | ||||
-rw-r--r-- | client/httpclient_test.go | 15 | ||||
-rw-r--r-- | client/httpsclient_test.go | 12 | ||||
-rw-r--r-- | client/testserver/gitalyserver.go | 12 | ||||
-rw-r--r-- | client/testserver/testserver.go | 26 |
5 files changed, 36 insertions, 36 deletions
diff --git a/client/client_test.go b/client/client_test.go index fec51c5..90cd499 100644 --- a/client/client_test.go +++ b/client/client_test.go @@ -26,7 +26,7 @@ func TestClients(t *testing.T) { desc string relativeURLRoot string caFile string - server func(*testing.T, []testserver.TestRequestHandler) (string, func()) + server func(*testing.T, []testserver.TestRequestHandler) string }{ { desc: "Socket client", @@ -49,7 +49,7 @@ func TestClients(t *testing.T) { { desc: "Https client", caFile: path.Join(testhelper.TestRoot, "certs/valid/server.crt"), - server: func(t *testing.T, handlers []testserver.TestRequestHandler) (string, func()) { + server: func(t *testing.T, handlers []testserver.TestRequestHandler) string { return testserver.StartHttpsServer(t, handlers, "") }, }, @@ -57,8 +57,7 @@ func TestClients(t *testing.T) { for _, tc := range testCases { t.Run(tc.desc, func(t *testing.T) { - url, cleanup := tc.server(t, buildRequests(t, tc.relativeURLRoot)) - defer cleanup() + url := tc.server(t, buildRequests(t, tc.relativeURLRoot)) secret := "sssh, it's a secret" diff --git a/client/httpclient_test.go b/client/httpclient_test.go index 2d2a06e..5c1ebe3 100644 --- a/client/httpclient_test.go +++ b/client/httpclient_test.go @@ -48,8 +48,7 @@ func TestBasicAuthSettings(t *testing.T) { }, } - client, cleanup := setup(t, username, password, requests) - defer cleanup() + client := setup(t, username, password, requests) response, err := client.Get(context.Background(), "/get_endpoint") require.NoError(t, err) @@ -86,8 +85,7 @@ func TestEmptyBasicAuthSettings(t *testing.T) { }, } - client, cleanup := setup(t, "", "", requests) - defer cleanup() + client := setup(t, "", "", requests) _, err := client.Get(context.Background(), "/empty_basic_auth") require.NoError(t, err) @@ -110,8 +108,7 @@ func TestRequestWithUserAgent(t *testing.T) { }, } - client, cleanup := setup(t, "", "", requests) - defer cleanup() + client := setup(t, "", "", requests) _, err := client.Get(context.Background(), "/default_user_agent") require.NoError(t, err) @@ -122,13 +119,13 @@ func TestRequestWithUserAgent(t *testing.T) { } -func setup(t *testing.T, username, password string, requests []testserver.TestRequestHandler) (*GitlabNetClient, func()) { - url, cleanup := testserver.StartHttpServer(t, requests) +func setup(t *testing.T, username, password string, requests []testserver.TestRequestHandler) *GitlabNetClient { + url := testserver.StartHttpServer(t, requests) httpClient := NewHTTPClient(url, "", "", "", false, 1) client, err := NewGitlabNetClient(username, password, "", httpClient) require.NoError(t, err) - return client, cleanup + return client } diff --git a/client/httpsclient_test.go b/client/httpsclient_test.go index dadd095..670f94a 100644 --- a/client/httpsclient_test.go +++ b/client/httpsclient_test.go @@ -51,8 +51,7 @@ func TestSuccessfulRequests(t *testing.T) { for _, tc := range testCases { t.Run(tc.desc, func(t *testing.T) { - client, cleanup := setupWithRequests(t, tc.caFile, tc.caPath, tc.clientCAPath, tc.clientCertPath, tc.clientKeyPath, tc.selfSigned) - defer cleanup() + client := setupWithRequests(t, tc.caFile, tc.caPath, tc.clientCAPath, tc.clientCertPath, tc.clientKeyPath, tc.selfSigned) response, err := client.Get(context.Background(), "/hello") require.NoError(t, err) @@ -88,8 +87,7 @@ func TestFailedRequests(t *testing.T) { for _, tc := range testCases { t.Run(tc.desc, func(t *testing.T) { - client, cleanup := setupWithRequests(t, tc.caFile, tc.caPath, "", "", "", false) - defer cleanup() + client := setupWithRequests(t, tc.caFile, tc.caPath, "", "", "", false) _, err := client.Get(context.Background(), "/hello") require.Error(t, err) @@ -99,7 +97,7 @@ func TestFailedRequests(t *testing.T) { } } -func setupWithRequests(t *testing.T, caFile, caPath, clientCAPath, clientCertPath, clientKeyPath string, selfSigned bool) (*GitlabNetClient, func()) { +func setupWithRequests(t *testing.T, caFile, caPath, clientCAPath, clientCertPath, clientKeyPath string, selfSigned bool) *GitlabNetClient { testDirCleanup, err := testhelper.PrepareTestRootDir() require.NoError(t, err) defer testDirCleanup() @@ -115,7 +113,7 @@ func setupWithRequests(t *testing.T, caFile, caPath, clientCAPath, clientCertPat }, } - url, cleanup := testserver.StartHttpsServer(t, requests, clientCAPath) + url := testserver.StartHttpsServer(t, requests, clientCAPath) var opts []HTTPClientOpt if clientCertPath != "" && clientKeyPath != "" { @@ -128,5 +126,5 @@ func setupWithRequests(t *testing.T, caFile, caPath, clientCAPath, clientCertPat client, err := NewGitlabNetClient("", "", "", httpClient) require.NoError(t, err) - return client, cleanup + return client } diff --git a/client/testserver/gitalyserver.go b/client/testserver/gitalyserver.go index 4bf14f3..301a737 100644 --- a/client/testserver/gitalyserver.go +++ b/client/testserver/gitalyserver.go @@ -58,9 +58,12 @@ func (s *TestGitalyServer) SSHUploadArchive(stream pb.SSHService_SSHUploadArchiv return nil } -func StartGitalyServer(t *testing.T) (string, *TestGitalyServer, func()) { +func StartGitalyServer(t *testing.T) (string, *TestGitalyServer) { + t.Helper() + tempDir, _ := ioutil.TempDir("", "gitlab-shell-test-api") gitalySocketPath := path.Join(tempDir, "gitaly.sock") + t.Cleanup(func() { os.RemoveAll(tempDir) }) err := os.MkdirAll(filepath.Dir(gitalySocketPath), 0700) require.NoError(t, err) @@ -74,12 +77,9 @@ func StartGitalyServer(t *testing.T) (string, *TestGitalyServer, func()) { pb.RegisterSSHServiceServer(server, &testServer) go server.Serve(listener) + t.Cleanup(func() { server.Stop() }) gitalySocketUrl := "unix:" + gitalySocketPath - cleanup := func() { - server.Stop() - os.RemoveAll(tempDir) - } - return gitalySocketUrl, &testServer, cleanup + return gitalySocketUrl, &testServer } diff --git a/client/testserver/testserver.go b/client/testserver/testserver.go index dee051b..0667cd4 100644 --- a/client/testserver/testserver.go +++ b/client/testserver/testserver.go @@ -27,9 +27,12 @@ type TestRequestHandler struct { Handler func(w http.ResponseWriter, r *http.Request) } -func StartSocketHttpServer(t *testing.T, handlers []TestRequestHandler) (string, func()) { +func StartSocketHttpServer(t *testing.T, handlers []TestRequestHandler) string { + t.Helper() + err := os.MkdirAll(filepath.Dir(testSocket), 0700) require.NoError(t, err) + t.Cleanup(func() { os.RemoveAll(tempDir) }) socketListener, err := net.Listen("unix", testSocket) require.NoError(t, err) @@ -44,16 +47,21 @@ func StartSocketHttpServer(t *testing.T, handlers []TestRequestHandler) (string, url := "http+unix://" + testSocket - return url, cleanupSocket + return url } -func StartHttpServer(t *testing.T, handlers []TestRequestHandler) (string, func()) { +func StartHttpServer(t *testing.T, handlers []TestRequestHandler) string { + t.Helper() + server := httptest.NewServer(buildHandler(handlers)) + t.Cleanup(func() { server.Close() }) - return server.URL, server.Close + return server.URL } -func StartHttpsServer(t *testing.T, handlers []TestRequestHandler, clientCAPath string) (string, func()) { +func StartHttpsServer(t *testing.T, handlers []TestRequestHandler, clientCAPath string) string { + t.Helper() + crt := path.Join(testhelper.TestRoot, "certs/valid/server.crt") key := path.Join(testhelper.TestRoot, "certs/valid/server.key") @@ -63,7 +71,7 @@ func StartHttpsServer(t *testing.T, handlers []TestRequestHandler, clientCAPath server.TLS = &tls.Config{ Certificates: []tls.Certificate{cer}, - MinVersion: tls.VersionTLS12, + MinVersion: tls.VersionTLS12, } server.TLS.BuildNameToCertificate() @@ -80,11 +88,9 @@ func StartHttpsServer(t *testing.T, handlers []TestRequestHandler, clientCAPath server.StartTLS() - return server.URL, server.Close -} + t.Cleanup(func() { server.Close() }) -func cleanupSocket() { - os.RemoveAll(tempDir) + return server.URL } func buildHandler(handlers []TestRequestHandler) http.Handler { |