mirror of
https://github.com/coder/coder.git
synced 2026-10-28 02:42:54 +08:00
test: ensure RequireActiveVersion is actually set when testing with AGPL store (#12843)
This commit is contained in:
@@ -17,6 +17,7 @@ import (
|
|||||||
"github.com/coder/coder/v2/coderd/autobuild"
|
"github.com/coder/coder/v2/coderd/autobuild"
|
||||||
"github.com/coder/coder/v2/coderd/coderdtest"
|
"github.com/coder/coder/v2/coderd/coderdtest"
|
||||||
"github.com/coder/coder/v2/coderd/database"
|
"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"
|
||||||
"github.com/coder/coder/v2/coderd/schedule/cron"
|
"github.com/coder/coder/v2/coderd/schedule/cron"
|
||||||
"github.com/coder/coder/v2/coderd/util/ptr"
|
"github.com/coder/coder/v2/coderd/util/ptr"
|
||||||
@@ -849,14 +850,17 @@ func TestExecutorRequireActiveVersion(t *testing.T) {
|
|||||||
ticker = make(chan time.Time)
|
ticker = make(chan time.Time)
|
||||||
statCh = make(chan autobuild.Stats)
|
statCh = make(chan autobuild.Stats)
|
||||||
|
|
||||||
ownerClient = coderdtest.New(t, &coderdtest.Options{
|
ownerClient, db = coderdtest.NewWithDatabase(t, &coderdtest.Options{
|
||||||
AutobuildTicker: ticker,
|
AutobuildTicker: ticker,
|
||||||
IncludeProvisionerDaemon: true,
|
IncludeProvisionerDaemon: true,
|
||||||
AutobuildStats: statCh,
|
AutobuildStats: statCh,
|
||||||
TemplateScheduleStore: schedule.NewAGPLTemplateScheduleStore(),
|
TemplateScheduleStore: schedule.NewAGPLTemplateScheduleStore(),
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
|
ctx := testutil.Context(t, testutil.WaitShort)
|
||||||
owner := coderdtest.CreateFirstUser(t, ownerClient)
|
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
|
// Create an active and inactive template version. We'll
|
||||||
// build a regular member's workspace using a non-active
|
// 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.
|
// since there is no enterprise license.
|
||||||
activeVersion := coderdtest.CreateTemplateVersion(t, ownerClient, owner.OrganizationID, nil)
|
activeVersion := coderdtest.CreateTemplateVersion(t, ownerClient, owner.OrganizationID, nil)
|
||||||
coderdtest.AwaitTemplateVersionJobCompleted(t, ownerClient, activeVersion.ID)
|
coderdtest.AwaitTemplateVersionJobCompleted(t, ownerClient, activeVersion.ID)
|
||||||
template := coderdtest.CreateTemplate(t, ownerClient, owner.OrganizationID, activeVersion.ID, func(ctr *codersdk.CreateTemplateRequest) {
|
template := coderdtest.CreateTemplate(t, ownerClient, owner.OrganizationID, activeVersion.ID)
|
||||||
ctr.RequireActiveVersion = true
|
//nolint We need to set this in the database directly, because the API will return an error
|
||||||
ctr.VersionID = activeVersion.ID
|
// 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) {
|
inactiveVersion := coderdtest.CreateTemplateVersion(t, ownerClient, owner.OrganizationID, nil, func(ctvr *codersdk.CreateTemplateVersionRequest) {
|
||||||
ctvr.TemplateID = template.ID
|
ctvr.TemplateID = template.ID
|
||||||
})
|
})
|
||||||
|
|||||||
Reference in New Issue
Block a user