Skip to content

Commit a5afd32

Browse files
committed
fix: requestCompleted logic and comments
1 parent 1403e2c commit a5afd32

File tree

2 files changed

+12
-14
lines changed

2 files changed

+12
-14
lines changed

client/rest/client_test.go

+10-14
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
package rest
1919

2020
import (
21-
"fmt"
2221
"net/http"
2322
"net/http/httptest"
2423

@@ -50,26 +49,23 @@ func TestClosedConnection(t *testing.T) {
5049
if req, err := http.NewRequest(http.MethodGet, testServer.URL, nil); err != nil {
5150
t.Fatalf("error creating request %v", err)
5251
} else {
53-
didSucceed := false
52+
requestCompleted := false
5453

55-
// make request in separate goroutine so we can end it early after the first retry
54+
// make request in separate goroutine so its not blocking after we validated the retry
5655
go func() {
57-
// end request on the second attempt after a closed connection
58-
if res, err := client.Send(req); err != nil {
59-
fmt.Println(err)
60-
} else if res.Status == "200" {
61-
didSucceed = true
62-
}
56+
client.Send(req)
57+
requestCompleted = true
6358
}()
6459

65-
for attempt < 3 {
66-
if attempt > 1 {
67-
return
60+
// block until attempt is > 2 or request succeeds
61+
for attempt <= 2 {
62+
if attempt > 1 || requestCompleted {
63+
break
6864
}
6965
}
7066

71-
if didSucceed {
72-
t.Fatalf("expected an attempted retry but the request succeeded")
67+
if requestCompleted {
68+
t.Fatalf("expected an attempted retry but the request completed")
7369
}
7470
}
7571
}

client/rest/utils.go

+2
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,8 @@ var ClosedConnectionMsg = "An existing connection was forcibly closed by the rem
126126

127127
func IsClosedConnectionErr(err error) bool {
128128
closedFromClient := strings.Contains(err.Error(), ClosedConnectionMsg)
129+
// Mocking http.Do would require a larger refactor,
130+
// so closedFromTestCase is used for testing only.
129131
closedFromTestCase := strings.HasSuffix(err.Error(), ": EOF")
130132
return closedFromClient || closedFromTestCase
131133
}

0 commit comments

Comments
 (0)