using System;
|
|
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
|
using BWP.B3WeChat.Utils;
|
|
using BWP.B3WeChat.Entities;
|
|
|
|
|
|
namespace Test
|
|
{
|
|
[TestClass]
|
|
public class UnitTest1
|
|
{
|
|
[TestMethod]
|
|
public void TestTextMessageParser()
|
|
{
|
|
var xml = @"<xml>
|
|
<ToUserName><![CDATA[toUser]]></ToUserName>
|
|
<FromUserName><![CDATA[fromUser]]></FromUserName>
|
|
<CreateTime>1348831860</CreateTime>
|
|
<MsgType><![CDATA[text]]></MsgType>
|
|
<Content><![CDATA[this is a test]]></Content>
|
|
<MsgId>1234567890123456</MsgId>
|
|
</xml>";
|
|
|
|
var message = InOutMessageUtil.ParseWeChatMessage(xml) as ReceivedMsg;
|
|
|
|
Assert.IsNotNull(message);
|
|
Assert.AreEqual("toUser", message.ToUserName);
|
|
Assert.AreEqual("fromUser", message.FromUserName);
|
|
Assert.AreEqual("1348831860", message.CreateTime);
|
|
Assert.AreEqual("text", message.MsgType);
|
|
Assert.AreEqual("1234567890123456", message.MsgId);
|
|
}
|
|
|
|
|
|
[TestMethod]
|
|
public void TestSubscribeEventParser()
|
|
{
|
|
var xml = @"<xml>
|
|
<ToUserName><![CDATA[toUser]]></ToUserName>
|
|
<FromUserName><![CDATA[fromUser]]></FromUserName>
|
|
<CreateTime>123456789</CreateTime>
|
|
<MsgType><![CDATA[event]]></MsgType>
|
|
<Event><![CDATA[subscribe]]></Event>
|
|
</xml>";
|
|
|
|
var message = InOutMessageUtil.ParseWeChatMessage(xml) as QRCodeMessage;
|
|
|
|
Assert.IsNotNull(message);
|
|
Assert.AreEqual("toUser", message.ToUserName);
|
|
Assert.AreEqual("fromUser", message.FromUserName);
|
|
Assert.AreEqual("123456789", message.CreateTime);
|
|
Assert.AreEqual("event", message.MsgType);
|
|
Assert.AreEqual("subscribe", message.Event);
|
|
int sceneid;
|
|
Assert.AreEqual(false, message.TryGetSceneID(out sceneid));
|
|
|
|
}
|
|
|
|
[TestMethod]
|
|
public void TestSubscribeWithSceneEventParser()
|
|
{
|
|
var xml = @"<xml><ToUserName><![CDATA[toUser]]></ToUserName>
|
|
<FromUserName><![CDATA[fromUser]]></FromUserName>
|
|
<CreateTime>123456789</CreateTime>
|
|
<MsgType><![CDATA[event]]></MsgType>
|
|
<Event><![CDATA[subscribe]]></Event>
|
|
<EventKey><![CDATA[qrscene_123123]]></EventKey>
|
|
<Ticket><![CDATA[TICKET]]></Ticket>
|
|
</xml>";
|
|
|
|
var message = InOutMessageUtil.ParseWeChatMessage(xml) as QRCodeMessage;
|
|
|
|
Assert.IsNotNull(message);
|
|
Assert.AreEqual("toUser", message.ToUserName);
|
|
Assert.AreEqual("fromUser", message.FromUserName);
|
|
Assert.AreEqual("123456789", message.CreateTime);
|
|
Assert.AreEqual("event", message.MsgType);
|
|
Assert.AreEqual("subscribe", message.Event);
|
|
int sceneid;
|
|
Assert.AreEqual(true, message.TryGetSceneID(out sceneid));
|
|
Assert.AreEqual(123123, sceneid);
|
|
|
|
}
|
|
|
|
|
|
[TestMethod]
|
|
public void TestScanEventParser()
|
|
{
|
|
var xml = @"<xml>
|
|
<ToUserName><![CDATA[toUser]]></ToUserName>
|
|
<FromUserName><![CDATA[fromUser]]></FromUserName>
|
|
<CreateTime>123456789</CreateTime>
|
|
<MsgType><![CDATA[event]]></MsgType>
|
|
<Event><![CDATA[SCAN]]></Event>
|
|
<EventKey><![CDATA[123123]]></EventKey>
|
|
<Ticket><![CDATA[TICKET]]></Ticket>
|
|
</xml>";
|
|
var message = InOutMessageUtil.ParseWeChatMessage(xml) as QRCodeMessage;
|
|
Assert.IsNotNull(message);
|
|
Assert.AreEqual("toUser", message.ToUserName);
|
|
Assert.AreEqual("fromUser", message.FromUserName);
|
|
Assert.AreEqual("123456789", message.CreateTime);
|
|
Assert.AreEqual("event", message.MsgType);
|
|
Assert.AreEqual("SCAN", message.Event);
|
|
int sceneid;
|
|
Assert.AreEqual(true, message.TryGetSceneID(out sceneid));
|
|
Assert.AreEqual(123123, sceneid);
|
|
Assert.AreEqual("TICKET", message.Ticket);
|
|
}
|
|
}
|
|
}
|