()
| 1903 | } |
| 1904 | |
| 1905 | func (s *MethodTestSuite) TestProvisionerJob() { |
| 1906 | s.Run("ArchiveUnusedTemplateVersions", s.Mocked(func(dbm *dbmock.MockStore, faker *gofakeit.Faker, check *expects) { |
| 1907 | tpl := testutil.Fake(s.T(), faker, database.Template{}) |
| 1908 | v := testutil.Fake(s.T(), faker, database.TemplateVersion{TemplateID: uuid.NullUUID{UUID: tpl.ID, Valid: true}}) |
| 1909 | arg := database.ArchiveUnusedTemplateVersionsParams{UpdatedAt: dbtime.Now(), TemplateID: tpl.ID, TemplateVersionID: v.ID, JobStatus: database.NullProvisionerJobStatus{}} |
| 1910 | dbm.EXPECT().GetTemplateByID(gomock.Any(), tpl.ID).Return(tpl, nil).AnyTimes() |
| 1911 | dbm.EXPECT().ArchiveUnusedTemplateVersions(gomock.Any(), arg).Return([]uuid.UUID{}, nil).AnyTimes() |
| 1912 | check.Args(arg).Asserts(tpl.RBACObject(), policy.ActionUpdate) |
| 1913 | })) |
| 1914 | s.Run("UnarchiveTemplateVersion", s.Mocked(func(dbm *dbmock.MockStore, faker *gofakeit.Faker, check *expects) { |
| 1915 | tpl := testutil.Fake(s.T(), faker, database.Template{}) |
| 1916 | v := testutil.Fake(s.T(), faker, database.TemplateVersion{TemplateID: uuid.NullUUID{UUID: tpl.ID, Valid: true}, Archived: true}) |
| 1917 | arg := database.UnarchiveTemplateVersionParams{UpdatedAt: dbtime.Now(), TemplateVersionID: v.ID} |
| 1918 | dbm.EXPECT().GetTemplateVersionByID(gomock.Any(), v.ID).Return(v, nil).AnyTimes() |
| 1919 | dbm.EXPECT().GetTemplateByID(gomock.Any(), tpl.ID).Return(tpl, nil).AnyTimes() |
| 1920 | dbm.EXPECT().UnarchiveTemplateVersion(gomock.Any(), arg).Return(nil).AnyTimes() |
| 1921 | check.Args(arg).Asserts(tpl.RBACObject(), policy.ActionUpdate) |
| 1922 | })) |
| 1923 | s.Run("Build/GetProvisionerJobByID", s.Mocked(func(dbm *dbmock.MockStore, faker *gofakeit.Faker, check *expects) { |
| 1924 | ws := testutil.Fake(s.T(), faker, database.Workspace{}) |
| 1925 | j := testutil.Fake(s.T(), faker, database.ProvisionerJob{Type: database.ProvisionerJobTypeWorkspaceBuild}) |
| 1926 | build := testutil.Fake(s.T(), faker, database.WorkspaceBuild{WorkspaceID: ws.ID, JobID: j.ID}) |
| 1927 | dbm.EXPECT().GetProvisionerJobByID(gomock.Any(), j.ID).Return(j, nil).AnyTimes() |
| 1928 | dbm.EXPECT().GetWorkspaceBuildByJobID(gomock.Any(), j.ID).Return(build, nil).AnyTimes() |
| 1929 | dbm.EXPECT().GetWorkspaceByID(gomock.Any(), build.WorkspaceID).Return(ws, nil).AnyTimes() |
| 1930 | check.Args(j.ID).Asserts(ws, policy.ActionRead).Returns(j) |
| 1931 | })) |
| 1932 | s.Run("TemplateVersion/GetProvisionerJobByID", s.Mocked(func(dbm *dbmock.MockStore, faker *gofakeit.Faker, check *expects) { |
| 1933 | tpl := testutil.Fake(s.T(), faker, database.Template{}) |
| 1934 | j := testutil.Fake(s.T(), faker, database.ProvisionerJob{Type: database.ProvisionerJobTypeTemplateVersionImport}) |
| 1935 | v := testutil.Fake(s.T(), faker, database.TemplateVersion{JobID: j.ID, TemplateID: uuid.NullUUID{UUID: tpl.ID, Valid: true}}) |
| 1936 | dbm.EXPECT().GetProvisionerJobByID(gomock.Any(), j.ID).Return(j, nil).AnyTimes() |
| 1937 | dbm.EXPECT().GetTemplateVersionByJobID(gomock.Any(), j.ID).Return(v, nil).AnyTimes() |
| 1938 | dbm.EXPECT().GetTemplateByID(gomock.Any(), tpl.ID).Return(tpl, nil).AnyTimes() |
| 1939 | check.Args(j.ID).Asserts(v.RBACObject(tpl), policy.ActionRead).Returns(j) |
| 1940 | })) |
| 1941 | s.Run("TemplateVersionDryRun/GetProvisionerJobByID", s.Mocked(func(dbm *dbmock.MockStore, faker *gofakeit.Faker, check *expects) { |
| 1942 | tpl := testutil.Fake(s.T(), faker, database.Template{}) |
| 1943 | j := testutil.Fake(s.T(), faker, database.ProvisionerJob{Type: database.ProvisionerJobTypeTemplateVersionDryRun}) |
| 1944 | v := testutil.Fake(s.T(), faker, database.TemplateVersion{JobID: j.ID, TemplateID: uuid.NullUUID{UUID: tpl.ID, Valid: true}}) |
| 1945 | j.Input = must(json.Marshal(struct { |
| 1946 | TemplateVersionID uuid.UUID `json:"template_version_id"` |
| 1947 | }{TemplateVersionID: v.ID})) |
| 1948 | dbm.EXPECT().GetProvisionerJobByID(gomock.Any(), j.ID).Return(j, nil).AnyTimes() |
| 1949 | dbm.EXPECT().GetTemplateVersionByID(gomock.Any(), v.ID).Return(v, nil).AnyTimes() |
| 1950 | dbm.EXPECT().GetTemplateByID(gomock.Any(), tpl.ID).Return(tpl, nil).AnyTimes() |
| 1951 | check.Args(j.ID).Asserts(v.RBACObject(tpl), policy.ActionRead).Returns(j) |
| 1952 | })) |
| 1953 | s.Run("Build/UpdateProvisionerJobWithCancelByID", s.Mocked(func(dbm *dbmock.MockStore, faker *gofakeit.Faker, check *expects) { |
| 1954 | tpl := testutil.Fake(s.T(), faker, database.Template{AllowUserCancelWorkspaceJobs: true}) |
| 1955 | ws := testutil.Fake(s.T(), faker, database.Workspace{TemplateID: tpl.ID}) |
| 1956 | j := testutil.Fake(s.T(), faker, database.ProvisionerJob{Type: database.ProvisionerJobTypeWorkspaceBuild}) |
| 1957 | build := testutil.Fake(s.T(), faker, database.WorkspaceBuild{JobID: j.ID, WorkspaceID: ws.ID}) |
| 1958 | arg := database.UpdateProvisionerJobWithCancelByIDParams{ID: j.ID} |
| 1959 | |
| 1960 | dbm.EXPECT().GetProvisionerJobByID(gomock.Any(), j.ID).Return(j, nil).AnyTimes() |
| 1961 | dbm.EXPECT().GetWorkspaceBuildByJobID(gomock.Any(), j.ID).Return(build, nil).AnyTimes() |
| 1962 | dbm.EXPECT().GetWorkspaceByID(gomock.Any(), ws.ID).Return(ws, nil).AnyTimes() |
nothing calls this directly
no test coverage detected