github.com/newrelic/newrelic-client-go@v1.1.0/pkg/testhelpers/mock.go (about) 1 package testhelpers 2 3 import ( 4 "net/http" 5 "net/http/httptest" 6 "testing" 7 8 "github.com/stretchr/testify/require" 9 ) 10 11 // NewMockServer creates a server to respond to API calls for unit tests 12 func NewMockServer(t *testing.T, mockJSONResponse string, statusCode int) *httptest.Server { 13 ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { 14 w.Header().Set("Content-Type", "application/json") 15 w.WriteHeader(statusCode) 16 17 _, err := w.Write([]byte(mockJSONResponse)) 18 19 require.NoError(t, err) 20 })) 21 22 return ts 23 }