Reload job in ui
This commit is contained in:
@@ -2,11 +2,13 @@ package scheduler
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"fmt"
|
||||
"io/ioutil"
|
||||
"local/firestormy/config"
|
||||
"local/storage"
|
||||
"os"
|
||||
"testing"
|
||||
"time"
|
||||
)
|
||||
|
||||
func TestSchedulerAddRemove(t *testing.T) {
|
||||
@@ -192,3 +194,49 @@ func TestSplitScheduleCommandTitle(t *testing.T) {
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func TestSchedulerUpdate(t *testing.T) {
|
||||
config.Store, _ = storage.New(storage.MAP)
|
||||
was := config.Store
|
||||
defer func() {
|
||||
config.Store = was
|
||||
}()
|
||||
s := New()
|
||||
j, err := NewJob(Bash, "* * * * *", "hostname")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if err := s.Add(j); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if list, err := s.List(); err != nil {
|
||||
t.Fatal(err)
|
||||
} else if len(list) != 1 {
|
||||
t.Fatal(err)
|
||||
}
|
||||
time.Sleep(time.Millisecond * 1500)
|
||||
j.Raw = "echo 2"
|
||||
j.Title = "title 2"
|
||||
if err := s.Update(j); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if list, err := s.List(); err != nil {
|
||||
t.Fatal(err)
|
||||
} else if len(list) != 1 {
|
||||
t.Fatal(err)
|
||||
} else if j, err := s.loadJobFromStore(j.Name); err != nil {
|
||||
t.Fatal(err)
|
||||
} else if j.Raw != "echo 2" {
|
||||
t.Error(j.Raw)
|
||||
} else if j.Title != "title 2" {
|
||||
t.Error(j.Title)
|
||||
} else if entry := s.cron.Entry(s.running[j.Name]); entry == s.cron.Entry(-99) {
|
||||
t.Error(entry)
|
||||
} else if entries := s.cron.Entries(); len(entries) != 1 {
|
||||
t.Error(entries)
|
||||
} else if job, ok := entries[0].Job.(*Job); !ok {
|
||||
t.Error(fmt.Sprintf("%T", entries[0].Job))
|
||||
} else if fmt.Sprintf("%+v", job) != fmt.Sprintf("%+v", j) {
|
||||
t.Error(job)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user