180 lines
4.6 KiB
Go
180 lines
4.6 KiB
Go
package mqMgr
|
|
|
|
import (
|
|
"fmt"
|
|
"testing"
|
|
)
|
|
|
|
var (
|
|
queueObj = NewQueue(MQ_REGION_GUANGZHOU, "AD-Click", "AKIDjBUWGmIkDPJHCqRb2DCQM2RbUUL1MWMx", "RcldV6PRCBwUkjGVdVjiPq0IJ2VhEZtO")
|
|
)
|
|
|
|
func TestHandleDelaySeconds(t *testing.T) {
|
|
delaySeconds := -1
|
|
expected := 0
|
|
delaySeconds = queueObj.handleDelaySeconds(delaySeconds)
|
|
if delaySeconds != expected {
|
|
t.Errorf("Expected %d, but now got %d", expected, delaySeconds)
|
|
}
|
|
|
|
delaySeconds = 10
|
|
expected = 10
|
|
delaySeconds = queueObj.handleDelaySeconds(delaySeconds)
|
|
if delaySeconds != expected {
|
|
t.Errorf("Expected %d, but now got %d", expected, delaySeconds)
|
|
}
|
|
}
|
|
|
|
func TestHandlePollingWaitSeconds(t *testing.T) {
|
|
pollingWaitSeconds := -1
|
|
expected := 0
|
|
pollingWaitSeconds = queueObj.handlePollingWaitSeconds(pollingWaitSeconds)
|
|
if pollingWaitSeconds != expected {
|
|
t.Errorf("Expected %d, but now got %d", expected, pollingWaitSeconds)
|
|
}
|
|
|
|
pollingWaitSeconds = 100
|
|
expected = 30
|
|
pollingWaitSeconds = queueObj.handlePollingWaitSeconds(pollingWaitSeconds)
|
|
if pollingWaitSeconds != expected {
|
|
t.Errorf("Expected %d, but now got %d", expected, pollingWaitSeconds)
|
|
}
|
|
|
|
pollingWaitSeconds = 15
|
|
expected = 15
|
|
pollingWaitSeconds = queueObj.handlePollingWaitSeconds(pollingWaitSeconds)
|
|
if pollingWaitSeconds != expected {
|
|
t.Errorf("Expected %d, but now got %d", expected, pollingWaitSeconds)
|
|
}
|
|
}
|
|
|
|
func TestValidBatchList(t *testing.T) {
|
|
var list []string
|
|
expected := EMPTY_BATCH_LIST_ERROR
|
|
err := queueObj.validBatchList(list)
|
|
if err == nil {
|
|
t.Errorf("There should be an error, but now there isn't")
|
|
}
|
|
if err.Error() != expected {
|
|
t.Errorf("Expected %s, but now got %s", EMPTY_BATCH_LIST_ERROR, err.Error())
|
|
}
|
|
|
|
list = make([]string, 0, 16)
|
|
expected = EMPTY_BATCH_LIST_ERROR
|
|
err = queueObj.validBatchList(list)
|
|
if err == nil {
|
|
t.Errorf("There should be an error, but now there isn't")
|
|
}
|
|
if err.Error() != expected {
|
|
t.Errorf("Expected %s, but now got %s", EMPTY_BATCH_LIST_ERROR, err.Error())
|
|
}
|
|
|
|
for i := 0; i <= 2*MAX_BATCH_COUNT; i++ {
|
|
list = append(list, fmt.Sprintf("Test.%d", i))
|
|
}
|
|
|
|
expected = EXCEED_MAX_BATCH_COUNT_ERROR
|
|
err = queueObj.validBatchList(list)
|
|
if err == nil {
|
|
t.Errorf("There should be an error, but now there isn't")
|
|
}
|
|
if err.Error() != expected {
|
|
t.Errorf("Expected %s, but now got %s", EMPTY_BATCH_LIST_ERROR, err.Error())
|
|
}
|
|
}
|
|
|
|
func TestSendMessage(t *testing.T) {
|
|
message := "这是测试内容. Test"
|
|
|
|
// SendMessage
|
|
err := queueObj.SendMessage(message, 0)
|
|
if err != nil {
|
|
t.Errorf("There should be no error, but now there is: %s", err)
|
|
return
|
|
}
|
|
|
|
// ReceiveMessage
|
|
receiptHandle, actualMessage, exist, err := queueObj.ReceiveMessage(3)
|
|
if err != nil {
|
|
t.Errorf("There should be no error, but now there is: %s", err)
|
|
return
|
|
}
|
|
if exist == false {
|
|
t.Errorf("There should be one message, but now it's empty.")
|
|
return
|
|
}
|
|
if message != actualMessage {
|
|
t.Errorf("Expected %s, but got %s", message, actualMessage)
|
|
return
|
|
}
|
|
|
|
// DeleteMessage
|
|
err = queueObj.DeleteMessage(receiptHandle)
|
|
if err != nil {
|
|
t.Errorf("There should be no error, but now there is:%s", err)
|
|
return
|
|
}
|
|
|
|
// Verify
|
|
_, _, exist, err = queueObj.ReceiveMessage(3)
|
|
if err != nil {
|
|
t.Errorf("There should be no error, but now there is: %s", err)
|
|
return
|
|
}
|
|
if exist {
|
|
t.Errorf("There should be no message, but now there is.")
|
|
return
|
|
}
|
|
}
|
|
|
|
func TestBatchSendMessage(t *testing.T) {
|
|
count := 5
|
|
messageList := make([]string, 0, count)
|
|
for i := 0; i < count; i++ {
|
|
messageList = append(messageList, fmt.Sprintf("This is for test:%d", i+1))
|
|
}
|
|
|
|
// BatchSendMessage
|
|
err := queueObj.BatchSendMessage(messageList, 0)
|
|
if err != nil {
|
|
t.Errorf("There should be no error, but now there is:%s", err)
|
|
return
|
|
}
|
|
|
|
// BatchReceiveMessage
|
|
receiptHandleList, retMessageList, exist, err := queueObj.BatchReceiveMessage(count, 3)
|
|
if err != nil {
|
|
t.Errorf("There should be no error, but now there is:%s", err)
|
|
return
|
|
}
|
|
if !exist || messageList == nil || len(messageList) != count {
|
|
t.Errorf("There should be %d messages, but now there isn't.", count)
|
|
return
|
|
}
|
|
|
|
for i := 0; i < count; i++ {
|
|
if messageList[i] != retMessageList[i] {
|
|
t.Errorf("Expected %s, but got %s", messageList[i], retMessageList[i])
|
|
return
|
|
}
|
|
}
|
|
|
|
// BatchDeleteMessage
|
|
_, err = queueObj.BatchDeleteMessage(receiptHandleList)
|
|
if err != nil {
|
|
t.Errorf("There should be no error, but now there is:%s", err)
|
|
return
|
|
}
|
|
|
|
// Verify
|
|
_, _, exist, err = queueObj.ReceiveMessage(3)
|
|
if err != nil {
|
|
t.Errorf("There should be no error, but now there is: %s", err)
|
|
return
|
|
}
|
|
if exist {
|
|
t.Errorf("There should be no message, but now there is.")
|
|
return
|
|
}
|
|
}
|