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

Function TestTemplateArchiveVersions

coderd/templateversions_test.go:2464–2570  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

2462}
2463
2464func TestTemplateArchiveVersions(t *testing.T) {
2465 t.Parallel()
2466
2467 ownerClient := coderdtest.New(t, &coderdtest.Options{IncludeProvisionerDaemon: true})
2468 owner := coderdtest.CreateFirstUser(t, ownerClient)
2469 client, _ := coderdtest.CreateAnotherUser(t, ownerClient, owner.OrganizationID, rbac.RoleTemplateAdmin())
2470
2471 var totalVersions int
2472 // Create a template to archive
2473 initialVersion := coderdtest.CreateTemplateVersion(t, client, owner.OrganizationID, nil)
2474 totalVersions++
2475 template := coderdtest.CreateTemplate(t, client, owner.OrganizationID, initialVersion.ID)
2476
2477 allFailed := make([]uuid.UUID, 0)
2478 expArchived := make([]uuid.UUID, 0)
2479 // create some failed versions
2480 for i := 0; i < 2; i++ {
2481 failed := coderdtest.CreateTemplateVersion(t, client, owner.OrganizationID, &echo.Responses{
2482 Parse: echo.ParseComplete,
2483 ProvisionPlan: echo.PlanFailed,
2484 ProvisionApply: echo.ApplyFailed,
2485 ProvisionInit: echo.InitComplete,
2486 }, func(req *codersdk.CreateTemplateVersionRequest) {
2487 req.TemplateID = template.ID
2488 })
2489 allFailed = append(allFailed, failed.ID)
2490 totalVersions++
2491 }
2492
2493 // Create some unused versions
2494 for i := 0; i < 2; i++ {
2495 unused := coderdtest.CreateTemplateVersion(t, client, owner.OrganizationID, nil, func(req *codersdk.CreateTemplateVersionRequest) {
2496 req.TemplateID = template.ID
2497 })
2498 expArchived = append(expArchived, unused.ID)
2499 totalVersions++
2500 }
2501
2502 // Create some used template versions
2503 for i := 0; i < 2; i++ {
2504 used := coderdtest.CreateTemplateVersion(t, client, owner.OrganizationID, nil, func(req *codersdk.CreateTemplateVersionRequest) {
2505 req.TemplateID = template.ID
2506 })
2507 coderdtest.AwaitTemplateVersionJobCompleted(t, client, used.ID)
2508 workspace := coderdtest.CreateWorkspace(t, client, uuid.Nil, func(request *codersdk.CreateWorkspaceRequest) {
2509 request.TemplateVersionID = used.ID
2510 })
2511 coderdtest.AwaitWorkspaceBuildJobCompleted(t, client, workspace.LatestBuild.ID)
2512 totalVersions++
2513 }
2514
2515 ctx := testutil.Context(t, testutil.WaitMedium)
2516 versions, err := client.TemplateVersionsByTemplate(ctx, codersdk.TemplateVersionsByTemplateRequest{
2517 TemplateID: template.ID,
2518 Pagination: codersdk.Pagination{
2519 Limit: 100,
2520 },
2521 })

Callers

nothing calls this directly

Calls 15

NewFunction · 0.92
CreateFirstUserFunction · 0.92
CreateAnotherUserFunction · 0.92
RoleTemplateAdminFunction · 0.92
CreateTemplateVersionFunction · 0.92
CreateTemplateFunction · 0.92
CreateWorkspaceFunction · 0.92
ContextFunction · 0.92

Tested by

no test coverage detected