@@ -17,6 +17,7 @@ import (
17
17
"github.com/coder/coder/v2/coderd/autobuild"
18
18
"github.com/coder/coder/v2/coderd/coderdtest"
19
19
"github.com/coder/coder/v2/coderd/database"
20
+ "github.com/coder/coder/v2/coderd/database/dbauthz"
20
21
"github.com/coder/coder/v2/coderd/schedule"
21
22
"github.com/coder/coder/v2/coderd/schedule/cron"
22
23
"github.com/coder/coder/v2/coderd/util/ptr"
@@ -849,25 +850,32 @@ func TestExecutorRequireActiveVersion(t *testing.T) {
849
850
ticker = make (chan time.Time )
850
851
statCh = make (chan autobuild.Stats )
851
852
852
- ownerClient = coderdtest .New (t , & coderdtest.Options {
853
+ ownerClient , db = coderdtest .NewWithDatabase (t , & coderdtest.Options {
853
854
AutobuildTicker : ticker ,
854
855
IncludeProvisionerDaemon : true ,
855
856
AutobuildStats : statCh ,
856
857
TemplateScheduleStore : schedule .NewAGPLTemplateScheduleStore (),
857
858
})
858
859
)
860
+ ctx := testutil .Context (t , testutil .WaitShort )
859
861
owner := coderdtest .CreateFirstUser (t , ownerClient )
862
+ me , err := ownerClient .User (ctx , codersdk .Me )
863
+ require .NoError (t , err )
860
864
861
865
// Create an active and inactive template version. We'll
862
866
// build a regular member's workspace using a non-active
863
867
// template version and assert that the field is not abided
864
868
// since there is no enterprise license.
865
869
activeVersion := coderdtest .CreateTemplateVersion (t , ownerClient , owner .OrganizationID , nil )
866
870
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 ,
870
877
})
878
+ require .NoError (t , err )
871
879
inactiveVersion := coderdtest .CreateTemplateVersion (t , ownerClient , owner .OrganizationID , nil , func (ctvr * codersdk.CreateTemplateVersionRequest ) {
872
880
ctvr .TemplateID = template .ID
873
881
})
0 commit comments