MCPcopy Create free account
hub / github.com/QuantumNous/new-api / TestSystemTaskCreateAndActiveLifecycle

Function TestSystemTaskCreateAndActiveLifecycle

model/system_task_test.go:37–75  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

35}
36
37func TestSystemTaskCreateAndActiveLifecycle(t *testing.T) {
38 truncateTables(t)
39
40 payload := testSystemTaskPayload{TargetTimestamp: 1000, BatchSize: 100}
41 state := testSystemTaskState{}
42 task, err := CreateSystemTask(SystemTaskTypeLogCleanup, payload, state)
43 require.NoError(t, err)
44 require.NotNil(t, task.ActiveKey)
45 assert.Equal(t, SystemTaskTypeLogCleanup, *task.ActiveKey)
46
47 var decodedPayload testSystemTaskPayload
48 require.NoError(t, task.DecodePayload(&decodedPayload))
49 assert.Equal(t, payload, decodedPayload)
50
51 activeTask, err := GetActiveSystemTask(SystemTaskTypeLogCleanup)
52 require.NoError(t, err)
53 require.NotNil(t, activeTask)
54 assert.Equal(t, task.TaskID, activeTask.TaskID)
55
56 runnerID := "runner-a"
57 claimedTask, claimed, err := ClaimSystemTask(task.ID, SystemTaskTypeLogCleanup, runnerID, common.GetTimestamp()+60)
58 require.NoError(t, err)
59 require.True(t, claimed)
60
61 err = FinishSystemTask(claimedTask.TaskID, runnerID, SystemTaskStatusSucceeded, map[string]int64{"deleted_count": 0}, "")
62 require.NoError(t, err)
63
64 finishedTask, err := GetSystemTaskByTaskID(task.TaskID)
65 require.NoError(t, err)
66 require.NotNil(t, finishedTask)
67 assert.Nil(t, finishedTask.ActiveKey)
68
69 activeTask, err = GetActiveSystemTask(SystemTaskTypeLogCleanup)
70 require.NoError(t, err)
71 require.Nil(t, activeTask)
72
73 _, err = CreateSystemTask(SystemTaskTypeLogCleanup, payload, state)
74 require.NoError(t, err)
75}
76
77func TestSystemTaskActiveKeyPreventsDuplicateActiveRun(t *testing.T) {
78 truncateTables(t)

Callers

nothing calls this directly

Calls 9

GetTimestampFunction · 0.92
truncateTablesFunction · 0.85
CreateSystemTaskFunction · 0.85
GetActiveSystemTaskFunction · 0.85
ClaimSystemTaskFunction · 0.85
FinishSystemTaskFunction · 0.85
GetSystemTaskByTaskIDFunction · 0.85
EqualMethod · 0.80
DecodePayloadMethod · 0.80

Tested by

no test coverage detected