Skip to content

Commit e3ad325

Browse files
committed
chore: Manually check template version to control timeout
1 parent 0a7642c commit e3ad325

File tree

1 file changed

+17
-4
lines changed

1 file changed

+17
-4
lines changed

coderd/templateversions_test.go

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import (
1010
"github.com/stretchr/testify/assert"
1111
"github.com/stretchr/testify/require"
1212
"golang.org/x/sync/errgroup"
13+
"golang.org/x/xerrors"
1314

1415
"github.com/coder/coder/coderd/coderdtest"
1516
"github.com/coder/coder/codersdk"
@@ -851,10 +852,22 @@ func TestPaginatedTemplateVersions(t *testing.T) {
851852
})
852853
}
853854
err := eg.Wait()
854-
require.NoError(t, err)
855-
856-
for _, id := range templateVersionIDs {
857-
_ = coderdtest.AwaitTemplateVersionJob(t, client, id)
855+
require.NoError(t, err, "create templates failed")
856+
857+
for i := 0; i < len(templateVersionIDs); i++ {
858+
// We don't use coderdtest.AwaitTemplateVersionJob here because
859+
// we can't control the timeouts, the concurrent creations take
860+
// a while.
861+
templateVersion, err := client.TemplateVersion(ctx, templateVersionIDs[i])
862+
if err == nil && templateVersion.Job.CompletedAt != nil {
863+
break
864+
}
865+
if xerrors.Is(err, context.DeadlineExceeded) {
866+
require.NoError(t, err, "template version %d not created in time", i)
867+
}
868+
// Retry.
869+
time.Sleep(25 * time.Millisecond)
870+
i--
858871
}
859872

860873
templateVersions, err := client.TemplateVersionsByTemplate(ctx,

0 commit comments

Comments
 (0)