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

Function TestDeriveTaskCurrentState_Unit

coderd/aitasks_internal_test.go:16–223  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

14)
15
16func TestDeriveTaskCurrentState_Unit(t *testing.T) {
17 t.Parallel()
18
19 now := time.Now()
20 tests := []struct {
21 name string
22 task database.Task
23 agentLifecycle *codersdk.WorkspaceAgentLifecycle
24 appHealth *codersdk.WorkspaceAppHealth
25 latestAppStatus *codersdk.WorkspaceAppStatus
26 latestBuild codersdk.WorkspaceBuild
27 expectCurrentState bool
28 expectedTimestamp time.Time
29 expectedState codersdk.TaskState
30 expectedMessage string
31 }{
32 {
33 name: "NoAppStatus",
34 task: database.Task{
35 ID: uuid.New(),
36 Status: database.TaskStatusActive,
37 },
38 agentLifecycle: nil,
39 appHealth: nil,
40 latestAppStatus: nil,
41 latestBuild: codersdk.WorkspaceBuild{
42 Transition: codersdk.WorkspaceTransitionStart,
43 CreatedAt: now,
44 },
45 expectCurrentState: false,
46 },
47 {
48 name: "BuildStartTransition_AppStatus_NewerThanBuild",
49 task: database.Task{
50 ID: uuid.New(),
51 Status: database.TaskStatusActive,
52 },
53 agentLifecycle: nil,
54 appHealth: nil,
55 latestAppStatus: &codersdk.WorkspaceAppStatus{
56 State: codersdk.WorkspaceAppStatusStateWorking,
57 Message: "Task is working",
58 CreatedAt: now.Add(1 * time.Minute),
59 },
60 latestBuild: codersdk.WorkspaceBuild{
61 Transition: codersdk.WorkspaceTransitionStart,
62 CreatedAt: now,
63 },
64 expectCurrentState: true,
65 expectedTimestamp: now.Add(1 * time.Minute),
66 expectedState: codersdk.TaskState(codersdk.WorkspaceAppStatusStateWorking),
67 expectedMessage: "Task is working",
68 },
69 {
70 name: "BuildStartTransition_StaleAppStatus_OlderThanBuild",
71 task: database.Task{
72 ID: uuid.New(),
73 Status: database.TaskStatusActive,

Callers

nothing calls this directly

Calls 7

TaskStateTypeAlias · 0.92
RefFunction · 0.92
deriveTaskCurrentStateFunction · 0.85
NewMethod · 0.65
AddMethod · 0.65
RunMethod · 0.65
EqualMethod · 0.45

Tested by

no test coverage detected