|
- package main
-
- import (
- "fmt"
- "testing"
- )
-
- func TestReadCommonHeader(t *testing.T) {
- SetupConfig()
- var msg = `<xml><ToUserName><![CDATA[gh_f09231355c68]]></ToUserName>
- <FromUserName><![CDATA[oUN420bxqFqlx0ZQHciUOesZO3PE]]></FromUserName>
- <CreateTime>1492972518</CreateTime>
- <MsgType><![CDATA[event]]></MsgType>
- <Event><![CDATA[CLICK]]></Event>
- <EventKey><![CDATA[V1001_TODAY_MUSIC]]></EventKey>
- </xml>`
-
- h := ReadCommonHeader(msg)
- assertEqual(t, h.ToUserName, "gh_f09231355c68", "ToUserName failed")
- assertEqual(t, h.FromUserName, "oUN420bxqFqlx0ZQHciUOesZO3PE", "FromUserName failed")
- assertEqual(t, h.MsgType, "event", "MsgType failed")
- //for weird reasons assertEqual does not work for integer
- if h.CreateTime != 1492972518 {
- errmsg := fmt.Sprintf("CreateTime should be 1492972518, not %d", h.CreateTime)
- t.Error(errmsg)
- }
-
- }
-
- func assertEqual(t *testing.T, a interface{}, b interface{}, message string) {
- if a == b {
- return
- }
- if len(message) == 0 {
- message = fmt.Sprintf("%v != %v", a, b)
- }
- message = fmt.Sprintf("%v != %v", a, b)
- t.Fatal(message)
- }
|