Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

193 Zeilen
11KB

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