summaryrefslogtreecommitdiff
path: root/client/client_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'client/client_test.go')
-rw-r--r--client/client_test.go66
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=")
})
}