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

Method TestPrebuilds

coderd/database/dbauthz/dbauthz_test.go:5368–5507  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

5366}
5367
5368func (s *MethodTestSuite) TestPrebuilds() {
5369 s.Run("GetPresetByWorkspaceBuildID", s.Mocked(func(dbm *dbmock.MockStore, faker *gofakeit.Faker, check *expects) {
5370 wbID := uuid.New()
5371 dbm.EXPECT().GetPresetByWorkspaceBuildID(gomock.Any(), wbID).Return(testutil.Fake(s.T(), faker, database.TemplateVersionPreset{}), nil).AnyTimes()
5372 check.Args(wbID).Asserts(rbac.ResourceTemplate, policy.ActionRead)
5373 }))
5374 s.Run("GetPresetParametersByTemplateVersionID", s.Mocked(func(dbm *dbmock.MockStore, faker *gofakeit.Faker, check *expects) {
5375 tpl := testutil.Fake(s.T(), faker, database.Template{})
5376 tv := testutil.Fake(s.T(), faker, database.TemplateVersion{TemplateID: uuid.NullUUID{UUID: tpl.ID, Valid: true}, OrganizationID: tpl.OrganizationID, CreatedBy: tpl.CreatedBy})
5377 resp := []database.TemplateVersionPresetParameter{testutil.Fake(s.T(), faker, database.TemplateVersionPresetParameter{})}
5378
5379 dbm.EXPECT().GetTemplateVersionByID(gomock.Any(), tv.ID).Return(tv, nil).AnyTimes()
5380 dbm.EXPECT().GetTemplateByID(gomock.Any(), tpl.ID).Return(tpl, nil).AnyTimes()
5381 dbm.EXPECT().GetPresetParametersByTemplateVersionID(gomock.Any(), tv.ID).Return(resp, nil).AnyTimes()
5382 check.Args(tv.ID).Asserts(tpl.RBACObject(), policy.ActionRead).Returns(resp)
5383 }))
5384 s.Run("GetPresetParametersByPresetID", s.Mocked(func(dbm *dbmock.MockStore, faker *gofakeit.Faker, check *expects) {
5385 tpl := testutil.Fake(s.T(), faker, database.Template{})
5386 prow := database.GetPresetByIDRow{TemplateID: uuid.NullUUID{UUID: tpl.ID, Valid: true}, OrganizationID: tpl.OrganizationID}
5387 resp := []database.TemplateVersionPresetParameter{testutil.Fake(s.T(), faker, database.TemplateVersionPresetParameter{})}
5388
5389 dbm.EXPECT().GetPresetByID(gomock.Any(), prow.ID).Return(prow, nil).AnyTimes()
5390 dbm.EXPECT().GetTemplateByID(gomock.Any(), tpl.ID).Return(tpl, nil).AnyTimes()
5391 dbm.EXPECT().GetPresetParametersByPresetID(gomock.Any(), prow.ID).Return(resp, nil).AnyTimes()
5392 check.Args(prow.ID).Asserts(tpl.RBACObject(), policy.ActionRead).Returns(resp)
5393 }))
5394 s.Run("GetActivePresetPrebuildSchedules", s.Mocked(func(dbm *dbmock.MockStore, _ *gofakeit.Faker, check *expects) {
5395 dbm.EXPECT().GetActivePresetPrebuildSchedules(gomock.Any()).Return([]database.TemplateVersionPresetPrebuildSchedule{}, nil).AnyTimes()
5396 check.Args().Asserts(rbac.ResourceTemplate.All(), policy.ActionRead).Returns([]database.TemplateVersionPresetPrebuildSchedule{})
5397 }))
5398 s.Run("GetPresetsByTemplateVersionID", s.Mocked(func(dbm *dbmock.MockStore, faker *gofakeit.Faker, check *expects) {
5399 tpl := testutil.Fake(s.T(), faker, database.Template{})
5400 tv := testutil.Fake(s.T(), faker, database.TemplateVersion{TemplateID: uuid.NullUUID{UUID: tpl.ID, Valid: true}, OrganizationID: tpl.OrganizationID, CreatedBy: tpl.CreatedBy})
5401 presets := []database.TemplateVersionPreset{testutil.Fake(s.T(), faker, database.TemplateVersionPreset{TemplateVersionID: tv.ID})}
5402
5403 dbm.EXPECT().GetTemplateVersionByID(gomock.Any(), tv.ID).Return(tv, nil).AnyTimes()
5404 dbm.EXPECT().GetTemplateByID(gomock.Any(), tpl.ID).Return(tpl, nil).AnyTimes()
5405 dbm.EXPECT().GetPresetsByTemplateVersionID(gomock.Any(), tv.ID).Return(presets, nil).AnyTimes()
5406 check.Args(tv.ID).Asserts(tpl.RBACObject(), policy.ActionRead).Returns(presets)
5407 }))
5408 s.Run("ClaimPrebuiltWorkspace", s.Mocked(func(dbm *dbmock.MockStore, faker *gofakeit.Faker, check *expects) {
5409 user := testutil.Fake(s.T(), faker, database.User{})
5410 tpl := testutil.Fake(s.T(), faker, database.Template{CreatedBy: user.ID})
5411 arg := database.ClaimPrebuiltWorkspaceParams{NewUserID: user.ID, NewName: "", PresetID: uuid.New()}
5412 prow := database.GetPresetByIDRow{ID: arg.PresetID, TemplateID: uuid.NullUUID{UUID: tpl.ID, Valid: true}, OrganizationID: tpl.OrganizationID}
5413
5414 dbm.EXPECT().GetPresetByID(gomock.Any(), arg.PresetID).Return(prow, nil).AnyTimes()
5415 dbm.EXPECT().GetTemplateByID(gomock.Any(), tpl.ID).Return(tpl, nil).AnyTimes()
5416 dbm.EXPECT().ClaimPrebuiltWorkspace(gomock.Any(), arg).Return(database.ClaimPrebuiltWorkspaceRow{}, sql.ErrNoRows).AnyTimes()
5417 check.Args(arg).Asserts(
5418 rbac.ResourceWorkspace.WithOwner(user.ID.String()).InOrg(tpl.OrganizationID), policy.ActionCreate,
5419 tpl, policy.ActionRead,
5420 tpl, policy.ActionUse,
5421 ).Errors(sql.ErrNoRows)
5422 }))
5423 s.Run("FindMatchingPresetID", s.Mocked(func(dbm *dbmock.MockStore, faker *gofakeit.Faker, check *expects) {
5424 t1 := testutil.Fake(s.T(), faker, database.Template{})
5425 tv := testutil.Fake(s.T(), faker, database.TemplateVersion{TemplateID: uuid.NullUUID{UUID: t1.ID, Valid: true}})

Callers

nothing calls this directly

Calls 15

MockedMethod · 0.95
FakeFunction · 0.92
AssertsMethod · 0.80
ArgsMethod · 0.80
ReturnsMethod · 0.80
AllMethod · 0.80
InOrgMethod · 0.80
WithOwnerMethod · 0.80
RunMethod · 0.65
NewMethod · 0.65

Tested by

no test coverage detected