package main import ( "testing" ) func TestReadCommonHeader(t *testing.T) { SetupConfig() var msg = ` 1492972518 ` h := ReadCommonHeader(msg) AssertEqual(t, h.ToUserName, "gh_f09231355c68", "ToUserName failed") AssertEqual(t, h.FromUserName, "oUN420bxqFqlx0ZQHciUOesZO3PE", "FromUserName failed") AssertEqual(t, h.CreateTime, int64(1492972518), "CreateTime Failed") AssertEqual(t, h.MsgType, "event", "MsgType failed") } func TestTxtMsg(t *testing.T) { msg := ` 1348831860 1234567890123456 ` h := ReadCommonHeader(msg) m := ReadTextMsg(msg) AssertEqual(t, m.Content, "this is a test", "Content failed") AssertEqual(t, h.MsgType, "text", "") AssertEqual(t, m.MsgId, int64(1234567890123456), "") } func TestPicMsg(t *testing.T) { msg := ` 1348831860 1234567890123456 ` h := ReadCommonHeader(msg) AssertEqual(t, h.MsgType, "image", "") m := ReadPicMsg(msg) AssertEqual(t, m.MediaId, "media_id", "Media id failed") AssertEqual(t, m.PicUrl, "this is a url", "PicUrl failed") AssertEqual(t, m.MsgId, int64(1234567890123456), "MsgId not match") } func TestVoiceMsg(t *testing.T) { msg := ` 1357290913 1234567890123456 ` h := ReadCommonHeader(msg) AssertEqual(t, h.MsgType, "voice", "Message type should be voice") m := ReadVoiceMsg(msg) AssertEqual(t, m.MediaId, "media_id", "Media id failed") AssertEqual(t, m.Format, "Format", "Format failed") AssertEqual(t, m.Recognition, "some result", "Recognition failed") AssertEqual(t, m.MsgId, int64(1234567890123456), "MsgId not match") } func TestVideoMsg(t *testing.T) { msg := ` 1357290913 1234567890123456 ` h := ReadCommonHeader(msg) AssertEqual(t, h.MsgType, "video", "Message type should be video") m := ReadVideoMsg(msg) AssertEqual(t, m.MediaId, "media_id", "Media id failed") AssertEqual(t, m.ThumbMediaId, "thumb_media_id", "Format failed") AssertEqual(t, m.MsgId, int64(1234567890123456), "MsgId not match") } func TestShortVideoMsg(t *testing.T) { msg := ` 1357290913 1234567890123456 ` h := ReadCommonHeader(msg) AssertEqual(t, h.MsgType, "shortvideo", "Message type should be video") m := ReadShortVideoMsg(msg) AssertEqual(t, m.MediaId, "media_id", "Media id failed") AssertEqual(t, m.ThumbMediaId, "thumb_media_id", "Format failed") AssertEqual(t, m.MsgId, int64(1234567890123456), "MsgId not match") } func TestLocationMsg(t *testing.T) { msg := ` 1351776360 23.134521 113.358803 20 1234567890123456 ` h := ReadCommonHeader(msg) AssertEqual(t, h.MsgType, "location", "Message type should be video") m := ReadLocationMsg(msg) AssertEqual(t, m.Location_X, (float64(23.134521)), "Location_X failed") AssertEqual(t, m.Location_Y, (float64(113.358803)), "Location_Y failed") AssertEqual(t, m.Scale, int(22), "Format failed") AssertEqual(t, m.Label, "Location description", "Location Label failed") AssertEqual(t, m.MsgId, int64(1234567890123456), "MsgId not match") } /* func TestLinkMsg(t *testing.T) { msg := ` 1351776360 <![CDATA[公众平台官网链接]]> 1234567890123456 ` } */