Browse Source

client: minor test improvements for requests

- use assert.Check() where possible to not fail early
- improve checks for error-types
- rename "testURL" var to be more descriptive, and use a const

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Sebastiaan van Stijn 2 years ago
parent
commit
1370b3c679
1 changed files with 21 additions and 21 deletions
  1. 21 21
      client/request_test.go

+ 21 - 21
client/request_test.go

@@ -21,7 +21,7 @@ import (
 // TestSetHostHeader should set fake host for local communications, set real host
 // for normal communications.
 func TestSetHostHeader(t *testing.T) {
-	const testURL = "/test"
+	const testEndpoint = "/test"
 	testCases := []struct {
 		host            string
 		expectedHost    string
@@ -57,8 +57,8 @@ func TestSetHostHeader(t *testing.T) {
 
 			client := &Client{
 				client: newMockClient(func(req *http.Request) (*http.Response, error) {
-					if !strings.HasPrefix(req.URL.Path, testURL) {
-						return nil, fmt.Errorf("expected URL %q, got %q", testURL, req.URL)
+					if !strings.HasPrefix(req.URL.Path, testEndpoint) {
+						return nil, fmt.Errorf("expected URL %q, got %q", testEndpoint, req.URL)
 					}
 					if req.Host != tc.expectedHost {
 						return nil, fmt.Errorf("wxpected host %q, got %q", tc.expectedHost, req.Host)
@@ -77,7 +77,7 @@ func TestSetHostHeader(t *testing.T) {
 				basePath: hostURL.Path,
 			}
 
-			_, err = client.sendRequest(context.Background(), http.MethodGet, testURL, nil, nil, nil)
+			_, err = client.sendRequest(context.Background(), http.MethodGet, testEndpoint, nil, nil, nil)
 			assert.Check(t, err)
 		})
 	}
@@ -98,9 +98,11 @@ func TestInfiniteError(t *testing.T) {
 	infinitR := rand.New(rand.NewSource(42))
 	client := &Client{
 		client: newMockClient(func(req *http.Request) (*http.Response, error) {
-			resp := &http.Response{StatusCode: http.StatusInternalServerError}
-			resp.Header = http.Header{}
-			resp.Body = io.NopCloser(infinitR)
+			resp := &http.Response{
+				StatusCode: http.StatusInternalServerError,
+				Header:     http.Header{},
+				Body:       io.NopCloser(infinitR),
+			}
 			return resp, nil
 		}),
 	}
@@ -110,32 +112,30 @@ func TestInfiniteError(t *testing.T) {
 }
 
 func TestCanceledContext(t *testing.T) {
-	testURL := "/test"
+	const testEndpoint = "/test"
 
 	client := &Client{
 		client: newMockClient(func(req *http.Request) (*http.Response, error) {
-			assert.Equal(t, req.Context().Err(), context.Canceled)
-
-			return &http.Response{}, context.Canceled
+			assert.Check(t, is.ErrorType(req.Context().Err(), context.Canceled))
+			return nil, context.Canceled
 		}),
 	}
 
 	ctx, cancel := context.WithCancel(context.Background())
 	cancel()
 
-	_, err := client.sendRequest(ctx, http.MethodGet, testURL, nil, nil, nil)
-	assert.Equal(t, true, errdefs.IsCancelled(err))
-	assert.Equal(t, true, errors.Is(err, context.Canceled))
+	_, err := client.sendRequest(ctx, http.MethodGet, testEndpoint, nil, nil, nil)
+	assert.Check(t, is.ErrorType(err, errdefs.IsCancelled))
+	assert.Check(t, errors.Is(err, context.Canceled))
 }
 
 func TestDeadlineExceededContext(t *testing.T) {
-	testURL := "/test"
+	const testEndpoint = "/test"
 
 	client := &Client{
 		client: newMockClient(func(req *http.Request) (*http.Response, error) {
-			assert.Equal(t, req.Context().Err(), context.DeadlineExceeded)
-
-			return &http.Response{}, context.DeadlineExceeded
+			assert.Check(t, is.ErrorType(req.Context().Err(), context.DeadlineExceeded))
+			return nil, context.DeadlineExceeded
 		}),
 	}
 
@@ -144,7 +144,7 @@ func TestDeadlineExceededContext(t *testing.T) {
 
 	<-ctx.Done()
 
-	_, err := client.sendRequest(ctx, http.MethodGet, testURL, nil, nil, nil)
-	assert.Equal(t, true, errdefs.IsDeadline(err))
-	assert.Equal(t, true, errors.Is(err, context.DeadlineExceeded))
+	_, err := client.sendRequest(ctx, http.MethodGet, testEndpoint, nil, nil, nil)
+	assert.Check(t, is.ErrorType(err, errdefs.IsDeadline))
+	assert.Check(t, errors.Is(err, context.DeadlineExceeded))
 }