X-Git-Url: https://git.giacomolli.uk/onehouse/blobdiff_plain/b9a4f3bdd2609a8b178dd42f313c383ccb59049b..c36e60046f72af3d0803943185526c27b10aa4ae:/driver/alamo/http_client_test.go diff --git a/driver/alamo/http_client_test.go b/driver/alamo/http_client_test.go index 7ee0e36..1c8f8a0 100644 --- a/driver/alamo/http_client_test.go +++ b/driver/alamo/http_client_test.go @@ -15,8 +15,6 @@ import ( "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 @@ -251,6 +249,18 @@ func TestHTTPClientDoesNotFollowRedirects(t *testing.T) { 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) {