@@ -537,27 +537,26 @@ func TestKubeMiddleware(t *testing.T) {
537
537
require .NoError (t , err )
538
538
539
539
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
541
541
// 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 ) {
543
543
rw = responsewriters .NewMemoryResponseWriter ()
544
544
// HandleRequest will reissue certificate if needed.
545
545
km .HandleRequest (rw , req )
546
546
547
547
// 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" )
549
550
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" )
555
558
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 )
561
560
})
562
561
563
562
getStartCerts := func () KubeClientCerts {
0 commit comments