public void TestIfRegisterExternalMessageRouteMessageReceived_AllRoutesAreAddedToExternalRoutingTable() { var externalRoutingTable = new ExternalRoutingTable(logger); var router = new MessageRouter(socketFactory.Object, new InternalRoutingTable(), externalRoutingTable, routerConfiguration, clusterMonitor.Object, messageTracer.Object, logger); try { StartMessageRouter(router); var messageIdentifiers = new[] { new MessageIdentifier(Message.CurrentVersion, SimpleMessage.MessageIdentity), new MessageIdentifier(Message.CurrentVersion, AsyncMessage.MessageIdentity) }; var socketIdentity = SocketIdentifier.CreateIdentity(); var message = Message.Create(new RegisterExternalMessageRouteMessage { Uri = "tcp://127.0.0.1:8000", SocketIdentity = socketIdentity, MessageContracts = messageIdentifiers.Select(mi => new MessageContract { Version = mi.Version, Identity = mi.Identity }).ToArray() }, RegisterExternalMessageRouteMessage.MessageIdentity); messageRouterSocketFactory.GetRouterSocket().DeliverMessage(message); Thread.Sleep(AsyncOp); Assert.IsTrue(Unsafe.Equals(socketIdentity, externalRoutingTable.FindRoute(messageIdentifiers.First()).SocketIdentity)); Assert.IsTrue(Unsafe.Equals(socketIdentity, externalRoutingTable.FindRoute(messageIdentifiers.Second()).SocketIdentity)); } finally { router.Stop(); } }