aboutsummaryrefslogtreecommitdiffstats
path: root/http/http_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'http/http_test.go')
-rw-r--r--http/http_test.go22
1 files changed, 13 insertions, 9 deletions
diff --git a/http/http_test.go b/http/http_test.go
index e964e3b..bdeb213 100644
--- a/http/http_test.go
+++ b/http/http_test.go
@@ -39,17 +39,17 @@ func testServer() (*httptest.Server, *Server) {
return httptest.NewServer(server.handler()), &server
}
-func httpGet(url string) (string, int, error) {
+func httpGet(url string) (*http.Response, string, error) {
res, err := http.Get(url)
if err != nil {
- return "", 0, err
+ return nil, "", err
}
defer res.Body.Close()
data, err := ioutil.ReadAll(res.Body)
if err != nil {
- return "", 0, err
+ return nil, "", err
}
- return string(data), res.StatusCode, nil
+ return res, string(data), nil
}
func TestRequests(t *testing.T) {
@@ -84,23 +84,27 @@ func TestRequests(t *testing.T) {
for i, tt := range tests {
var (
- data string
- status int
- err error
+ resp *http.Response
+ data string
+ err error
)
switch tt.method {
case http.MethodGet:
- data, status, err = httpGet(httpSrv.URL + tt.url)
+ resp, data, err = httpGet(httpSrv.URL + tt.url)
default:
t.Fatalf("#%d: invalid method: %s", i, tt.method)
}
if err != nil {
t.Fatal(err)
}
- if got := status; status != tt.status {
+ if got := resp.StatusCode; got != tt.status {
t.Errorf("#%d: %s %s returned status %d, want %d", i, tt.method, tt.url, got, tt.status)
}
+ if got, want := resp.Header.Get("Content-Type"), "application/json"; got != want {
+ t.Errorf("#%d: got Content-Type %q, want %q", i, got, want)
+ }
+
got := string(data)
want := regexp.QuoteMeta(tt.response)
want = strings.ReplaceAll(want, "RFC3339", `\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z`)