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