26 lines
629 B
Go
26 lines
629 B
Go
package tasks
|
|
|
|
import "testing"
|
|
|
|
func TestRegistryLifecycle(t *testing.T) {
|
|
reg := NewRegistry()
|
|
task := reg.Start("upgrade")
|
|
if task.ID == "" || task.Status != StatusRunning {
|
|
t.Fatalf("unexpected start task: %+v", task)
|
|
}
|
|
got, ok := reg.Get(task.ID)
|
|
if !ok || got.ID != task.ID {
|
|
t.Fatalf("get failed: %+v", got)
|
|
}
|
|
|
|
res := map[string]any{"ok": true}
|
|
finished, ok := reg.Finish(task.ID, res, nil)
|
|
if !ok || finished.Status != StatusSuccess {
|
|
t.Fatalf("finish failed: %+v", finished)
|
|
}
|
|
got2, ok := reg.Get(task.ID)
|
|
if !ok || got2.Status != StatusSuccess {
|
|
t.Fatalf("get after finish failed: %+v", got2)
|
|
}
|
|
}
|