| //MediaID : json response for uploading media | //MediaID : json response for uploading media | ||||
| type MediaID struct { | type MediaID struct { | ||||
| Type string `json:"type"` | |||||
| MediaID string `json:"media_id"` | |||||
| CreateAt int64 `json:"created_at"` | |||||
| Type string `json:"type"` | |||||
| MediaID string `json:"media_id"` | |||||
| CreateAt int64 `json:"created_at"` | |||||
| ThumbMediaID string `json:"thumb_media_id"` | |||||
| } | } | ||||
| func uploadImage(filename string) (mediaid string) { | func uploadImage(filename string) (mediaid string) { | ||||
| return | return | ||||
| } | } | ||||
| func uploadThumb(path string) (mediaID string) { | |||||
| url, _ := getPostThumbURL() | |||||
| jstr, _ := postFileForm(path, url, "media") | |||||
| var m = MediaID{} | |||||
| json.Unmarshal([]byte(jstr), &m) | |||||
| mediaID = m.ThumbMediaID | |||||
| return | |||||
| } | |||||
| func checkImageSanity() bool { | func checkImageSanity() bool { | ||||
| //check file size should < 2M | //check file size should < 2M | ||||
| fmt.Println(" should check image file size") | fmt.Println(" should check image file size") |
| </xml>` | </xml>` | ||||
| } | } | ||||
| func bulidMusicMsg(ToUserName, mediaID, title, description, url, hqURL string) (msg string) { | |||||
| func buildSampleMusicMsg(ToUserName string) (msg string) { | |||||
| thumbID := "AxEDlSNwJcs_0KnyiGnpAYiB1-sjITosWkU3VFsj62KuCyTQO-Fh1UH8d-pBmY1K" | |||||
| thumbID = "JZoNKZr9gzaI5ELBnFUljujiBfIwr4CtXHkZtQMjm-sLVD5PGOU_uvsaF3oNNFjp" | |||||
| url := "http://www.youtubeinmp3.com/download/get/?i=vNIuJKoAE46uz2RggRaKGFqQUVAqd0Td&e=92&progressType=button&color=008000" | |||||
| url = "http://agobe.yt-downloader.org/download.php?id=d7be28d3a1fafa69d7e464edb8186226" | |||||
| url = "http://www.sample-videos.com/audio/mp3/india-national-anthem.mp3" | |||||
| url = "http://google.com/" | |||||
| msg = buildMusicMsg(ToUserName, thumbID, "音乐标杆出", "fkd;ajf;daf说明动卡及另附;dasjfsda", url, url) | |||||
| return | |||||
| } | |||||
| func buildMusicMsg(ToUserName, ThumbMediaID, title, description, url, hqURL string) (msg string) { | |||||
| msg = fmt.Sprintf(musicMsgTemplate(), | msg = fmt.Sprintf(musicMsgTemplate(), | ||||
| ToUserName, | ToUserName, | ||||
| APIConfig.PublicAccountID, | APIConfig.PublicAccountID, | ||||
| description, | description, | ||||
| url, | url, | ||||
| hqURL, | hqURL, | ||||
| mediaID) | |||||
| ThumbMediaID) | |||||
| return | return | ||||
| } | } | ||||
| func musicMsgTemplate() string { | func musicMsgTemplate() string { |
| mediaID := uploadVoice(src) | mediaID := uploadVoice(src) | ||||
| log.Println(mediaID) | log.Println(mediaID) | ||||
| } | } | ||||
| func TestUploadThumb(t *testing.T) { | |||||
| SetupConfig() | |||||
| src := "media_for_test/music-thumb.jpg" | |||||
| mediaID := uploadThumb(src) | |||||
| log.Println(mediaID) | |||||
| //download the media back using the media id | |||||
| filename, e := saveMedia2File(mediaID) | |||||
| log.Println("saved :" + filename) | |||||
| AssertEqual(t, e, nil, "mediaID should be saved without any error") | |||||
| //make sure two files are the same | |||||
| cmp := equalfile.New(nil, equalfile.Options{}) // compare using single mode | |||||
| equal, err := cmp.CompareFile(src, filename) | |||||
| AssertEqual(t, err, nil, "file should be equal ") | |||||
| AssertEqual(t, equal, true, "file should be equal ") | |||||
| } |