1
0
mirror of https://github.com/go-micro/go-micro.git synced 2025-03-23 20:32:32 +02:00
go-micro/plugins/broker/rabbitmq/rabbitmq_test.go
2021-01-20 21:01:10 +00:00

61 lines
1.2 KiB
Go

package rabbitmq_test
import (
"context"
"os"
"testing"
micro "github.com/asim/go-micro/v3"
broker "github.com/asim/go-micro/v3/broker"
server "github.com/asim/go-micro/v3/server"
rabbitmq "github.com/asim/go-micro/plugins/broker/rabbitmq/v3"
)
type Example struct{}
func (e *Example) Handler(ctx context.Context, r interface{}) error {
return nil
}
func TestDurable(t *testing.T) {
if tr := os.Getenv("TRAVIS"); len(tr) > 0 {
t.Skip()
}
rabbitmq.DefaultRabbitURL = "amqp://rabbitmq:rabbitmq@127.0.0.1:5672"
brkrSub := broker.NewSubscribeOptions(
broker.Queue("queue.default"),
broker.DisableAutoAck(),
rabbitmq.DurableQueue(),
)
b := rabbitmq.NewBroker()
b.Init()
if err := b.Connect(); err != nil {
t.Logf("cant conect to broker, skip: %v", err)
t.Skip()
}
s := server.NewServer(server.Broker(b))
service := micro.NewService(
micro.Server(s),
micro.Broker(b),
)
h := &Example{}
// Register a subscriber
micro.RegisterSubscriber(
"topic",
service.Server(),
h.Handler,
server.SubscriberContext(brkrSub.Context),
server.SubscriberQueue("queue.default"),
)
//service.Init()
if err := service.Run(); err != nil {
t.Fatal(err)
}
}