github.com/johnnyeven/libtools@v0.0.0-20191126065708-61829c1adf46/mq/redis/redis_backend_test.go (about) 1 package redis 2 3 import ( 4 "fmt" 5 "sort" 6 "testing" 7 8 "github.com/stretchr/testify/assert" 9 10 "github.com/johnnyeven/libtools/mq" 11 ) 12 13 func TestRedisBackend(t *testing.T) { 14 tt := assert.New(t) 15 16 backend := NewRedisBackend(r.GetCache().Pool, "mq-") 17 18 task := mq.NewTask("c", "test", []byte(fmt.Sprintf("data"))) 19 20 taskList := make([]*mq.TaskStatus, 0) 21 for i := 0; i < 10; i++ { 22 taskStatus := task.Success(nil) 23 taskList = append(taskList, taskStatus) 24 err := backend.FeedBack(taskStatus) 25 tt.NoError(err) 26 } 27 28 for i := 0; i < 10; i++ { 29 taskStatus, err := backend.GetFeedback() 30 tt.NoError(err) 31 tt.Equal(taskList[i].ID, taskStatus.ID) 32 tt.Equal(mq.StatusSuccess, taskStatus.Status) 33 } 34 35 { 36 err := backend.Cancel("test") 37 tt.NoError(err) 38 } 39 40 { 41 ok, err := backend.IsCancelled("test") 42 tt.NoError(err) 43 tt.True(ok) 44 } 45 46 { 47 err := backend.ClearCancellation("test") 48 tt.NoError(err) 49 } 50 51 { 52 ok, err := backend.IsCancelled("test") 53 tt.NoError(err) 54 tt.False(ok) 55 } 56 } 57 58 func TestRedisChannelMgr(t *testing.T) { 59 tt := assert.New(t) 60 61 backend := NewRedisBackend(r.GetCache().Pool, "mq-") 62 63 backend.RegisterChannel("test", []string{"One", "Two", "Tree"}) 64 65 channelList, err := backend.ListChannel() 66 tt.NoError(err) 67 tt.Equal([]string{"test"}, channelList) 68 69 subjectList, err := backend.ListSubject("test") 70 tt.NoError(err) 71 sort.Strings(subjectList) 72 tt.Equal([]string{"One", "Tree", "Two"}, subjectList) 73 }