engine_test.go 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  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) string {
  32. return j.Name
  33. }
  34. eng.Register("dummy2", h)
  35. job2 := eng.Job("dummy2", "--level=awesome")
  36. if job2.handler == nil {
  37. t.Fatalf("job2.handler shouldn't be nil")
  38. }
  39. if job2.handler(job2) != job2.Name {
  40. t.Fatalf("handler dummy2 was not found in job2")
  41. }
  42. }