Skip to content

Commit 10204ba

Browse files
authored
chore: retry healthcheck in proxy region test (coder#10729)
1 parent 9ac44aa commit 10204ba

File tree

1 file changed

+29
-3
lines changed

1 file changed

+29
-3
lines changed

enterprise/coderd/workspaceproxy_test.go

Lines changed: 29 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -115,9 +115,35 @@ func TestRegions(t *testing.T) {
115115
proxy, err := db.GetWorkspaceProxyByName(ctx, proxyName)
116116
require.NoError(t, err)
117117

118-
// Refresh proxy health.
119-
err = api.ProxyHealth.ForceUpdate(ctx)
120-
require.NoError(t, err)
118+
// Wait for the proxy to become healthy.
119+
require.Eventually(t, func() bool {
120+
healthCtx := testutil.Context(t, testutil.WaitLong)
121+
err := api.ProxyHealth.ForceUpdate(healthCtx)
122+
if !assert.NoError(t, err) {
123+
return false
124+
}
125+
126+
wps, err := client.WorkspaceProxies(ctx)
127+
if !assert.NoError(t, err) {
128+
return false
129+
}
130+
if !assert.Len(t, wps.Regions, 2) {
131+
return false
132+
}
133+
for _, wp := range wps.Regions {
134+
if !wp.Healthy {
135+
t.Logf("region %q is not healthy yet, retrying healthcheck", wp.Name)
136+
for _, errMsg := range wp.Status.Report.Errors {
137+
t.Logf(" - error: %s", errMsg)
138+
}
139+
for _, warnMsg := range wp.Status.Report.Warnings {
140+
t.Logf(" - warning: %s", warnMsg)
141+
}
142+
return false
143+
}
144+
}
145+
return true
146+
}, testutil.WaitLong, testutil.IntervalMedium)
121147

122148
regions, err := client.Regions(ctx)
123149
require.NoError(t, err)

0 commit comments

Comments
 (0)