Skip to content

Commit dd04ac6

Browse files
committed
Fix flaky tests
Signed-off-by: Guilherme Carvalho <[email protected]>
1 parent dceafe0 commit dd04ac6

File tree

1 file changed

+16
-13
lines changed

1 file changed

+16
-13
lines changed

support/oidc-discovery-provider/cert_manager_test.go

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -306,28 +306,31 @@ func TestTLSConfig(t *testing.T) {
306306

307307
// Assert error logs that will keep triggering until the cert is created again.
308308
errLogs = map[time.Time]struct{}{}
309-
for _, entry := range logHook.AllEntries() {
310-
if entry.Level == logrus.ErrorLevel && strings.Contains(entry.Message, fmt.Sprintf("Failed to get file info, file path %q does not exist anymore; please check if the path is correct", certFilePath)) {
311-
errLogs[entry.Time] = struct{}{}
309+
require.Eventuallyf(t, func() bool {
310+
for _, entry := range logHook.AllEntries() {
311+
if entry.Level == logrus.ErrorLevel && strings.Contains(entry.Message, fmt.Sprintf("Failed to get file info, file path %q does not exist anymore; please check if the path is correct", certFilePath)) {
312+
errLogs[entry.Time] = struct{}{}
313+
}
312314
}
313-
}
314-
315-
require.Len(t, errLogs, 5)
315+
return len(errLogs) == 5
316+
}, 10*time.Second, 10*time.Millisecond, "Failed to assert error logs")
316317

317318
writeFile(t, keyFilePath, oidcServerKeyPem)
318319

319320
writeFile(t, certFilePath, oidcServerCertPem)
320321

321322
clk.Add(10 * time.Millisecond)
322323

323-
require.Equal(t, "Loaded provided certificate with success", logHook.LastEntry().Message)
324+
require.Eventuallyf(t, func() bool {
325+
cert, err := tlsConfig.GetCertificate(chInfo)
326+
require.NoError(t, err)
327+
require.Len(t, cert.Certificate, 1)
328+
x509Cert, err := x509.ParseCertificate(cert.Certificate[0])
329+
require.NoError(t, err)
330+
require.Equal(t, oidcServerCert, x509Cert)
324331

325-
cert, err := tlsConfig.GetCertificate(chInfo)
326-
require.NoError(t, err)
327-
require.Len(t, cert.Certificate, 1)
328-
x509Cert, err := x509.ParseCertificate(cert.Certificate[0])
329-
require.NoError(t, err)
330-
require.Equal(t, oidcServerCert, x509Cert)
332+
return reflect.DeepEqual(oidcServerCert, x509Cert) && logHook.LastEntry().Message == "Loaded provided certificate with success"
333+
}, 10*time.Second, 10*time.Millisecond, "Failed to assert error logs")
331334
})
332335

333336
t.Run("stop file watcher when context is canceled", func(t *testing.T) {

0 commit comments

Comments
 (0)