Skip to content

Commit f705f9a

Browse files
authored
test: ensure RequireActiveVersion is actually set when testing with AGPL store (coder#12843)
1 parent 7698cfd commit f705f9a

File tree

1 file changed

+12
-4
lines changed

1 file changed

+12
-4
lines changed

coderd/autobuild/lifecycle_executor_test.go

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import (
1717
"github.com/coder/coder/v2/coderd/autobuild"
1818
"github.com/coder/coder/v2/coderd/coderdtest"
1919
"github.com/coder/coder/v2/coderd/database"
20+
"github.com/coder/coder/v2/coderd/database/dbauthz"
2021
"github.com/coder/coder/v2/coderd/schedule"
2122
"github.com/coder/coder/v2/coderd/schedule/cron"
2223
"github.com/coder/coder/v2/coderd/util/ptr"
@@ -849,25 +850,32 @@ func TestExecutorRequireActiveVersion(t *testing.T) {
849850
ticker = make(chan time.Time)
850851
statCh = make(chan autobuild.Stats)
851852

852-
ownerClient = coderdtest.New(t, &coderdtest.Options{
853+
ownerClient, db = coderdtest.NewWithDatabase(t, &coderdtest.Options{
853854
AutobuildTicker: ticker,
854855
IncludeProvisionerDaemon: true,
855856
AutobuildStats: statCh,
856857
TemplateScheduleStore: schedule.NewAGPLTemplateScheduleStore(),
857858
})
858859
)
860+
ctx := testutil.Context(t, testutil.WaitShort)
859861
owner := coderdtest.CreateFirstUser(t, ownerClient)
862+
me, err := ownerClient.User(ctx, codersdk.Me)
863+
require.NoError(t, err)
860864

861865
// Create an active and inactive template version. We'll
862866
// build a regular member's workspace using a non-active
863867
// template version and assert that the field is not abided
864868
// since there is no enterprise license.
865869
activeVersion := coderdtest.CreateTemplateVersion(t, ownerClient, owner.OrganizationID, nil)
866870
coderdtest.AwaitTemplateVersionJobCompleted(t, ownerClient, activeVersion.ID)
867-
template := coderdtest.CreateTemplate(t, ownerClient, owner.OrganizationID, activeVersion.ID, func(ctr *codersdk.CreateTemplateRequest) {
868-
ctr.RequireActiveVersion = true
869-
ctr.VersionID = activeVersion.ID
871+
template := coderdtest.CreateTemplate(t, ownerClient, owner.OrganizationID, activeVersion.ID)
872+
//nolint We need to set this in the database directly, because the API will return an error
873+
// letting you know that this feature requires an enterprise license.
874+
err = db.UpdateTemplateAccessControlByID(dbauthz.As(ctx, coderdtest.AuthzUserSubject(me, owner.OrganizationID)), database.UpdateTemplateAccessControlByIDParams{
875+
ID: template.ID,
876+
RequireActiveVersion: true,
870877
})
878+
require.NoError(t, err)
871879
inactiveVersion := coderdtest.CreateTemplateVersion(t, ownerClient, owner.OrganizationID, nil, func(ctvr *codersdk.CreateTemplateVersionRequest) {
872880
ctvr.TemplateID = template.ID
873881
})

0 commit comments

Comments
 (0)