public async void TestInterpreting() { var moqChannel = new Mock <ILubalaChannel>(); moqChannel.SetupGet(c => c.Resolver).Returns(TypeResolver.Resolver); var builder = new HubBuilder(moqChannel.Object); var moqPassive = new Mock <IPassiveMessage>(); moqPassive .Setup(x => x.SerializeTo(It.IsAny <Stream>(), It.IsAny <HubContext>())) .Returns(new Task(() => { })); var handler = new Mock <IMessageHandler>(); handler .Setup(x => x.HandleMessage(It.IsAny <WechatPushingMessage>(), It.IsAny <MessageContext>())) .Returns(moqPassive.Object); builder.RegisterMessageType <TestTextMessage>(); builder.RegisterMessageHandler(typeof(TestTextMessage), handler.Object); var ph = builder.BuildPushingHub(); using (var t = StringStream.Create(testXml)) { using (var fakeTargetStream = new MemoryStream()) { await ph.InterpretingAsync(t.Stream, fakeTargetStream, null); fakeTargetStream.Position = 0; using (var reader = new StreamReader(fakeTargetStream)) { var result = reader.ReadToEnd(); Assert.Equal(result, ""); } moqPassive.Verify(x => x.SerializeTo(It.IsAny <Stream>(), It.IsAny <HubContext>()), Times.Never); } } }
public void TestTypeParseCorrectly() { var testXml = @" <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>"; using (var t = StringStream.Create(testXml)) { var xml = XDocument.Load(t.Stream); var detector = new TypeDetector(); var type = detector.Detecting(xml); Assert.Equal(type.MsgType, "text"); Assert.Equal(type.EventType, null); } }