public void ResourceCache_MessageNotPrepared_Test() { var msg = new InlineMessage(); var r1 = new MailPayload(msg).Content; var r2 = new MailPayload(msg).Content; }
public async Task PostTest() { IInlineMessage message = new InlineMessage { ID = Guid.NewGuid().ToString("N").ToUpper(), Service = "Topic", Method = "Title", Argument = @"{""Value"": ""Content""}" }; var res = await poster.Post(message); Assert.IsTrue(message.State == MessageState.NoUs, res.Result); }
public void ResourceCache_MessagePrepared_Test() { using (var cache = new ResourceCache()) { var msg = new InlineMessage(); cache.Prepare(msg); var r1 = new MailPayload(msg).Content; cache.Prepare(msg); var r2 = new MailPayload(msg).Content; Assert.AreEqual(r1, r2); } }
public void ArgumentInline() { var id = Guid.NewGuid().ToString("N").ToUpper(); IInlineMessage message = new InlineMessage { ID = id, State = MessageState.Accept, Service = "Topic", Method = "Title", Argument = @"{""Value"": ""Content""}", Result = @"{""Value"": ""Result""}" }; message.CheckState(); Assert.IsTrue(message.DataState == (MessageDataState.ArgumentOffline | MessageDataState.ResultOffline), message.DataState.ToString()); //message.PrepareResult(null, ApiResultHelper.State); message.RestoryContent(DependencyHelper.GetService <IJsonSerializeProxy>(), typeof(Argument));; Assert.IsTrue(message.ArgumentData is Argument, message.ArgumentData.GetTypeName()); Assert.IsTrue(message.DataState == (MessageDataState.ArgumentOffline | MessageDataState.ResultOffline | MessageDataState.ArgumentInline), message.DataState.ToString()); }
public void ToMessageResult() { var id = Guid.NewGuid().ToString("N").ToUpper(); IInlineMessage message = new InlineMessage { ID = id, State = MessageState.Accept, Service = "Topic", Method = "Title", Argument = @"{""Value"": ""Content""}", ResultData = new Argument <int> { Value = 1 } }; message.CheckState(); Assert.IsTrue(message.DataState == (MessageDataState.ArgumentOffline | MessageDataState.ResultInline), message.DataState.ToString()); message.OfflineResult(); Assert.IsTrue(message.Result != null, message.Result); Assert.IsTrue(message.DataState == (MessageDataState.ArgumentOffline | MessageDataState.ResultOffline | MessageDataState.ResultInline), message.DataState.ToString()); var result = message.ToMessageResult(true); var json = SmartSerializer.ToString(result); var result2 = SmartSerializer.ToObject <MessageResult>(json); Assert.IsTrue(result2.ID == message.ID, result2.ID); Assert.IsTrue(result2.ResultData == null, result2.ResultData.GetTypeName()); Assert.IsTrue(result2.State == message.State, result2.State.ToString()); Assert.IsTrue(result2.DataState == MessageDataState.ResultOffline, result2.DataState.ToString()); Assert.IsTrue(result2.Result == message.Result, result2.Result); Assert.IsTrue(result2.Trace.LocalMachine == message.TraceInfo.LocalMachine, result2.Trace.LocalMachine); }
static IInlineMessage CheckMessage(IMessagePoster poster, IMessageItem message) { var re = poster.CheckMessage(message); if (re != null) { return(re); } var ctx = GlobalContext.CurrentNoLazy; if (message is IInlineMessage inline) { if (ctx != null && ctx.Message == message) { inline = inline.CopyToRequest(); } else { inline.ResetToRequest(); } } else { inline = new InlineMessage { ID = message.ID, Service = message.Service, Method = message.Method, Result = message.Result, Argument = message.Argument, DataState = MessageDataState.ArgumentOffline }; } inline.CheckPostTraceInfo(); return(inline); }
public void MessageLifeCycle() { var id = Guid.NewGuid().ToString("N").ToUpper(); IInlineMessage message = new InlineMessage { ID = id, State = MessageState.Accept, Service = "Topic", Method = "Title", Argument = @"{""Value"": ""Content""}", Result = @"{""Value"": ""Result""}" }; message.CheckState(); Assert.IsTrue(message.DataState == (MessageDataState.ArgumentOffline | MessageDataState.ResultOffline), message.DataState.ToString()); //message.PrepareResult(null, ApiResultHelper.State); message.RestoryContent(DependencyHelper.GetService <IJsonSerializeProxy>(), typeof(Argument));; Assert.IsTrue(message.ArgumentData is Argument, message.ArgumentData.GetTypeName()); Assert.IsTrue(message.DataState == (MessageDataState.ArgumentOffline | MessageDataState.ResultOffline | MessageDataState.ArgumentInline), message.DataState.ToString()); message = new InlineMessage { ID = id, State = MessageState.Accept, Service = "Topic", Method = "Title", Argument = @"{""Value"": ""Content""}", Result = @"{""Value"": ""Result""}" }; message.ResetToRequest(); Assert.IsTrue(message.DataState == MessageDataState.ArgumentOffline, message.DataState.ToString()); Assert.IsTrue(message.Result == null, message.Result); //message.PrepareResult(null, ApiResultHelper.State); message.RestoryContent(DependencyHelper.GetService <IJsonSerializeProxy>(), typeof(Argument));; Assert.IsTrue(message.DataState == (MessageDataState.ArgumentOffline | MessageDataState.ArgumentInline), message.DataState.ToString()); message.ResultData = new Argument <int> { Value = 1 }; Assert.IsTrue(message.DataState == (MessageDataState.ArgumentOffline | MessageDataState.ArgumentInline | MessageDataState.ResultInline), message.DataState.ToString()); message.OfflineResult(); Assert.IsTrue(message.Result != null, message.Result); Assert.IsTrue(message.DataState == (MessageDataState.ArgumentOffline | MessageDataState.ArgumentInline | MessageDataState.ResultOffline | MessageDataState.ResultInline), message.DataState.ToString()); var result = message.ToMessageResult(true); var json = SmartSerializer.ToString(result); var result2 = SmartSerializer.ToObject <MessageResult>(json); Assert.IsTrue(result2.ID == message.ID, result2.ID); Assert.IsTrue(result2.ResultData == result.ResultData, result2.ResultData.GetTypeName()); Assert.IsTrue(result2.State == result.State, result2.State.ToString()); Assert.IsTrue(result2.DataState == result.DataState, result2.DataState.ToString()); Assert.IsTrue(result2.Result == result.Result, result2.Result); Assert.IsTrue(result2.Trace.LocalMachine == message.TraceInfo.LocalMachine, result2.Trace.LocalMachine); }