MCPcopy Index your code
hub / github.com/coder/coder / TestChatStartWorkspace_RequireActiveVersion

Function TestChatStartWorkspace_RequireActiveVersion

coderd/exp_chats_test.go:14192–14231  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

14190}
14191
14192func TestChatStartWorkspace_RequireActiveVersion(t *testing.T) {
14193 t.Parallel()
14194
14195 ctx := testutil.Context(t, testutil.WaitLong)
14196 rawClient, _, api := coderdtest.NewWithAPI(t, &coderdtest.Options{})
14197 var store dbauthz.AccessControlStore = requireActiveVersionStore{}
14198 api.AccessControlStore.Store(&store)
14199 db := api.Database
14200 user := coderdtest.CreateFirstUser(t, rawClient)
14201
14202 // Given: active template version v1 plus workspace stopped on v1.
14203 wsResp := dbfake.WorkspaceBuild(t, db, database.WorkspaceTable{
14204 OwnerID: user.UserID,
14205 OrganizationID: user.OrganizationID,
14206 }).Seed(database.WorkspaceBuild{
14207 Transition: database.WorkspaceTransitionStop,
14208 }).Do()
14209 tmplID := wsResp.Workspace.TemplateID
14210 v1ID := wsResp.Build.TemplateVersionID
14211
14212 // Given: a new active version v2 is published.
14213 v2Resp := dbfake.TemplateVersion(t, db).Seed(database.TemplateVersion{
14214 TemplateID: uuid.NullUUID{UUID: tmplID, Valid: true},
14215 OrganizationID: user.OrganizationID,
14216 CreatedBy: user.UserID,
14217 }).Do()
14218 v2 := v2Resp.TemplateVersion
14219 require.NotEqual(t, v1ID, v2.ID, "v2 must differ from v1")
14220
14221 // When: we start the workspace through chatStartWorkspace.
14222 build, err := coderd.ChatStartWorkspace(api, ctx, user.UserID, wsResp.Workspace.ID,
14223 codersdk.CreateWorkspaceBuildRequest{
14224 Transition: codersdk.WorkspaceTransitionStart,
14225 })
14226
14227 // Then: the build is auto-updated to the active version.
14228 require.NoError(t, err)
14229 require.Equal(t, v2.ID, build.TemplateVersionID, "build must be on the active version")
14230 require.Nil(t, build.TemplateVersionPresetID, "no preset must be applied")
14231}
14232
14233func TestChatStopWorkspace_BypassesRequireActiveVersion(t *testing.T) {
14234 t.Parallel()

Callers

nothing calls this directly

Calls 9

ContextFunction · 0.92
NewWithAPIFunction · 0.92
CreateFirstUserFunction · 0.92
WorkspaceBuildFunction · 0.92
TemplateVersionFunction · 0.92
DoMethod · 0.65
StoreMethod · 0.45
SeedMethod · 0.45
EqualMethod · 0.45

Tested by

no test coverage detected