diff options
Diffstat (limited to 'client/client_test.go')
-rw-r--r-- | client/client_test.go | 59 |
1 files changed, 42 insertions, 17 deletions
diff --git a/client/client_test.go b/client/client_test.go index dfb1ca3..5e852dc 100644 --- a/client/client_test.go +++ b/client/client_test.go @@ -7,7 +7,6 @@ import ( "io/ioutil" "net/http" "path" - "strings" "testing" "github.com/sirupsen/logrus" @@ -124,10 +123,12 @@ func testSuccessfulGet(t *testing.T, client *GitlabNetClient) { assert.NoError(t, err) assert.Equal(t, string(responseBody), "Hello") - assert.Equal(t, 1, len(hook.Entries)) - assert.Equal(t, logrus.InfoLevel, hook.LastEntry().Level) - assert.True(t, strings.Contains(hook.LastEntry().Message, "method=GET")) - assert.True(t, strings.Contains(hook.LastEntry().Message, "Finished HTTP request")) + entries := hook.AllEntries() + assert.Equal(t, 1, len(entries)) + assert.Equal(t, logrus.InfoLevel, entries[0].Level) + assert.Contains(t, entries[0].Message, "method=GET") + assert.Contains(t, entries[0].Message, "status=200") + assert.Contains(t, entries[0].Message, "Finished HTTP request") }) } @@ -146,10 +147,12 @@ func testSuccessfulPost(t *testing.T, client *GitlabNetClient) { assert.NoError(t, err) assert.Equal(t, "Echo: {\"key\":\"value\"}", string(responseBody)) - assert.Equal(t, 1, len(hook.Entries)) - assert.Equal(t, logrus.InfoLevel, hook.LastEntry().Level) - assert.True(t, strings.Contains(hook.LastEntry().Message, "method=POST")) - assert.True(t, strings.Contains(hook.LastEntry().Message, "Finished HTTP request")) + entries := hook.AllEntries() + assert.Equal(t, 1, len(entries)) + assert.Equal(t, logrus.InfoLevel, entries[0].Level) + assert.Contains(t, entries[0].Message, "method=POST") + assert.Contains(t, entries[0].Message, "status=200") + assert.Contains(t, entries[0].Message, "Finished HTTP request") }) } @@ -160,10 +163,12 @@ func testMissing(t *testing.T, client *GitlabNetClient) { assert.EqualError(t, err, "Internal API error (404)") assert.Nil(t, response) - assert.Equal(t, 1, len(hook.Entries)) - assert.Equal(t, logrus.InfoLevel, hook.LastEntry().Level) - assert.True(t, strings.Contains(hook.LastEntry().Message, "method=GET")) - assert.True(t, strings.Contains(hook.LastEntry().Message, "Internal API error")) + entries := hook.AllEntries() + assert.Equal(t, 1, len(entries)) + assert.Equal(t, logrus.InfoLevel, entries[0].Level) + assert.Contains(t, entries[0].Message, "method=GET") + assert.Contains(t, entries[0].Message, "status=404") + assert.Contains(t, entries[0].Message, "Internal API error") }) t.Run("Missing error for POST", func(t *testing.T) { @@ -172,10 +177,12 @@ func testMissing(t *testing.T, client *GitlabNetClient) { assert.EqualError(t, err, "Internal API error (404)") assert.Nil(t, response) - assert.Equal(t, 1, len(hook.Entries)) - assert.Equal(t, logrus.InfoLevel, hook.LastEntry().Level) - assert.True(t, strings.Contains(hook.LastEntry().Message, "method=POST")) - assert.True(t, strings.Contains(hook.LastEntry().Message, "Internal API error")) + entries := hook.AllEntries() + assert.Equal(t, 1, len(entries)) + assert.Equal(t, logrus.InfoLevel, entries[0].Level) + assert.Contains(t, entries[0].Message, "method=POST") + assert.Contains(t, entries[0].Message, "status=404") + assert.Contains(t, entries[0].Message, "Internal API error") }) } @@ -195,15 +202,33 @@ 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("/broken") assert.EqualError(t, err, "Internal API unreachable") assert.Nil(t, response) + + entries := hook.AllEntries() + assert.Equal(t, 1, len(entries)) + assert.Equal(t, logrus.InfoLevel, entries[0].Level) + assert.Contains(t, entries[0].Message, "method=GET") + assert.NotContains(t, entries[0].Message, "status=") + assert.Contains(t, entries[0].Message, "Internal API unreachable") }) t.Run("Broken request for POST", func(t *testing.T) { + hook := testhelper.SetupLogger() + response, err := client.Post("/broken", map[string]string{}) assert.EqualError(t, err, "Internal API unreachable") assert.Nil(t, response) + + entries := hook.AllEntries() + assert.Equal(t, 1, len(entries)) + assert.Equal(t, logrus.InfoLevel, entries[0].Level) + assert.Contains(t, entries[0].Message, "method=POST") + assert.NotContains(t, entries[0].Message, "status=") + assert.Contains(t, entries[0].Message, "Internal API unreachable") }) } |