Skip to content

Commit 050095e

Browse files
authored
Deflake TestKubeMiddleware (#52717)
1 parent 03bb5c4 commit 050095e

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
@@ -534,27 +534,26 @@ func TestKubeMiddleware(t *testing.T) {
534534
require.NoError(t, err)
535535

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

544544
// request timed out.
545-
return rw.Status() == http.StatusInternalServerError
545+
assert.Equal(t, http.StatusInternalServerError, rw.Status())
546+
assert.Contains(t, rw.Buffer().String(), "context canceled")
546547

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

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

560559
getStartCerts := func() KubeClientCerts {

0 commit comments

Comments
 (0)