Merge pull request #325 from thaJeztah/19.03_backport_harden_TestClientWithRequestTimeout

[19.03 backport] Harden TestClientWithRequestTimeout
This commit is contained in:
Andrew Hsu 2019-08-14 08:45:49 -07:00 committed by GitHub
commit 56ca630f27
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -2,7 +2,6 @@ package plugins // import "github.com/docker/docker/pkg/plugins"
import (
"bytes"
"context"
"encoding/json"
"io"
"net/http"
@ -237,6 +236,10 @@ func TestClientSendFile(t *testing.T) {
}
func TestClientWithRequestTimeout(t *testing.T) {
type timeoutError interface {
Timeout() bool
}
timeout := 1 * time.Millisecond
testHandler := func(w http.ResponseWriter, r *http.Request) {
time.Sleep(timeout + 1*time.Millisecond)
@ -251,12 +254,8 @@ func TestClientWithRequestTimeout(t *testing.T) {
assert.Assert(t, is.ErrorContains(err, ""), "expected error")
err = errors.Cause(err)
switch e := err.(type) {
case *url.Error:
err = e.Err
}
assert.DeepEqual(t, context.DeadlineExceeded, err)
assert.ErrorType(t, err, (*timeoutError)(nil))
assert.Equal(t, err.(timeoutError).Timeout(), true)
}
type testRequestWrapper struct {