From 5e95c25d4fd3da2b4afd09c371aed61b9789f062 Mon Sep 17 00:00:00 2001 From: Matt Moyer Date: Mon, 22 Mar 2021 11:33:02 -0500 Subject: [PATCH] Tweak some assertions in TestSupervisorOIDCDiscovery. We've seen some test flakes caused by this test. Some small changes: - Use a 30s timeout for each iteration of the test loop (so each iteration needs to check or fail more quickly). - Log a bit more during the checks so we can diagnose what's going on. - Increase the overall timeout from one minute to five minutes Signed-off-by: Matt Moyer --- test/integration/supervisor_discovery_test.go | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/test/integration/supervisor_discovery_test.go b/test/integration/supervisor_discovery_test.go index c164cb7b5..d3b445e55 100644 --- a/test/integration/supervisor_discovery_test.go +++ b/test/integration/supervisor_discovery_test.go @@ -602,18 +602,25 @@ func requireDelete(t *testing.T, client pinnipedclientset.Interface, ns, name st func requireStatus(t *testing.T, client pinnipedclientset.Interface, ns, name string, status v1alpha1.FederationDomainStatusCondition) { t.Helper() - ctx, cancel := context.WithTimeout(context.Background(), 2*time.Minute) - defer cancel() var federationDomain *v1alpha1.FederationDomain var err error assert.Eventually(t, func() bool { + ctx, cancel := context.WithTimeout(context.Background(), 30*time.Second) + defer cancel() + federationDomain, err = client.ConfigV1alpha1().FederationDomains(ns).Get(ctx, name, metav1.GetOptions{}) if err != nil { - t.Logf("error trying to get FederationDomain: %s", err.Error()) + t.Logf("error trying to get FederationDomain %s/%s: %v", ns, name, err) + return false } - return err == nil && federationDomain.Status.Status == status - }, time.Minute, 200*time.Millisecond) + + if federationDomain.Status.Status != status { + t.Logf("found FederationDomain %s/%s with status %s", ns, name, federationDomain.Status.Status) + return false + } + return true + }, 5*time.Minute, 200*time.Millisecond) require.NoError(t, err) require.Equalf(t, status, federationDomain.Status.Status, "unexpected status (message = '%s')", federationDomain.Status.Message) }