rabbitmq_test.go 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. package rabbitmq_test
  2. import (
  3. "context"
  4. "testing"
  5. "time"
  6. "surveyService/util/rabbitmq"
  7. "github.com/streadway/amqp"
  8. )
  9. var broker2 = rabbitmq.Broker{
  10. Ssl: false, // bool
  11. Username: "md", // string
  12. Password: "fNaxiyVthc", // string
  13. Server: "47.109.41.4", // string
  14. Port: "5672", // string
  15. Vhost: "drmd", // string
  16. TSL: nil, // *tls.Config
  17. ProxyAddr: "", // string
  18. Beatime: 15 * time.Second, // time.Duration
  19. }
  20. func TestRabbitmq(t *testing.T) {
  21. conn, err := rabbitmq.New(context.Background(), broker2)
  22. if err != nil {
  23. t.Fatal(err)
  24. }
  25. p, err := conn.Producer(nil, &rabbitmq.Queue{
  26. Name: "queue:dev:pdf:builder",
  27. Durable: true,
  28. AutoDelete: true,
  29. })
  30. if err != nil {
  31. t.Fatal(err)
  32. }
  33. err = p.Publish(amqp.Publishing{
  34. ContentType: "text/plain",
  35. DeliveryMode: amqp.Persistent,
  36. Body: []byte("hello"),
  37. })
  38. if err != nil {
  39. t.Fatal(err)
  40. }
  41. err = p.Publish(amqp.Publishing{
  42. ContentType: "text/plain",
  43. DeliveryMode: amqp.Persistent,
  44. Body: []byte("world"),
  45. })
  46. if err != nil {
  47. t.Fatal(err)
  48. }
  49. time.Sleep(time.Second * 1)
  50. }
  51. func TestRabbitmqDelay(t *testing.T) {
  52. conn, err := rabbitmq.New(context.Background(), broker2)
  53. if err != nil {
  54. t.Fatal(err)
  55. }
  56. p, err := conn.Producer(&rabbitmq.Exchange{
  57. Name: "queue:webhook:exchange",
  58. Kind: amqp.ExchangeDirect,
  59. Key: "queue:webhook:routing",
  60. }, nil)
  61. if err != nil {
  62. t.Fatal(err)
  63. }
  64. err = p.PublishExchange(amqp.Publishing{
  65. Headers: amqp.Table{
  66. "x-delay": int64(10000),
  67. },
  68. ContentType: "text/plain",
  69. DeliveryMode: amqp.Persistent,
  70. Body: []byte("hello world"),
  71. })
  72. if err != nil {
  73. t.Fatal(err)
  74. }
  75. time.Sleep(time.Second * 1)
  76. }