goProject/.svn/pristine/70/70871803b3f6bf0d01a81cd0dba737f90329d6d8.svn-base
2025-01-06 16:21:36 +08:00

180 lines
4.6 KiB
Plaintext

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
}
}