()
| 5366 | } |
| 5367 | |
| 5368 | func (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}}) |
nothing calls this directly
no test coverage detected