"github.com/stretchr/testify/require"
)
-const validRecord = `{"mac":"FC610E7F98AA","power":0,"stemp":20,"temp":19.5,"sensor":23,"ativo":0,"bloqueio":1}`
-
func TestHTTPClientReadsAllRecordsAndOrderedActionFields(t *testing.T) {
var requests []*http.Request
require.Equal(t, 1, calls)
}
+func TestHTTPClientKeepsIndependentFailureAlongsideCancellation(t *testing.T) {
+ client, err := NewHTTPClient("http://example.com", &http.Client{Transport: roundTripFunc(func(_ *http.Request) (*http.Response, error) {
+ return nil, errors.Join(context.Canceled, errors.New("secret"))
+ })})
+ require.NoError(t, err)
+
+ _, err = client.Status(t.Context())
+ require.ErrorIs(t, err, context.Canceled)
+ require.ErrorContains(t, err, "gateway transport failed")
+ require.NotContains(t, err.Error(), "secret")
+}
+
type roundTripFunc func(*http.Request) (*http.Response, error)
func (f roundTripFunc) RoundTrip(request *http.Request) (*http.Response, error) {