Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

193 lines
11KB

  1. package main
  2. import (
  3. "log"
  4. "testing"
  5. )
  6. func TestGetMaterialNewsList(t *testing.T) {
  7. SetupConfig()
  8. l := getNewList()
  9. log.Printf("news is : %s", l)
  10. nl := unmarshalNewsList(l)
  11. for k, v := range nl.Items {
  12. log.Printf("%d - message \n", k)
  13. log.Printf("title=%s", v.Content.NewsItem[0].Title)
  14. }
  15. }
  16. func TestGetMaterialVoiceList(t *testing.T) {
  17. SetupConfig()
  18. l := getVoiceList()
  19. log.Printf("voice is : %s", l)
  20. }
  21. func TestGetMaterialVideoList(t *testing.T) {
  22. SetupConfig()
  23. l := getVideoList()
  24. log.Printf("voice is : %s", l)
  25. }
  26. func TestGetMaterialImageList(t *testing.T) {
  27. SetupConfig()
  28. l := getImageList()
  29. log.Printf("voice is : %s", l)
  30. }
  31. func TestGetMaterialCount(t *testing.T) {
  32. SetupConfig()
  33. mc, err := getMaterialCount()
  34. if err != nil {
  35. log.Fatal(err)
  36. }
  37. log.Printf("Voice: %d", mc.VoiceCount)
  38. log.Printf("Video: %d", mc.VideoCount)
  39. log.Printf("Image: %d", mc.ImageCount)
  40. log.Printf("News : %d", mc.NewsCount)
  41. }
  42. func TestUnmarshalImageList(t *testing.T) {
  43. msg := `
  44. {"item": [
  45. {
  46. "media_id": "e2iNEiSxCX5TV1WbFd0TQCOZJ6FrmbKe7sjUrIZnkW0",
  47. "name": "hit_logo.jpg",
  48. "update_time": 1494466025,
  49. "url": "http:\/\/mmbiz.qpic.cn\/mmbiz_jpg\/WiaVAicTdo7zMBVOE4QKxFFnFwbnFbyYGUs0YQBiatN97ibIgOWE4picXg49jj1k5TRibswd7DzLC1CCvJco0Kic9T90g\/0?wx_fmt=jpeg"
  50. },
  51. {
  52. "media_id": "e2iNEiSxCX5TV1WbFd0TQOo3v5NmyZKIzG6erS8Heak",
  53. "name": "hit_font.jpg",
  54. "update_time": 1494466018,
  55. "url": "http:\/\/mmbiz.qpic.cn\/mmbiz_jpg\/WiaVAicTdo7zMBVOE4QKxFFnFwbnFbyYGUvogs2hibSk6eqlcYZdZj3d5DLYMj4xAFuD9rp4e0s3O8B46Hgb6mETw\/0?wx_fmt=jpeg"
  56. },
  57. {
  58. "media_id": "e2iNEiSxCX5TV1WbFd0TQP9e-7cyXtbHoxptztJgz68",
  59. "name": "logo-gold-964x640.png",
  60. "update_time": 1492696182,
  61. "url": "http:\/\/mmbiz.qpic.cn\/mmbiz_png\/WiaVAicTdo7zP8HtgLHegmr32SLxcGv0wjQ1pic9oePDgk6XUhDz6xfhicmiaq4ITfibtfPOsulOMD7icIfSicibd8By3Tw\/0?wx_fmt=png"
  62. }
  63. ],
  64. "total_count": 30,
  65. "item_count": 3
  66. }`
  67. r := unmarshalImageList(msg)
  68. AssertEqual(t, r.TotalCount, 30, "Total count should be 30")
  69. AssertEqual(t, r.ItemCount, 3, "Item count should be 3")
  70. //individual items
  71. AssertEqual(t, r.Items[0].MediaID, "e2iNEiSxCX5TV1WbFd0TQCOZJ6FrmbKe7sjUrIZnkW0", "Item[0] media id mismatch")
  72. AssertEqual(t, r.Items[0].Name, "hit_logo.jpg", "Item[0].name expect [hit_logo.jpg] not ["+r.Items[0].Name+"]")
  73. AssertEqual(t, r.Items[0].UpdateTime, 1494466025, "Item[0] updatetime wrong")
  74. AssertEqual(t, r.Items[0].URL, "http://mmbiz.qpic.cn/mmbiz_jpg/WiaVAicTdo7zMBVOE4QKxFFnFwbnFbyYGUs0YQBiatN97ibIgOWE4picXg49jj1k5TRibswd7DzLC1CCvJco0Kic9T90g/0?wx_fmt=jpeg", "Item[0] URL wrong")
  75. AssertEqual(t, r.Items[1].MediaID, "e2iNEiSxCX5TV1WbFd0TQOo3v5NmyZKIzG6erS8Heak", "Item[1] media id mismatch")
  76. AssertEqual(t, r.Items[1].Name, "hit_font.jpg", "Item[1].name expect [hit_font.jpg] not ["+r.Items[0].Name+"]")
  77. AssertEqual(t, r.Items[1].UpdateTime, 1494466018, "Item[1] updatetime wrong")
  78. AssertEqual(t, r.Items[1].URL, "http://mmbiz.qpic.cn/mmbiz_jpg/WiaVAicTdo7zMBVOE4QKxFFnFwbnFbyYGUvogs2hibSk6eqlcYZdZj3d5DLYMj4xAFuD9rp4e0s3O8B46Hgb6mETw/0?wx_fmt=jpeg", "Item[1] URL wrong")
  79. AssertEqual(t, r.Items[2].MediaID, "e2iNEiSxCX5TV1WbFd0TQP9e-7cyXtbHoxptztJgz68", "Item[2] media id mismatch")
  80. AssertEqual(t, r.Items[2].Name, "logo-gold-964x640.png", "Item[2].name expect [logo-gold-964x640.png] not ["+r.Items[0].Name+"]")
  81. AssertEqual(t, r.Items[2].UpdateTime, 1492696182, "Item[2] update time mismatch ")
  82. AssertEqual(t, r.Items[2].URL, "http://mmbiz.qpic.cn/mmbiz_png/WiaVAicTdo7zP8HtgLHegmr32SLxcGv0wjQ1pic9oePDgk6XUhDz6xfhicmiaq4ITfibtfPOsulOMD7icIfSicibd8By3Tw/0?wx_fmt=png", "Item[2] URL wrong")
  83. }
  84. func TestUnmarshalNewsList(t *testing.T) {
  85. msg := `
  86. {
  87. "item": [
  88. {
  89. "media_id": "e2iNEiSxCX5TV1WbFd0TQP4_MKtjcY1q-4UPIZFrHhw",
  90. "content": {
  91. "news_item": [
  92. {
  93. "title": "新人入会前几周推荐",
  94. "author": "abc",
  95. "digest": "excerpt",
  96. "content": "<p>&nbsp;&nbsp;&nbsp;&nbsp;新人入会,前几周推荐做如下几件事情<\/p><p><img data-s=\"300,640\" data-type=\"jpeg\" data-src=\"http:\/\/mmbiz.qpic.cn\/mmbiz_jpg\/WiaVAicTdo7zMBVOE4QKxFFnFwbnFbyYGUs0YQBiatN97ibIgOWE4picXg49jj1k5TRibswd7DzLC1CCvJco0Kic9T90g\/0?wx_fmt=jpeg\" data-ratio=\"0.9035087719298246\" data-w=\"342\" \/><\/p><p><br \/><\/p>",
  97. "content_source_url": "",
  98. "thumb_media_id": "SCqYVM0F3OSBIqptPWQ5ZjDYlLvKsEtHHaYnHLyXbeM",
  99. "show_cover_pic": 0,
  100. "url": "http:\/\/mp.weixin.qq.com\/s?__biz=MzUxMDAzNDAwMA==&mid=100000008&idx=1&sn=cbfd3f5f5367ca67f9a1184eb394f788&chksm=790868374e7fe121ac5e1d27f6d082c3f8e8033eb4e7158615d0a69dc76ac2971e5650b28fac#rd",
  101. "thumb_url": "http:\/\/mmbiz.qpic.cn\/mmbiz_jpg\/WiaVAicTdo7zMBVOE4QKxFFnFwbnFbyYGUs0YQBiatN97ibIgOWE4picXg49jj1k5TRibswd7DzLC1CCvJco0Kic9T90g\/0?wx_fmt=jpeg",
  102. "need_open_comment": 0,
  103. "only_fans_can_comment": 0
  104. }
  105. ],
  106. "create_time": 1494488254,
  107. "update_time": 1494488268
  108. },
  109. "update_time": 1494488268
  110. },
  111. {
  112. "media_id": "e2iNEiSxCX5TV1WbFd0TQMqvVrqFDbDOacdjgQ-OAuE",
  113. "content": {
  114. "news_item": [
  115. {
  116. "title": "测试消息",
  117. "author": "孙鹏",
  118. "digest": "加入校友会",
  119. "content": "<p>加入校友会<\/p><p><img data-s=\"300,640\" data-type=\"png\" data-src=\"http:\/\/mmbiz.qpic.cn\/mmbiz_png\/WiaVAicTdo7zP8HtgLHegmr32SLxcGv0wjQ1pic9oePDgk6XUhDz6xfhicmiaq4ITfibtfPOsulOMD7icIfSicibd8By3Tw\/0?wx_fmt=png\" data-ratio=\"0.6765327695560254\" data-w=\"946\" \/><\/p><p><br \/><\/p>",
  120. "content_source_url": "http:\/\/www.hitxy.org.au\/join",
  121. "thumb_media_id": "SCqYVM0F3OSBIqptPWQ5ZjDYlLvKsEtHHaYnHLyXbeM",
  122. "show_cover_pic": 0,
  123. "url": "http:\/\/mp.weixin.qq.com\/s?__biz=MzUxMDAzNDAwMA==&mid=100000002&idx=1&sn=723bf16b52f88345e5a73ccde1c79bdb&chksm=7908683d4e7fe12bcaefa9c563809db5546ab97af7184ec648f20930fab5c1d95ee825409c0d#rd",
  124. "thumb_url": "http:\/\/mmbiz.qpic.cn\/mmbiz_png\/WiaVAicTdo7zP8HtgLHegmr32SLxcGv0wjQ1pic9oePDgk6XUhDz6xfhicmiaq4ITfibtfPOsulOMD7icIfSicibd8By3Tw\/0?wx_fmt=png",
  125. "need_open_comment": 0,
  126. "only_fans_can_comment": 0
  127. }
  128. ],
  129. "create_time": 1492696196,
  130. "update_time": 1492696243
  131. },
  132. "update_time": 1492696243
  133. }
  134. ],
  135. "total_count": 20,
  136. "item_count": 2
  137. }
  138. `
  139. r := unmarshalNewsList(msg)
  140. AssertEqual(t, r.TotalCount, 20, "Total count should be 20")
  141. AssertEqual(t, r.ItemCount, 2, "Item count should be 2")
  142. cnt := len(r.Items)
  143. AssertEqual(t, cnt, 2, "")
  144. //first item
  145. item := r.Items[0]
  146. AssertEqual(t, item.MediaID, "e2iNEiSxCX5TV1WbFd0TQP4_MKtjcY1q-4UPIZFrHhw", "Item[0] media ID wrong")
  147. AssertEqual(t, item.UpdateTime, 1494488268, "Item[0] update time wrong")
  148. AssertEqual(t, item.Content.CreateTime, 1494488254, "Item[0].Content Create time wrong")
  149. AssertEqual(t, item.Content.UpdateTime, 1494488268, "Item[0].Content Update time wrong")
  150. AssertEqual(t, item.Content.NewsItem[0].Title, "新人入会前几周推荐", "Item[0].Content.NewsItem[0].Title mismatch")
  151. AssertEqual(t, item.Content.NewsItem[0].Author, "abc", "Item[0].Content.NewsItem[0].Author should be abc")
  152. AssertEqual(t, item.Content.NewsItem[0].Digest, "excerpt", "Item[0].Content.NewsItem[0].Digest shold be excerpt")
  153. AssertEqual(t, item.Content.NewsItem[0].Content, "<p>&nbsp;&nbsp;&nbsp;&nbsp;新人入会,前几周推荐做如下几件事情</p><p><img data-s=\"300,640\" data-type=\"jpeg\" data-src=\"http://mmbiz.qpic.cn/mmbiz_jpg/WiaVAicTdo7zMBVOE4QKxFFnFwbnFbyYGUs0YQBiatN97ibIgOWE4picXg49jj1k5TRibswd7DzLC1CCvJco0Kic9T90g/0?wx_fmt=jpeg\" data-ratio=\"0.9035087719298246\" data-w=\"342\" /></p><p><br /></p>", "Item[0].Content.NewsItem[0].Content wrong")
  154. AssertEqual(t, item.Content.NewsItem[0].ContentSourceURL, "", "Item[0].Content.NewsItem[0].ContentSourceURL wrong")
  155. AssertEqual(t, item.Content.NewsItem[0].ThumbMediaID, "SCqYVM0F3OSBIqptPWQ5ZjDYlLvKsEtHHaYnHLyXbeM", "Item[0].Content.NewsItem[0].ThumbMediaID wrong")
  156. AssertEqual(t, item.Content.NewsItem[0].ShowCoverPic, 0, "Item[0].Content.NewsItem[0].ShowCoverPIC should be 0")
  157. AssertEqual(t, item.Content.NewsItem[0].URL, "http://mp.weixin.qq.com/s?__biz=MzUxMDAzNDAwMA==&mid=100000008&idx=1&sn=cbfd3f5f5367ca67f9a1184eb394f788&chksm=790868374e7fe121ac5e1d27f6d082c3f8e8033eb4e7158615d0a69dc76ac2971e5650b28fac#rd", "Article URL is not right")
  158. AssertEqual(t, item.Content.NewsItem[0].ThumbURL, "http://mmbiz.qpic.cn/mmbiz_jpg/WiaVAicTdo7zMBVOE4QKxFFnFwbnFbyYGUs0YQBiatN97ibIgOWE4picXg49jj1k5TRibswd7DzLC1CCvJco0Kic9T90g/0?wx_fmt=jpeg", "Article Thumb URL wrong")
  159. AssertEqual(t, item.Content.NewsItem[0].NeedOpenComment, 0, "Need Open Comment should be 0")
  160. AssertEqual(t, item.Content.NewsItem[0].OnlyFansCanComment, 0, "OnlyFansCanComment should be 0")
  161. //second item
  162. item = r.Items[1]
  163. AssertEqual(t, item.MediaID, "e2iNEiSxCX5TV1WbFd0TQMqvVrqFDbDOacdjgQ-OAuE", "Item[1] media ID wrong")
  164. AssertEqual(t, item.UpdateTime, 1492696243, "Item[1] update time wrong")
  165. AssertEqual(t, item.Content.CreateTime, 1492696196, "Item[1].Content.CreateTime wrong")
  166. AssertEqual(t, item.Content.UpdateTime, 1492696243, "Item[1].Content.Update time wrong")
  167. AssertEqual(t, item.Content.NewsItem[0].Title, "测试消息", "Item[1].NewsItem[0].Title wrong")
  168. AssertEqual(t, item.Content.NewsItem[0].Author, "孙鹏", "Item[1].NewsItem[0].Author wrong")
  169. AssertEqual(t, item.Content.NewsItem[0].Digest, "加入校友会", "Item[1].NewsItem[0].Digest wrong")
  170. AssertEqual(t, item.Content.NewsItem[0].Content, "<p>加入校友会</p><p><img data-s=\"300,640\" data-type=\"png\" data-src=\"http://mmbiz.qpic.cn/mmbiz_png/WiaVAicTdo7zP8HtgLHegmr32SLxcGv0wjQ1pic9oePDgk6XUhDz6xfhicmiaq4ITfibtfPOsulOMD7icIfSicibd8By3Tw/0?wx_fmt=png\" data-ratio=\"0.6765327695560254\" data-w=\"946\" /></p><p><br /></p>", "article content wrong")
  171. AssertEqual(t, item.Content.NewsItem[0].ContentSourceURL, "http://www.hitxy.org.au/join", "Item[1].NewsItem[0].ContentSourceURL wrong")
  172. AssertEqual(t, item.Content.NewsItem[0].ThumbMediaID, "SCqYVM0F3OSBIqptPWQ5ZjDYlLvKsEtHHaYnHLyXbeM", "Item[1].NewsItem[0].ThumbMediaID wrong")
  173. AssertEqual(t, item.Content.NewsItem[0].ShowCoverPic, 0, "Item[1].NewsItem[0].ShowCoverPic wrong")
  174. AssertEqual(t, item.Content.NewsItem[0].URL, "http://mp.weixin.qq.com/s?__biz=MzUxMDAzNDAwMA==&mid=100000002&idx=1&sn=723bf16b52f88345e5a73ccde1c79bdb&chksm=7908683d4e7fe12bcaefa9c563809db5546ab97af7184ec648f20930fab5c1d95ee825409c0d#rd", "Article URL is not right")
  175. AssertEqual(t, item.Content.NewsItem[0].ThumbURL, "http://mmbiz.qpic.cn/mmbiz_png/WiaVAicTdo7zP8HtgLHegmr32SLxcGv0wjQ1pic9oePDgk6XUhDz6xfhicmiaq4ITfibtfPOsulOMD7icIfSicibd8By3Tw/0?wx_fmt=png", "Article Thumb URL wrong")
  176. AssertEqual(t, item.Content.NewsItem[0].NeedOpenComment, 0, "Need Open Comment should be 0")
  177. AssertEqual(t, item.Content.NewsItem[0].OnlyFansCanComment, 0, "OnlyFansCanComment should be 0")
  178. }