summaryrefslogtreecommitdiff
path: root/test/integration/http.go
blob: 951d9715fe3c9f17d77894a6b98fbf4e206a6925 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
package test

import (
	"context"
	"net/http"
	"testing"
	"time"

	"github.com/stretchr/testify/require"
)

type testTransport struct {
	t *testing.T
}

func (r *testTransport) RoundTrip(request *http.Request) (*http.Response, error) {
	response, err := http.DefaultTransport.RoundTrip(request)
	r.t.Logf("%v %v %v %v\n", request.Method, request.URL, response.StatusCode, err)
	return response, err
}

func HttpGet(t *testing.T, ctx context.Context, path string) *http.Response {
	client := &http.Client{
		Timeout:   5 * time.Second,
		Transport: &testTransport{t: t},
	}

	request, err := http.NewRequestWithContext(ctx, http.MethodGet, path, nil)
	require.NoError(t, err)

	response, err := client.Do(request)
	require.NoError(t, err)

	return response
}