|
|
|
@@ -0,0 +1,39 @@ |
|
|
|
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) |
|
|
|
} |