(t testing.TB, db database.Store, authToken uuid.UUID, mw func(http.Handler) http.Handler)
| 275 | } |
| 276 | |
| 277 | func setup(t testing.TB, db database.Store, authToken uuid.UUID, mw func(http.Handler) http.Handler) (*http.Request, http.Handler, database.WorkspaceTable, database.TemplateVersion) { |
| 278 | t.Helper() |
| 279 | org := dbgen.Organization(t, db, database.Organization{}) |
| 280 | user := dbgen.User(t, db, database.User{ |
| 281 | Status: database.UserStatusActive, |
| 282 | }) |
| 283 | _ = dbgen.OrganizationMember(t, db, database.OrganizationMember{ |
| 284 | UserID: user.ID, |
| 285 | OrganizationID: org.ID, |
| 286 | }) |
| 287 | templateVersion := dbgen.TemplateVersion(t, db, database.TemplateVersion{ |
| 288 | OrganizationID: org.ID, |
| 289 | CreatedBy: user.ID, |
| 290 | }) |
| 291 | template := dbgen.Template(t, db, database.Template{ |
| 292 | OrganizationID: org.ID, |
| 293 | ActiveVersionID: templateVersion.ID, |
| 294 | CreatedBy: user.ID, |
| 295 | }) |
| 296 | workspace := dbgen.Workspace(t, db, database.WorkspaceTable{ |
| 297 | OwnerID: user.ID, |
| 298 | OrganizationID: org.ID, |
| 299 | TemplateID: template.ID, |
| 300 | }) |
| 301 | job := dbgen.ProvisionerJob(t, db, nil, database.ProvisionerJob{ |
| 302 | OrganizationID: org.ID, |
| 303 | JobStatus: database.ProvisionerJobStatusSucceeded, |
| 304 | StartedAt: sql.NullTime{ |
| 305 | Time: dbtime.Now().Add(-30 * time.Second), |
| 306 | Valid: true, |
| 307 | }, |
| 308 | CompletedAt: sql.NullTime{ |
| 309 | Time: dbtime.Now(), |
| 310 | Valid: true, |
| 311 | }, |
| 312 | }) |
| 313 | resource := dbgen.WorkspaceResource(t, db, database.WorkspaceResource{ |
| 314 | JobID: job.ID, |
| 315 | }) |
| 316 | _ = dbgen.WorkspaceBuild(t, db, database.WorkspaceBuild{ |
| 317 | WorkspaceID: workspace.ID, |
| 318 | JobID: job.ID, |
| 319 | TemplateVersionID: templateVersion.ID, |
| 320 | BuildNumber: 1, |
| 321 | Transition: database.WorkspaceTransitionStart, |
| 322 | }) |
| 323 | _ = dbgen.WorkspaceAgent(t, db, database.WorkspaceAgent{ |
| 324 | ResourceID: resource.ID, |
| 325 | AuthToken: authToken, |
| 326 | }) |
| 327 | |
| 328 | req := httptest.NewRequest("GET", "/", nil) |
| 329 | rtr := chi.NewRouter() |
| 330 | rtr.Use(mw) |
| 331 | rtr.Get("/", func(rw http.ResponseWriter, r *http.Request) { |
| 332 | _ = httpmw.WorkspaceAgent(r) |
| 333 | rw.WriteHeader(http.StatusOK) |
| 334 | }) |
no test coverage detected