diff options
author | Nick Thomas <nick@gitlab.com> | 2021-07-30 16:09:07 +0100 |
---|---|---|
committer | Nick Thomas <nick@gitlab.com> | 2021-07-30 17:11:15 +0100 |
commit | 72d70eab03d38b7c01054b7c598d17afe177212a (patch) | |
tree | f5a516a237c8856c46a569615ad63d2d37f3bb0d /client/client_test.go | |
parent | b7edd7dd9f957c6b14d3bfa4407aca9ddfbe4f52 (diff) | |
download | gitlab-shell-72d70eab03d38b7c01054b7c598d17afe177212a.tar.gz |
Remove some unreliable tests
Logrus buffers its output internally, which makes these tests fail
intermittently. They're also not a good example to follow generally.
We now have acceptance tests that exercise this functionality so I'm
pretty relaxed about losing the expectations. However, we can test
them by inspecting the server-received metadata too, so there's no loss
of coverage here.
The move from logrus to labkit for logging also makes these tests hard
to justify keeping.
Diffstat (limited to 'client/client_test.go')
-rw-r--r-- | client/client_test.go | 66 |
1 files changed, 1 insertions, 65 deletions
diff --git a/client/client_test.go b/client/client_test.go index 8c5599e..bf45181 100644 --- a/client/client_test.go +++ b/client/client_test.go @@ -11,8 +11,8 @@ import ( "strings" "testing" - "github.com/sirupsen/logrus" "github.com/stretchr/testify/require" + "gitlab.com/gitlab-org/gitlab-shell/client/testserver" "gitlab.com/gitlab-org/gitlab-shell/internal/testhelper" ) @@ -76,7 +76,6 @@ func TestClients(t *testing.T) { func testSuccessfulGet(t *testing.T, client *GitlabNetClient) { t.Run("Successful get", func(t *testing.T) { - hook := testhelper.SetupLogger() response, err := client.Get(context.Background(), "/hello") require.NoError(t, err) require.NotNil(t, response) @@ -86,22 +85,11 @@ func testSuccessfulGet(t *testing.T, client *GitlabNetClient) { responseBody, err := ioutil.ReadAll(response.Body) require.NoError(t, err) require.Equal(t, string(responseBody), "Hello") - - require.True(t, testhelper.WaitForLogEvent(hook)) - entries := hook.AllEntries() - require.Equal(t, 1, len(entries)) - require.Equal(t, logrus.InfoLevel, entries[0].Level) - require.Contains(t, entries[0].Message, "method=GET") - require.Contains(t, entries[0].Message, "status=200") - require.Contains(t, entries[0].Message, "content_length_bytes=") - require.Contains(t, entries[0].Message, "Finished HTTP request") - require.Contains(t, entries[0].Message, "correlation_id=") }) } func testSuccessfulPost(t *testing.T, client *GitlabNetClient) { t.Run("Successful Post", func(t *testing.T) { - hook := testhelper.SetupLogger() data := map[string]string{"key": "value"} response, err := client.Post(context.Background(), "/post_endpoint", data) @@ -113,50 +101,20 @@ func testSuccessfulPost(t *testing.T, client *GitlabNetClient) { responseBody, err := ioutil.ReadAll(response.Body) require.NoError(t, err) require.Equal(t, "Echo: {\"key\":\"value\"}", string(responseBody)) - - require.True(t, testhelper.WaitForLogEvent(hook)) - entries := hook.AllEntries() - require.Equal(t, 1, len(entries)) - require.Equal(t, logrus.InfoLevel, entries[0].Level) - require.Contains(t, entries[0].Message, "method=POST") - require.Contains(t, entries[0].Message, "status=200") - require.Contains(t, entries[0].Message, "content_length_bytes=") - require.Contains(t, entries[0].Message, "Finished HTTP request") - require.Contains(t, entries[0].Message, "correlation_id=") }) } func testMissing(t *testing.T, client *GitlabNetClient) { t.Run("Missing error for GET", func(t *testing.T) { - hook := testhelper.SetupLogger() response, err := client.Get(context.Background(), "/missing") require.EqualError(t, err, "Internal API error (404)") require.Nil(t, response) - - require.True(t, testhelper.WaitForLogEvent(hook)) - entries := hook.AllEntries() - require.Equal(t, 1, len(entries)) - require.Equal(t, logrus.InfoLevel, entries[0].Level) - require.Contains(t, entries[0].Message, "method=GET") - require.Contains(t, entries[0].Message, "status=404") - require.Contains(t, entries[0].Message, "Internal API error") - require.Contains(t, entries[0].Message, "correlation_id=") }) t.Run("Missing error for POST", func(t *testing.T) { - hook := testhelper.SetupLogger() response, err := client.Post(context.Background(), "/missing", map[string]string{}) require.EqualError(t, err, "Internal API error (404)") require.Nil(t, response) - - require.True(t, testhelper.WaitForLogEvent(hook)) - entries := hook.AllEntries() - require.Equal(t, 1, len(entries)) - require.Equal(t, logrus.InfoLevel, entries[0].Level) - require.Contains(t, entries[0].Message, "method=POST") - require.Contains(t, entries[0].Message, "status=404") - require.Contains(t, entries[0].Message, "Internal API error") - require.Contains(t, entries[0].Message, "correlation_id=") }) } @@ -176,37 +134,15 @@ func testErrorMessage(t *testing.T, client *GitlabNetClient) { func testBrokenRequest(t *testing.T, client *GitlabNetClient) { t.Run("Broken request for GET", func(t *testing.T) { - hook := testhelper.SetupLogger() - response, err := client.Get(context.Background(), "/broken") require.EqualError(t, err, "Internal API unreachable") require.Nil(t, response) - - require.True(t, testhelper.WaitForLogEvent(hook)) - entries := hook.AllEntries() - require.Equal(t, 1, len(entries)) - require.Equal(t, logrus.InfoLevel, entries[0].Level) - require.Contains(t, entries[0].Message, "method=GET") - require.NotContains(t, entries[0].Message, "status=") - require.Contains(t, entries[0].Message, "Internal API unreachable") - require.Contains(t, entries[0].Message, "correlation_id=") }) t.Run("Broken request for POST", func(t *testing.T) { - hook := testhelper.SetupLogger() - response, err := client.Post(context.Background(), "/broken", map[string]string{}) require.EqualError(t, err, "Internal API unreachable") require.Nil(t, response) - - require.True(t, testhelper.WaitForLogEvent(hook)) - entries := hook.AllEntries() - require.Equal(t, 1, len(entries)) - require.Equal(t, logrus.InfoLevel, entries[0].Level) - require.Contains(t, entries[0].Message, "method=POST") - require.NotContains(t, entries[0].Message, "status=") - require.Contains(t, entries[0].Message, "Internal API unreachable") - require.Contains(t, entries[0].Message, "correlation_id=") }) } |