github.com/travisturner/buffalo@v0.11.1/worker/simple_test.go (about) 1 package worker 2 3 import ( 4 "sync" 5 "testing" 6 "time" 7 8 "github.com/stretchr/testify/require" 9 ) 10 11 func Test_Simple_Perform(t *testing.T) { 12 r := require.New(t) 13 14 var hit bool 15 wg := &sync.WaitGroup{} 16 wg.Add(1) 17 w := NewSimple() 18 w.Register("x", func(Args) error { 19 hit = true 20 wg.Done() 21 return nil 22 }) 23 w.Perform(Job{ 24 Handler: "x", 25 }) 26 wg.Wait() 27 r.True(hit) 28 } 29 30 func Test_Simple_PerformAt(t *testing.T) { 31 r := require.New(t) 32 33 var hit bool 34 wg := &sync.WaitGroup{} 35 wg.Add(1) 36 w := NewSimple() 37 w.Register("x", func(Args) error { 38 hit = true 39 wg.Done() 40 return nil 41 }) 42 w.PerformAt(Job{ 43 Handler: "x", 44 }, time.Now().Add(5*time.Millisecond)) 45 wg.Wait() 46 r.True(hit) 47 } 48 49 func Test_Simple_PerformIn(t *testing.T) { 50 r := require.New(t) 51 52 var hit bool 53 wg := &sync.WaitGroup{} 54 wg.Add(1) 55 w := NewSimple() 56 w.Register("x", func(Args) error { 57 hit = true 58 wg.Done() 59 return nil 60 }) 61 w.PerformIn(Job{ 62 Handler: "x", 63 }, 5*time.Millisecond) 64 wg.Wait() 65 r.True(hit) 66 } 67 68 func Test_Simple_NoHandler(t *testing.T) { 69 r := require.New(t) 70 71 w := NewSimple() 72 err := w.Perform(Job{}) 73 r.Error(err) 74 }