Skip to content

Commit 0a821a5

Browse files
authored
Deflake TestKubeMiddleware (#52717) (#52745)
1 parent bf8e3cf commit 0a821a5

File tree

1 file changed

+12
-13
lines changed

1 file changed

+12
-13
lines changed

lib/srv/alpnproxy/local_proxy_test.go

+12-13
Original file line numberDiff line numberDiff line change
@@ -537,27 +537,26 @@ func TestKubeMiddleware(t *testing.T) {
537537
require.NoError(t, err)
538538

539539
var rw *responsewriters.MemoryResponseWriter
540-
// We use `require.Eventually` to avoid a very rare test flakiness case when reissue goroutine manages to
540+
// We use `require.EventuallyWithT` to avoid a very rare test flakiness case when reissue goroutine manages to
541541
// successfully finish before the parent goroutine has a chance to check the context (and see that it's expired).
542-
require.Eventually(t, func() bool {
542+
require.EventuallyWithT(t, func(t *assert.CollectT) {
543543
rw = responsewriters.NewMemoryResponseWriter()
544544
// HandleRequest will reissue certificate if needed.
545545
km.HandleRequest(rw, req)
546546

547547
// request timed out.
548-
return rw.Status() == http.StatusInternalServerError
548+
assert.Equal(t, http.StatusInternalServerError, rw.Status())
549+
assert.Contains(t, rw.Buffer().String(), "context canceled")
549550

550-
}, 5*time.Second, 100*time.Millisecond)
551-
require.Contains(t, rw.Buffer().String(), "context canceled")
552-
553-
// just let the reissuing goroutine some time to replace certs.
554-
time.Sleep(10 * time.Millisecond)
551+
// but certificate still was reissued.
552+
certs, err := km.OverwriteClientCerts(req)
553+
assert.NoError(t, err)
554+
if !assert.Len(t, certs, 1) {
555+
return
556+
}
557+
assert.Equal(t, newCert, certs[0], "certificate was not reissued")
555558

556-
// but certificate still was reissued.
557-
certs, err := km.OverwriteClientCerts(req)
558-
require.NoError(t, err)
559-
require.Len(t, certs, 1)
560-
require.Equal(t, newCert, certs[0], "certificate was not reissued")
559+
}, 15*time.Second, 100*time.Millisecond)
561560
})
562561

563562
getStartCerts := func() KubeClientCerts {

0 commit comments

Comments
 (0)