package main import ( "log" "testing" ) func TestGetMaterialList(t *testing.T) { SetupConfig() l := getNewList() log.Printf("news is : %s", l) l = getVoiceList() log.Printf("voice is : %s", l) l = getVideoList() log.Printf("video is : %s", l) l = getImageList() log.Printf("Image is : %s", l) } func TestGetMaterialCount(t *testing.T) { SetupConfig() mc, err := getMaterialCount() if err != nil { log.Fatal(err) } log.Printf("Voice: %d", mc.VoiceCount) log.Printf("Video: %d", mc.VideoCount) log.Printf("Image: %d", mc.ImageCount) log.Printf("News : %d", mc.NewsCount) } func TestUnmarshalImageList(t *testing.T) { msg := ` {"item": [ { "media_id": "e2iNEiSxCX5TV1WbFd0TQCOZJ6FrmbKe7sjUrIZnkW0", "name": "hit_logo.jpg", "update_time": 1494466025, "url": "http:\/\/mmbiz.qpic.cn\/mmbiz_jpg\/WiaVAicTdo7zMBVOE4QKxFFnFwbnFbyYGUs0YQBiatN97ibIgOWE4picXg49jj1k5TRibswd7DzLC1CCvJco0Kic9T90g\/0?wx_fmt=jpeg" }, { "media_id": "e2iNEiSxCX5TV1WbFd0TQOo3v5NmyZKIzG6erS8Heak", "name": "hit_font.jpg", "update_time": 1494466018, "url": "http:\/\/mmbiz.qpic.cn\/mmbiz_jpg\/WiaVAicTdo7zMBVOE4QKxFFnFwbnFbyYGUvogs2hibSk6eqlcYZdZj3d5DLYMj4xAFuD9rp4e0s3O8B46Hgb6mETw\/0?wx_fmt=jpeg" }, { "media_id": "e2iNEiSxCX5TV1WbFd0TQP9e-7cyXtbHoxptztJgz68", "name": "logo-gold-964x640.png", "update_time": 1492696182, "url": "http:\/\/mmbiz.qpic.cn\/mmbiz_png\/WiaVAicTdo7zP8HtgLHegmr32SLxcGv0wjQ1pic9oePDgk6XUhDz6xfhicmiaq4ITfibtfPOsulOMD7icIfSicibd8By3Tw\/0?wx_fmt=png" } ], "total_count": 30, "item_count": 3 }` r := unmarshalImageList(msg) AssertEqual(t, r.TotalCount, 30, "Total count should be 30") AssertEqual(t, r.ItemCount, 3, "Item count should be 3") //individual items AssertEqual(t, r.Items[0].MediaID, "e2iNEiSxCX5TV1WbFd0TQCOZJ6FrmbKe7sjUrIZnkW0", "Item[0] media id mismatch") AssertEqual(t, r.Items[0].Name, "hit_logo.jpg", "Item[0].name expect [hit_logo.jpg] not ["+r.Items[0].Name+"]") AssertEqual(t, r.Items[0].UpdateTime, 1494466025, "Item[0] updatetime wrong") AssertEqual(t, r.Items[0].URL, "http://mmbiz.qpic.cn/mmbiz_jpg/WiaVAicTdo7zMBVOE4QKxFFnFwbnFbyYGUs0YQBiatN97ibIgOWE4picXg49jj1k5TRibswd7DzLC1CCvJco0Kic9T90g/0?wx_fmt=jpeg", "Item[0] URL wrong") AssertEqual(t, r.Items[1].MediaID, "e2iNEiSxCX5TV1WbFd0TQOo3v5NmyZKIzG6erS8Heak", "Item[1] media id mismatch") AssertEqual(t, r.Items[1].Name, "hit_font.jpg", "Item[1].name expect [hit_font.jpg] not ["+r.Items[0].Name+"]") AssertEqual(t, r.Items[1].UpdateTime, 1494466018, "Item[1] updatetime wrong") AssertEqual(t, r.Items[1].URL, "http://mmbiz.qpic.cn/mmbiz_jpg/WiaVAicTdo7zMBVOE4QKxFFnFwbnFbyYGUvogs2hibSk6eqlcYZdZj3d5DLYMj4xAFuD9rp4e0s3O8B46Hgb6mETw/0?wx_fmt=jpeg", "Item[1] URL wrong") AssertEqual(t, r.Items[2].MediaID, "e2iNEiSxCX5TV1WbFd0TQP9e-7cyXtbHoxptztJgz68", "Item[2] media id mismatch") AssertEqual(t, r.Items[2].Name, "logo-gold-964x640.png", "Item[2].name expect [logo-gold-964x640.png] not ["+r.Items[0].Name+"]") AssertEqual(t, r.Items[2].UpdateTime, 1492696182, "Item[2] update time mismatch ") AssertEqual(t, r.Items[2].URL, "http://mmbiz.qpic.cn/mmbiz_png/WiaVAicTdo7zP8HtgLHegmr32SLxcGv0wjQ1pic9oePDgk6XUhDz6xfhicmiaq4ITfibtfPOsulOMD7icIfSicibd8By3Tw/0?wx_fmt=png", "Item[2] URL wrong") }