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

Function TestTemplateVersionsArchive

cli/templateversionarchive_test.go:17–109  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

15)
16
17func TestTemplateVersionsArchive(t *testing.T) {
18 t.Parallel()
19 t.Run("Archive-Unarchive", func(t *testing.T) {
20 t.Parallel()
21 ownerClient := coderdtest.New(t, &coderdtest.Options{IncludeProvisionerDaemon: true})
22 owner := coderdtest.CreateFirstUser(t, ownerClient)
23
24 client, _ := coderdtest.CreateAnotherUser(t, ownerClient, owner.OrganizationID, rbac.RoleTemplateAdmin())
25 version := coderdtest.CreateTemplateVersion(t, client, owner.OrganizationID, nil)
26 _ = coderdtest.AwaitTemplateVersionJobCompleted(t, client, version.ID)
27 template := coderdtest.CreateTemplate(t, client, owner.OrganizationID, version.ID)
28 other := coderdtest.CreateTemplateVersion(t, client, owner.OrganizationID, nil, func(request *codersdk.CreateTemplateVersionRequest) {
29 request.TemplateID = template.ID
30 })
31 _ = coderdtest.AwaitTemplateVersionJobCompleted(t, client, other.ID)
32
33 // Archive
34 inv, root := clitest.New(t, "templates", "versions", "archive", template.Name, other.Name, "-y")
35 clitest.SetupConfig(t, client, root)
36 w := clitest.StartWithWaiter(t, inv)
37 w.RequireSuccess()
38
39 // Verify archived
40 ctx := testutil.Context(t, testutil.WaitMedium)
41 found, err := client.TemplateVersion(ctx, other.ID)
42 require.NoError(t, err)
43 require.True(t, found.Archived, "expect archived")
44
45 // Unarchive
46 inv, root = clitest.New(t, "templates", "versions", "unarchive", template.Name, other.Name, "-y")
47 clitest.SetupConfig(t, client, root)
48 w = clitest.StartWithWaiter(t, inv)
49 w.RequireSuccess()
50
51 // Verify unarchived
52 ctx = testutil.Context(t, testutil.WaitMedium)
53 found, err = client.TemplateVersion(ctx, other.ID)
54 require.NoError(t, err)
55 require.False(t, found.Archived, "expect unarchived")
56 })
57
58 t.Run("ArchiveMany", func(t *testing.T) {
59 t.Parallel()
60 ownerClient := coderdtest.New(t, &coderdtest.Options{IncludeProvisionerDaemon: true})
61 owner := coderdtest.CreateFirstUser(t, ownerClient)
62
63 client, _ := coderdtest.CreateAnotherUser(t, ownerClient, owner.OrganizationID, rbac.RoleTemplateAdmin())
64 version := coderdtest.CreateTemplateVersion(t, client, owner.OrganizationID, nil)
65 _ = coderdtest.AwaitTemplateVersionJobCompleted(t, client, version.ID)
66 template := coderdtest.CreateTemplate(t, client, owner.OrganizationID, version.ID)
67
68 // Add a failed
69 expArchived := map[uuid.UUID]bool{}
70 failed := coderdtest.CreateTemplateVersion(t, client, owner.OrganizationID, &echo.Responses{
71 Parse: echo.ParseComplete,
72 ProvisionApply: echo.ApplyFailed,
73 ProvisionPlan: echo.PlanFailed,
74 ProvisionInit: echo.InitComplete,

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
NewFunction · 0.92
SetupConfigFunction · 0.92
StartWithWaiterFunction · 0.92
ContextFunction · 0.92
RequireSuccessMethod · 0.80

Tested by

no test coverage detected