public void PipeCommunicator_ServerSendMessageTest() { this.serverMessenger.Send("TestMessage"); WaitHelpers.WaitUntil(() => this.clientReceivedMessages.Count == 1); Assert.AreEqual("TestMessage", this.clientReceivedMessages[0]); }
public void PipeCommunicator_ClientSendTwoMessagesTest() { this.clientMessenger.Send("TestMessage1"); this.clientMessenger.Send("TestMessage2"); WaitHelpers.WaitUntil(() => this.serverReceivedMessages.Count == 2); Assert.AreEqual("TestMessage1", this.serverReceivedMessages[0]); Assert.AreEqual("TestMessage2", this.serverReceivedMessages[1]); }
private Message ExecuteRequest(Message request) { Message response = null; this.remoteService.Request(request, r => response = r, null); WaitHelpers.WaitUntil(() => response != null); return(response); }
public void Messaging_NotificationTest() { this.router.AddRoute("notification", this.testService); Message notification = null; this.remoteService.Subscribe("notification", n => notification = n); WaitHelpers.WaitUntil(() => this.testService.Subscription != null); this.testService.Notify("notification"); WaitHelpers.WaitUntil(() => notification != null); }
public void TestInitialize() { string pipeName = "2EB256B1-F04F-49FB-97F6-099358AC3195"; this.server = new PipeCommunicatorServer(pipeName); this.server.PipeConnected += (sender, @event) => { this.serverMessenger = @event.Messenger; this.serverMessenger.MessageReceived += (o, e) => this.serverReceivedMessages.Add(e.Message); }; this.server.Start(); this.clientMessenger = PipeCommunicatorClient.Connect(pipeName); this.clientMessenger.MessageReceived += (sender, @event) => this.clientReceivedMessages.Add(@event.Message); WaitHelpers.WaitUntil(() => this.serverMessenger != null); }
public void HostRouter_MessengerDisposedTest() { HostRouter hostRouter = new HostRouter(); Mock <IMessenger> messenger = new Mock <IMessenger>(); string responseMessage = null; hostRouter.MessageReceived += (sender, @event) => responseMessage = @event.Message; messenger.Setup(m => m.Send(It.IsAny <string>())).Callback(() => { throw new ObjectDisposedException(string.Empty); }); hostRouter.AddConnection("host1", () => messenger.Object); var message = Message.CreateRequest("someRequest"); string jsonMessage = Envelope.Pack(message, "host1"); hostRouter.Send(jsonMessage); WaitHelpers.WaitUntil(() => responseMessage != null); }
public void PipeCommunicator_AcceptanceTest() { this.clientMessenger.Send("ClientMessage1"); this.serverMessenger.Send("ServerMessage1"); this.clientMessenger.Send("ClientMessage2"); this.clientMessenger.Send("ClientMessage3"); this.serverMessenger.Send("ServerMessage3"); this.clientMessenger.Send("ClientMessage4"); this.serverMessenger.Send("ServerMessage2"); this.serverMessenger.Send("ServerMessage4"); this.serverMessenger.Send("ServerMessage5"); this.clientMessenger.Send("ClientMessage5"); WaitHelpers.WaitUntil(() => this.serverReceivedMessages.Count == 5); WaitHelpers.WaitUntil(() => this.clientReceivedMessages.Count == 5); Assert.IsTrue(this.serverReceivedMessages.Contains("ClientMessage1")); Assert.IsTrue(this.serverReceivedMessages.Contains("ClientMessage5")); Assert.IsTrue(this.clientReceivedMessages.Contains("ServerMessage1")); Assert.IsTrue(this.clientReceivedMessages.Contains("ServerMessage5")); }
public void Messaging_NotificationAfterMessengerClosedTest() { bool disconnected = false; this.communicatorServer.PipeDisconnected += (s, e) => disconnected = true; this.router.AddRoute("notification", this.testService); Message notification = null; this.remoteService.Subscribe("notification", n => notification = n); WaitHelpers.WaitUntil(() => this.testService.Subscription != null); // close the messenger this.pipeChannelFactory.Dispose(); WaitHelpers.WaitUntil(() => disconnected); this.testService.Notify("notification"); // notification could not be send, an automatic unsubscription was performed WaitHelpers.WaitUntil(() => this.testService.Subscription == null); }
public void PipeAuthorization_CheckSignatureTest() { this.communicatorServer = new PipeCommunicatorServer("CA25C0E2-72DE-46DC-845B-01A92E633D2B"); this.communicatorServer.Start(); PipeAuthorizationChecker checker = new PipeAuthorizationChecker(); this.communicatorServer.AuthorizationChecker = checker; string path = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "PipeConnectorTest.exe"); var statrupInfo = new ProcessStartInfo { FileName = path, Arguments = "CA25C0E2-72DE-46DC-845B-01A92E633D2B", CreateNoWindow = true, UseShellExecute = false, }; using (var process = Process.Start(statrupInfo)) { WaitHelpers.WaitUntil(() => process.HasExited); Assert.AreEqual(0, process.ExitCode); } }