Skip to content

Commit 3988917

Browse files
authored
test(coderd): fix TestWorkspaceWatcher flake (#8612)
1 parent 80b940c commit 3988917

File tree

1 file changed

+11
-10
lines changed

1 file changed

+11
-10
lines changed

coderd/workspaces_test.go

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2121,20 +2121,14 @@ func TestWorkspaceWatcher(t *testing.T) {
21212121
return w.LatestBuild.Resources[0].Agents[0].Status == codersdk.WorkspaceAgentDisconnected
21222122
})
21232123

2124-
build := coderdtest.CreateWorkspaceBuild(t, client, workspace, database.WorkspaceTransitionStart)
2125-
wait("first is for the workspace build itself", nil)
2126-
err = client.CancelWorkspaceBuild(ctx, build.ID)
2127-
require.NoError(t, err)
2128-
wait("second is for the build cancel", nil)
2129-
21302124
err = client.UpdateWorkspace(ctx, workspace.ID, codersdk.UpdateWorkspaceRequest{
21312125
Name: "another",
21322126
})
21332127
require.NoError(t, err)
21342128
wait("update workspace name", nil)
21352129

21362130
// Add a new version that will fail.
2137-
updatedVersion := coderdtest.CreateTemplateVersion(t, client, user.OrganizationID, &echo.Responses{
2131+
badVersion := coderdtest.CreateTemplateVersion(t, client, user.OrganizationID, &echo.Responses{
21382132
Parse: echo.ParseComplete,
21392133
ProvisionPlan: echo.ProvisionComplete,
21402134
ProvisionApply: []*proto.Provision_Response{{
@@ -2147,16 +2141,16 @@ func TestWorkspaceWatcher(t *testing.T) {
21472141
}, func(req *codersdk.CreateTemplateVersionRequest) {
21482142
req.TemplateID = template.ID
21492143
})
2150-
coderdtest.AwaitTemplateVersionJob(t, client, updatedVersion.ID)
2144+
coderdtest.AwaitTemplateVersionJob(t, client, badVersion.ID)
21512145
err = client.UpdateActiveTemplateVersion(ctx, template.ID, codersdk.UpdateActiveTemplateVersion{
2152-
ID: updatedVersion.ID,
2146+
ID: badVersion.ID,
21532147
})
21542148
require.NoError(t, err)
21552149
wait("update active template version", nil)
21562150

21572151
// Build with the new template; should end up with a failure state.
21582152
_ = coderdtest.CreateWorkspaceBuild(t, client, workspace, database.WorkspaceTransitionStart, func(req *codersdk.CreateWorkspaceBuildRequest) {
2159-
req.TemplateVersionID = updatedVersion.ID
2153+
req.TemplateVersionID = badVersion.ID
21602154
})
21612155
// We want to verify pending state here, but it's possible that we reach
21622156
// failed state fast enough that we never see pending.
@@ -2166,6 +2160,13 @@ func TestWorkspaceWatcher(t *testing.T) {
21662160
wait("workspace build failed", func(w codersdk.Workspace) bool {
21672161
return w.LatestBuild.Status == codersdk.WorkspaceStatusFailed
21682162
})
2163+
2164+
closeFunc.Close()
2165+
build := coderdtest.CreateWorkspaceBuild(t, client, workspace, database.WorkspaceTransitionStart)
2166+
wait("first is for the workspace build itself", nil)
2167+
err = client.CancelWorkspaceBuild(ctx, build.ID)
2168+
require.NoError(t, err)
2169+
wait("second is for the build cancel", nil)
21692170
}
21702171

21712172
func mustLocation(t *testing.T, location string) *time.Location {

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy