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  }