diff --git a/coderd/autobuild/lifecycle_executor_test.go b/coderd/autobuild/lifecycle_executor_test.go index d8c1a4d8a8..54ceb53254 100644 --- a/coderd/autobuild/lifecycle_executor_test.go +++ b/coderd/autobuild/lifecycle_executor_test.go @@ -17,6 +17,7 @@ import ( "github.com/coder/coder/v2/coderd/autobuild" "github.com/coder/coder/v2/coderd/coderdtest" "github.com/coder/coder/v2/coderd/database" + "github.com/coder/coder/v2/coderd/database/dbauthz" "github.com/coder/coder/v2/coderd/schedule" "github.com/coder/coder/v2/coderd/schedule/cron" "github.com/coder/coder/v2/coderd/util/ptr" @@ -849,14 +850,17 @@ func TestExecutorRequireActiveVersion(t *testing.T) { ticker = make(chan time.Time) statCh = make(chan autobuild.Stats) - ownerClient = coderdtest.New(t, &coderdtest.Options{ + ownerClient, db = coderdtest.NewWithDatabase(t, &coderdtest.Options{ AutobuildTicker: ticker, IncludeProvisionerDaemon: true, AutobuildStats: statCh, TemplateScheduleStore: schedule.NewAGPLTemplateScheduleStore(), }) ) + ctx := testutil.Context(t, testutil.WaitShort) owner := coderdtest.CreateFirstUser(t, ownerClient) + me, err := ownerClient.User(ctx, codersdk.Me) + require.NoError(t, err) // Create an active and inactive template version. We'll // build a regular member's workspace using a non-active @@ -864,10 +868,14 @@ func TestExecutorRequireActiveVersion(t *testing.T) { // since there is no enterprise license. activeVersion := coderdtest.CreateTemplateVersion(t, ownerClient, owner.OrganizationID, nil) coderdtest.AwaitTemplateVersionJobCompleted(t, ownerClient, activeVersion.ID) - template := coderdtest.CreateTemplate(t, ownerClient, owner.OrganizationID, activeVersion.ID, func(ctr *codersdk.CreateTemplateRequest) { - ctr.RequireActiveVersion = true - ctr.VersionID = activeVersion.ID + template := coderdtest.CreateTemplate(t, ownerClient, owner.OrganizationID, activeVersion.ID) + //nolint We need to set this in the database directly, because the API will return an error + // letting you know that this feature requires an enterprise license. + err = db.UpdateTemplateAccessControlByID(dbauthz.As(ctx, coderdtest.AuthzUserSubject(me, owner.OrganizationID)), database.UpdateTemplateAccessControlByIDParams{ + ID: template.ID, + RequireActiveVersion: true, }) + require.NoError(t, err) inactiveVersion := coderdtest.CreateTemplateVersion(t, ownerClient, owner.OrganizationID, nil, func(ctvr *codersdk.CreateTemplateVersionRequest) { ctvr.TemplateID = template.ID })