You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

преди 10 години
преди 10 години
преди 10 години
преди 11 години
преди 11 години
преди 11 години
преди 11 години
преди 11 години
преди 11 години
преди 11 години
преди 12 години
преди 11 години
преди 11 години
преди 10 години
преди 11 години
преди 10 години
преди 11 години
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. package worker
  2. import (
  3. "sync"
  4. "testing"
  5. )
  6. var worker *Worker
  7. func init() {
  8. worker = New(Unlimited)
  9. }
  10. func TestWorkerAddServer(t *testing.T) {
  11. t.Log("Add local server 127.0.0.1:4730.")
  12. if err := worker.AddServer("tcp4", "127.0.0.1:4730"); err != nil {
  13. t.Error(err)
  14. }
  15. if l := len(worker.agents); l != 1 {
  16. t.Log(worker.agents)
  17. t.Error("The length of server list should be 1.")
  18. }
  19. }
  20. func foobar(job Job) ([]byte, error) {
  21. return nil, nil
  22. }
  23. func TestWorkerAddFunction(t *testing.T) {
  24. if err := worker.AddFunc("foobar", foobar, 0); err != nil {
  25. t.Error(err)
  26. }
  27. if err := worker.AddFunc("timeout", foobar, 5); err != nil {
  28. t.Error(err)
  29. }
  30. if l := len(worker.funcs); l != 2 {
  31. t.Log(worker.funcs)
  32. t.Errorf("The length of function map should be %d.", 2)
  33. }
  34. }
  35. func TestWorkerRemoveFunc(t *testing.T) {
  36. if err := worker.RemoveFunc("foobar"); err != nil {
  37. t.Error(err)
  38. }
  39. }
  40. func TestWork(t *testing.T) {
  41. var wg sync.WaitGroup
  42. worker.JobHandler = func(job Job) error {
  43. t.Logf("%s", job.Data())
  44. wg.Done()
  45. return nil
  46. }
  47. if err := worker.Ready(); err != nil {
  48. t.Error(err)
  49. return
  50. }
  51. go worker.Work()
  52. wg.Add(1)
  53. worker.Echo([]byte("Hello"))
  54. wg.Wait()
  55. }
  56. func TestWorkerClose(t *testing.T) {
  57. worker.Close()
  58. }