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.go59
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")
})
}