engine_test.go 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. package engine
  2. import (
  3. "testing"
  4. )
  5. func TestRegister(t *testing.T) {
  6. if err := Register("dummy1", nil); err != nil {
  7. t.Fatal(err)
  8. }
  9. if err := Register("dummy1", nil); err == nil {
  10. t.Fatalf("Expecting error, got none")
  11. }
  12. eng := newTestEngine(t)
  13. //Should fail because globan handlers are copied
  14. //at the engine creation
  15. if err := eng.Register("dummy1", nil); err == nil {
  16. t.Fatalf("Expecting error, got none")
  17. }
  18. if err := eng.Register("dummy2", nil); err != nil {
  19. t.Fatal(err)
  20. }
  21. if err := eng.Register("dummy2", nil); err == nil {
  22. t.Fatalf("Expecting error, got none")
  23. }
  24. }
  25. func TestJob(t *testing.T) {
  26. eng := newTestEngine(t)
  27. job1 := eng.Job("dummy1", "--level=awesome")
  28. if job1.handler != nil {
  29. t.Fatalf("job1.handler should be empty")
  30. }
  31. h := func(j *Job) Status {
  32. j.Printf("%s\n", j.Name)
  33. return 42
  34. }
  35. eng.Register("dummy2", h)
  36. job2 := eng.Job("dummy2", "--level=awesome")
  37. if job2.handler == nil {
  38. t.Fatalf("job2.handler shouldn't be nil")
  39. }
  40. if job2.handler(job2) != 42 {
  41. t.Fatalf("handler dummy2 was not found in job2")
  42. }
  43. }