diff options
author | Igor Drozdov <idrozdov@gitlab.com> | 2021-07-14 17:43:36 +0300 |
---|---|---|
committer | Igor Drozdov <idrozdov@gitlab.com> | 2021-07-14 17:43:36 +0300 |
commit | e033223ef7ea1e5597fc7aea744b1aed4d667815 (patch) | |
tree | 0dd9adedd7bcf2b7de3e2e26855f2191c4725680 | |
parent | 1adc5f1be786535783b689e12301871343d086a1 (diff) | |
download | gitlab-shell-e033223ef7ea1e5597fc7aea744b1aed4d667815.tar.gz |
Refactor testhelper.PrepareTestRootDir using t.Cleanup
-rw-r--r-- | client/client_test.go | 4 | ||||
-rw-r--r-- | client/httpsclient_test.go | 4 | ||||
-rw-r--r-- | cmd/gitlab-sshd/acceptance_test.go | 4 | ||||
-rw-r--r-- | internal/gitlabnet/accessverifier/client_test.go | 4 | ||||
-rw-r--r-- | internal/testhelper/testhelper.go | 39 |
5 files changed, 14 insertions, 41 deletions
diff --git a/client/client_test.go b/client/client_test.go index 90cd499..8c5599e 100644 --- a/client/client_test.go +++ b/client/client_test.go @@ -18,9 +18,7 @@ import ( ) func TestClients(t *testing.T) { - testDirCleanup, err := testhelper.PrepareTestRootDir() - require.NoError(t, err) - defer testDirCleanup() + testhelper.PrepareTestRootDir(t) testCases := []struct { desc string diff --git a/client/httpsclient_test.go b/client/httpsclient_test.go index 670f94a..48efa91 100644 --- a/client/httpsclient_test.go +++ b/client/httpsclient_test.go @@ -98,9 +98,7 @@ func TestFailedRequests(t *testing.T) { } func setupWithRequests(t *testing.T, caFile, caPath, clientCAPath, clientCertPath, clientKeyPath string, selfSigned bool) *GitlabNetClient { - testDirCleanup, err := testhelper.PrepareTestRootDir() - require.NoError(t, err) - defer testDirCleanup() + testhelper.PrepareTestRootDir(t) requests := []testserver.TestRequestHandler{ { diff --git a/cmd/gitlab-sshd/acceptance_test.go b/cmd/gitlab-sshd/acceptance_test.go index 973e376..c92a8aa 100644 --- a/cmd/gitlab-sshd/acceptance_test.go +++ b/cmd/gitlab-sshd/acceptance_test.go @@ -95,9 +95,7 @@ func successAPI(t *testing.T) http.Handler { t.Helper() return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { - testDirCleanup, err := testhelper.PrepareTestRootDir() - require.NoError(t, err) - defer testDirCleanup() + testhelper.PrepareTestRootDir(t) t.Logf("gitlab-api-mock: received request: %s %s", r.Method, r.RequestURI) w.Header().Set("Content-Type", "application/json") diff --git a/internal/gitlabnet/accessverifier/client_test.go b/internal/gitlabnet/accessverifier/client_test.go index fdf5705..d3f34f6 100644 --- a/internal/gitlabnet/accessverifier/client_test.go +++ b/internal/gitlabnet/accessverifier/client_test.go @@ -163,9 +163,7 @@ func TestErrorResponses(t *testing.T) { } func setup(t *testing.T, allowedPayload string) *Client { - testDirCleanup, err := testhelper.PrepareTestRootDir() - require.NoError(t, err) - defer testDirCleanup() + testhelper.PrepareTestRootDir(t) body, err := ioutil.ReadFile(path.Join(testhelper.TestRoot, "responses/allowed.json")) require.NoError(t, err) diff --git a/internal/testhelper/testhelper.go b/internal/testhelper/testhelper.go index 7361cbb..c2c7826 100644 --- a/internal/testhelper/testhelper.go +++ b/internal/testhelper/testhelper.go @@ -7,10 +7,12 @@ import ( "path" "runtime" "time" + "testing" "github.com/otiai10/copy" "github.com/sirupsen/logrus" "github.com/sirupsen/logrus/hooks/test" + "github.com/stretchr/testify/require" ) var ( @@ -31,42 +33,21 @@ func TempEnv(env map[string]string) func() { } } -func PrepareTestRootDir() (func(), error) { - if err := os.MkdirAll(TestRoot, 0700); err != nil { - return nil, err - } +func PrepareTestRootDir(t *testing.T) { + t.Helper() - var oldWd string - cleanup := func() { - if oldWd != "" { - err := os.Chdir(oldWd) - if err != nil { - panic(err) - } - } + require.NoError(t, os.MkdirAll(TestRoot, 0700)) - if err := os.RemoveAll(TestRoot); err != nil { - panic(err) - } - } + t.Cleanup(func() { os.RemoveAll(TestRoot) }) - if err := copyTestData(); err != nil { - cleanup() - return nil, err - } + require.NoError(t, copyTestData()) oldWd, err := os.Getwd() - if err != nil { - cleanup() - return nil, err - } + require.NoError(t, err) - if err := os.Chdir(TestRoot); err != nil { - cleanup() - return nil, err - } + t.Cleanup(func() { os.Chdir(oldWd) }) - return cleanup, nil + require.NoError(t, os.Chdir(TestRoot)) } func copyTestData() error { |