github.com/johnnyeven/libtools@v0.0.0-20191126065708-61829c1adf46/mq/redis/redis_broker_test.go (about) 1 package redis 2 3 import ( 4 "fmt" 5 "testing" 6 7 "github.com/google/uuid" 8 "github.com/stretchr/testify/assert" 9 10 "github.com/johnnyeven/libtools/mq" 11 "github.com/johnnyeven/libtools/redis" 12 ) 13 14 var r = &redis.Redis{ 15 Name: "mq_test", 16 Host: "redis.staging.g7pay.net", 17 Port: 36379, 18 } 19 20 func init() { 21 r.MarshalDefaults(r) 22 r.Init() 23 } 24 25 func TestRedisBroker(t *testing.T) { 26 tt := assert.New(t) 27 28 channel := uuid.New().String() 29 30 broker := NewRedisBroker(r.GetCache().Pool, "mq-") 31 32 taskList := make([]*mq.Task, 0) 33 34 for i := 0; i < 10; i++ { 35 task := mq.NewTask(channel, "test", []byte(fmt.Sprintf("data %d", i))) 36 taskList = append(taskList, task) 37 38 err := broker.SendTask(task) 39 tt.NoError(err) 40 } 41 42 for i := 0; i < 10; i++ { 43 task, err := broker.GetTask(channel) 44 tt.NoError(err) 45 tt.Equal(taskList[i].ID, task.ID) 46 } 47 }