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

Function TestExpTaskResume

cli/task_resume_test.go:16–171  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

14)
15
16func TestExpTaskResume(t *testing.T) {
17 t.Parallel()
18
19 t.Run("WithYesFlag", func(t *testing.T) {
20 t.Parallel()
21
22 // Given: A paused task
23 setupCtx := testutil.Context(t, testutil.WaitLong)
24 setup := setupCLITaskTest(setupCtx, t, nil)
25 pauseTask(setupCtx, t, setup.userClient, setup.task)
26
27 // When: We attempt to resume the task
28 inv, root := clitest.New(t, "task", "resume", setup.task.Name, "--yes")
29 output := clitest.Capture(inv)
30 clitest.SetupConfig(t, setup.userClient, root)
31
32 // Then: We expect the task to be resumed
33 ctx := testutil.Context(t, testutil.WaitMedium)
34 err := inv.WithContext(ctx).Run()
35 require.NoError(t, err)
36 require.Contains(t, output.Stdout(), "has been resumed")
37
38 updated, err := setup.userClient.TaskByIdentifier(ctx, setup.task.Name)
39 require.NoError(t, err)
40 require.Equal(t, codersdk.TaskStatusInitializing, updated.Status)
41 })
42
43 // OtherUserTask verifies that an admin can resume a task owned by
44 // another user using the "owner/name" identifier format.
45 t.Run("OtherUserTask", func(t *testing.T) {
46 t.Parallel()
47
48 // Given: A different user's paused task
49 setupCtx := testutil.Context(t, testutil.WaitLong)
50 setup := setupCLITaskTest(setupCtx, t, nil)
51 pauseTask(setupCtx, t, setup.userClient, setup.task)
52
53 // When: We attempt to resume their task
54 identifier := fmt.Sprintf("%s/%s", setup.task.OwnerName, setup.task.Name)
55 inv, root := clitest.New(t, "task", "resume", identifier, "--yes")
56 output := clitest.Capture(inv)
57 clitest.SetupConfig(t, setup.ownerClient, root)
58
59 // Then: We expect the task to be resumed
60 ctx := testutil.Context(t, testutil.WaitMedium)
61 err := inv.WithContext(ctx).Run()
62 require.NoError(t, err)
63 require.Contains(t, output.Stdout(), "has been resumed")
64
65 updated, err := setup.ownerClient.TaskByIdentifier(ctx, identifier)
66 require.NoError(t, err)
67 require.Equal(t, codersdk.TaskStatusInitializing, updated.Status)
68 })
69
70 t.Run("NoWait", func(t *testing.T) {
71 t.Parallel()
72
73 // Given: A paused task

Callers

nothing calls this directly

Calls 15

ContextFunction · 0.92
NewFunction · 0.92
CaptureFunction · 0.92
SetupConfigFunction · 0.92
MustWorkspaceFunction · 0.92
NewFunction · 0.92
StartWithWaiterFunction · 0.92
setupCLITaskTestFunction · 0.85
WithContextMethod · 0.80
StdoutMethod · 0.80
TaskByIdentifierMethod · 0.80

Tested by

no test coverage detected