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

Function TestDelete

cli/delete_test.go:30–370  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

28)
29
30func TestDelete(t *testing.T) {
31 t.Parallel()
32 t.Run("WithParameter", func(t *testing.T) {
33 t.Parallel()
34 client := coderdtest.New(t, &coderdtest.Options{IncludeProvisionerDaemon: true})
35 owner := coderdtest.CreateFirstUser(t, client)
36 member, _ := coderdtest.CreateAnotherUser(t, client, owner.OrganizationID)
37 version := coderdtest.CreateTemplateVersion(t, client, owner.OrganizationID, nil)
38 coderdtest.AwaitTemplateVersionJobCompleted(t, client, version.ID)
39 template := coderdtest.CreateTemplate(t, client, owner.OrganizationID, version.ID)
40 workspace := coderdtest.CreateWorkspace(t, member, template.ID)
41 coderdtest.AwaitWorkspaceBuildJobCompleted(t, client, workspace.LatestBuild.ID)
42 inv, root := clitest.New(t, "delete", workspace.Name, "-y")
43 clitest.SetupConfig(t, member, root)
44 doneChan := make(chan struct{})
45 pty := ptytest.New(t).Attach(inv)
46 go func() {
47 defer close(doneChan)
48 err := inv.Run()
49 // When running with the race detector on, we sometimes get an EOF.
50 if err != nil {
51 assert.ErrorIs(t, err, io.EOF)
52 }
53 }()
54 pty.ExpectMatch("has been deleted")
55 <-doneChan
56 })
57
58 t.Run("Orphan", func(t *testing.T) {
59 t.Parallel()
60 client := coderdtest.New(t, &coderdtest.Options{IncludeProvisionerDaemon: true})
61 owner := coderdtest.CreateFirstUser(t, client)
62 templateAdmin, _ := coderdtest.CreateAnotherUser(t, client, owner.OrganizationID, rbac.RoleTemplateAdmin())
63 version := coderdtest.CreateTemplateVersion(t, templateAdmin, owner.OrganizationID, nil)
64 coderdtest.AwaitTemplateVersionJobCompleted(t, templateAdmin, version.ID)
65 template := coderdtest.CreateTemplate(t, templateAdmin, owner.OrganizationID, version.ID)
66 workspace := coderdtest.CreateWorkspace(t, templateAdmin, template.ID)
67 coderdtest.AwaitWorkspaceBuildJobCompleted(t, templateAdmin, workspace.LatestBuild.ID)
68
69 ctx := testutil.Context(t, testutil.WaitShort)
70 inv, root := clitest.New(t, "delete", workspace.Name, "-y", "--orphan")
71 clitest.SetupConfig(t, templateAdmin, root)
72
73 doneChan := make(chan struct{})
74 pty := ptytest.New(t).Attach(inv)
75 inv.Stderr = pty.Output()
76 go func() {
77 defer close(doneChan)
78 err := inv.WithContext(ctx).Run()
79 // When running with the race detector on, we sometimes get an EOF.
80 if err != nil {
81 assert.ErrorIs(t, err, io.EOF)
82 }
83 }()
84 pty.ExpectMatch("has been deleted")
85 testutil.TryReceive(ctx, t, doneChan)
86
87 _, err := client.Workspace(ctx, workspace.ID)

Callers

nothing calls this directly

Calls 15

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

Tested by

no test coverage detected