MCPcopy
hub / github.com/grafana/tempo / TestJobOperations

Function TestJobOperations

modules/backendscheduler/work/work_sharded_test.go:105–158  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

103}
104
105func TestJobOperations(t *testing.T) {
106 work := New(Config{})
107 job := createTestJob("ops-test", tempopb.JobType_JOB_TYPE_COMPACTION)
108 err := work.AddJob(job)
109 require.NoError(t, err)
110
111 t.Run("start job", func(t *testing.T) {
112 work.StartJob("ops-test")
113 retrievedJob := work.GetJob("ops-test")
114 require.Equal(t, tempopb.JobStatus_JOB_STATUS_RUNNING, retrievedJob.Status)
115 require.False(t, retrievedJob.StartTime.IsZero())
116 })
117
118 t.Run("complete job", func(t *testing.T) {
119 work.CompleteJob("ops-test")
120 retrievedJob := work.GetJob("ops-test")
121 require.Equal(t, tempopb.JobStatus_JOB_STATUS_SUCCEEDED, retrievedJob.Status)
122 require.False(t, retrievedJob.EndTime.IsZero())
123 })
124
125 t.Run("set compaction output", func(t *testing.T) {
126 output := []string{"output1", "output2"}
127 work.SetJobCompactionOutput("ops-test", output)
128 retrievedJob := work.GetJob("ops-test")
129 require.Equal(t, output, retrievedJob.GetCompactionOutput())
130 })
131
132 t.Run("fail job", func(t *testing.T) {
133 failJob := createTestJob("fail-test", tempopb.JobType_JOB_TYPE_COMPACTION)
134 err = work.AddJob(failJob)
135 require.NoError(t, err)
136 work.StartJob("fail-test")
137
138 work.FailJob("fail-test")
139 retrievedJob := work.GetJob("fail-test")
140 require.Equal(t, tempopb.JobStatus_JOB_STATUS_FAILED, retrievedJob.Status)
141 require.False(t, retrievedJob.EndTime.IsZero())
142 })
143
144 t.Run("remove job", func(t *testing.T) {
145 removeJob := createTestJob("remove-test", tempopb.JobType_JOB_TYPE_COMPACTION)
146 err = work.AddJob(removeJob)
147 require.NoError(t, err)
148
149 // Verify job exists
150 require.NotNil(t, work.GetJob("remove-test"))
151
152 // Remove job
153 work.RemoveJob("remove-test")
154
155 // Verify job is gone
156 require.Nil(t, work.GetJob("remove-test"))
157 })
158}
159
160func TestListJobs(t *testing.T) {
161 work := New(Config{})

Callers

nothing calls this directly

Calls 12

createTestJobFunction · 0.85
GetCompactionOutputMethod · 0.80
NewFunction · 0.70
AddJobMethod · 0.65
StartJobMethod · 0.65
GetJobMethod · 0.65
CompleteJobMethod · 0.65
FailJobMethod · 0.65
RemoveJobMethod · 0.65
RunMethod · 0.45
EqualMethod · 0.45

Tested by

no test coverage detected