diff --git a/invopop/invopop.go b/invopop/invopop.go index c303c26..3e370c4 100644 --- a/invopop/invopop.go +++ b/invopop/invopop.go @@ -3,6 +3,7 @@ package invopop import ( "context" + "net/http" "github.com/go-resty/resty/v2" ) @@ -26,6 +27,11 @@ const ( clientKey invopopClientKey = "invopop-client" ) +// HTTPClient returns the underlying HTTP client (useful for mocking). +func (c *Client) HTTPClient() *http.Client { + return c.conn.GetClient() +} + // Utils provides access to the utils service. func (c *Client) Utils() *UtilsService { return (*UtilsService)(c.svc) diff --git a/invopop/invopop_test.go b/invopop/invopop_test.go index ebf6351..60e26a2 100644 --- a/invopop/invopop_test.go +++ b/invopop/invopop_test.go @@ -47,3 +47,11 @@ func Test_put(t *testing.T) { }) } } + +func TestHTTPClient(t *testing.T) { + hc := new(http.Client) + c := &Client{ + conn: resty.NewWithClient(hc), + } + assert.Equal(t, hc, c.HTTPClient()) +}