manager_test.go 923 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. package plugins
  2. import (
  3. "errors"
  4. "fmt"
  5. "reflect"
  6. "testing"
  7. )
  8. const endpoint = "http://127.0.0.1/plugins"
  9. func TestManager(t *testing.T) {
  10. data := []struct {
  11. t PluginType
  12. n string
  13. u string
  14. err error
  15. }{
  16. {
  17. t: SOURCE,
  18. n: "",
  19. u: "",
  20. err: errors.New("invalid name : should not be empty"),
  21. }, {
  22. t: SOURCE,
  23. n: "random",
  24. u: endpoint + "/sources/random.zip",
  25. },
  26. }
  27. callback := func() {
  28. fmt.Printf("callback triggered")
  29. }
  30. fmt.Printf("The test bucket size is %d.\n\n", len(data))
  31. for i, tt := range data {
  32. manager, err := NewPluginManager()
  33. if err != nil {
  34. t.Error(err)
  35. }
  36. err = manager.Register(tt.t, tt.n, tt.u, callback)
  37. if tt.err != nil {
  38. if !reflect.DeepEqual(tt.err, err) {
  39. t.Errorf("%d: error mismatch:\n exp=%s\n got=%s\n\n", i, tt.err, err)
  40. }
  41. } else {
  42. t.Errorf("%d: error mismatch:\n exp=%s\n got=%s\n\n", i, tt.err, err)
  43. }
  44. }
  45. }