You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

118 line
3.4KB

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