Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

130 lignes
3.7KB

  1. package main
  2. import (
  3. "fmt"
  4. "testing"
  5. )
  6. func TestReadCommonHeader(t *testing.T) {
  7. SetupConfig()
  8. var msg = `<xml><ToUserName><![CDATA[gh_f09231355c68]]></ToUserName>
  9. <FromUserName><![CDATA[oUN420bxqFqlx0ZQHciUOesZO3PE]]></FromUserName>
  10. <CreateTime>1492972518</CreateTime>
  11. <MsgType><![CDATA[event]]></MsgType>
  12. <Event><![CDATA[CLICK]]></Event>
  13. <EventKey><![CDATA[V1001_TODAY_MUSIC]]></EventKey>
  14. </xml>`
  15. h := ReadCommonHeader(msg)
  16. assertEqual(t, h.ToUserName, "gh_f09231355c68", "ToUserName failed")
  17. assertEqual(t, h.FromUserName, "oUN420bxqFqlx0ZQHciUOesZO3PE", "FromUserName failed")
  18. assertEqual(t, h.CreateTime, int64(1492972518), "CreateTime Failed")
  19. assertEqual(t, h.MsgType, "event", "MsgType failed")
  20. }
  21. func assertEqual(t *testing.T, a interface{}, b interface{}, message string) {
  22. if a == b {
  23. return
  24. }
  25. if len(message) == 0 {
  26. message = fmt.Sprintf("%v != %v", a, b)
  27. }
  28. message = fmt.Sprintf("%v != %v", a, b)
  29. t.Fatal(message)
  30. }
  31. func TestTxtMsg(t *testing.T) {
  32. msg := `<xml>
  33. <ToUserName><![CDATA[toUser]]></ToUserName>
  34. <FromUserName><![CDATA[fromUser]]></FromUserName>
  35. <CreateTime>1348831860</CreateTime>
  36. <MsgType><![CDATA[text]]></MsgType>
  37. <Content><![CDATA[this is a test]]></Content>
  38. <MsgId>1234567890123456</MsgId>
  39. </xml>`
  40. h := ReadCommonHeader(msg)
  41. m := ReadTextMsg(msg)
  42. assertEqual(t, m.Content, "this is a test", "Content is not right")
  43. assertEqual(t, h.MsgType, "text", "")
  44. assertEqual(t, m.MsgId, int64(1234567890123456), "")
  45. }
  46. /*
  47. func TestingPicMsg(t *testing.T) {
  48. msg := `<xml>
  49. <ToUserName><![CDATA[toUser]]></ToUserName>
  50. <FromUserName><![CDATA[fromUser]]></FromUserName>
  51. <CreateTime>1348831860</CreateTime>
  52. <MsgType><![CDATA[image]]></MsgType>
  53. <PicUrl><![CDATA[this is a url]]></PicUrl>
  54. <MediaId><![CDATA[media_id]]></MediaId>
  55. <MsgId>1234567890123456</MsgId>
  56. </xml>`
  57. }
  58. func TestingVoiceMsg(t *testing.T) {
  59. msg := `<xml>
  60. <ToUserName><![CDATA[toUser]]></ToUserName>
  61. <FromUserName><![CDATA[fromUser]]></FromUserName>
  62. <CreateTime>1357290913</CreateTime>
  63. <MsgType><![CDATA[voice]]></MsgType>
  64. <MediaId><![CDATA[media_id]]></MediaId>
  65. <Format><![CDATA[Format]]></Format>
  66. <Recognition><![CDATA[腾讯微信团队]]></Recognition>
  67. <MsgId>1234567890123456</MsgId>
  68. </xml>`
  69. }
  70. func TestingVideoMsg(t *testing.T) {
  71. msg := `<xml>
  72. <ToUserName><![CDATA[toUser]]></ToUserName>
  73. <FromUserName><![CDATA[fromUser]]></FromUserName>
  74. <CreateTime>1357290913</CreateTime>
  75. <MsgType><![CDATA[video]]></MsgType>
  76. <MediaId><![CDATA[media_id]]></MediaId>
  77. <ThumbMediaId><![CDATA[thumb_media_id]]></ThumbMediaId>
  78. <MsgId>1234567890123456</MsgId>
  79. </xml>`
  80. }
  81. func TestingShortVideoMsg(t *testing.T) {
  82. msg := `<xml>
  83. <ToUserName><![CDATA[toUser]]></ToUserName>
  84. <FromUserName><![CDATA[fromUser]]></FromUserName>
  85. <CreateTime>1357290913</CreateTime>
  86. <MsgType><![CDATA[shortvideo]]></MsgType>
  87. <MediaId><![CDATA[media_id]]></MediaId>
  88. <ThumbMediaId><![CDATA[thumb_media_id]]></ThumbMediaId>
  89. <MsgId>1234567890123456</MsgId>
  90. </xml>`
  91. }
  92. func TestingLocationMsg(t *testing.T) {
  93. msg := `<xml>
  94. <ToUserName><![CDATA[toUser]]></ToUserName>
  95. <FromUserName><![CDATA[fromUser]]></FromUserName>
  96. <CreateTime>1351776360</CreateTime>
  97. <MsgType><![CDATA[location]]></MsgType>
  98. <Location_X>23.134521</Location_X>
  99. <Location_Y>113.358803</Location_Y>
  100. <Scale>20</Scale>
  101. <Label><![CDATA[位置信息]]></Label>
  102. <MsgId>1234567890123456</MsgId>
  103. </xml>`
  104. }
  105. func TestingLinkMsg(t *testing.T) {
  106. msg := `<xml>
  107. <ToUserName><![CDATA[toUser]]></ToUserName>
  108. <FromUserName><![CDATA[fromUser]]></FromUserName>
  109. <CreateTime>1351776360</CreateTime>
  110. <MsgType><![CDATA[link]]></MsgType>
  111. <Title><![CDATA[公众平台官网链接]]></Title>
  112. <Description><![CDATA[公众平台官网链接]]></Description>
  113. <Url><![CDATA[url]]></Url>
  114. <MsgId>1234567890123456</MsgId>
  115. </xml>`
  116. }
  117. */