public static IBus CreateAndStartInMemoryBus(this BusFactory busFactory, TestPeerDirectory directory, ITransport transport) { return(busFactory.WithConfiguration("in-memory-bus", "Memory") .ConfigureContainer(cfg => { cfg.ForSingletonOf <IPeerDirectory>().Use(directory); cfg.ForSingletonOf <ITransport>().Use(transport); }).CreateAndStartBus()); }
public static IBus CreateAndStartInMemoryBus(this BusFactory busFactory, TestPeerDirectory directory, ITransport transport) { return busFactory.WithConfiguration("in-memory-bus", "Memory") .ConfigureContainer(cfg => { cfg.ForSingletonOf<IPeerDirectory>().Use(directory); cfg.ForSingletonOf<ITransport>().Use(transport); }).CreateAndStartBus(); }
public void Setup() { _transport = new TestTransport(); _container = new Container(); _peerDirectory = new TestPeerDirectory(); _bus = new BusFactory(_container) .WithHandlers(typeof(EventPublisherEventHandler)) .CreateAndStartInMemoryBus(_peerDirectory, _transport); }
public void should_send_message_to_peer() { var directory = new TestPeerDirectory(); var transport = new TestTransport(); var bus = new BusFactory().CreateAndStartInMemoryBus(directory, transport); var otherPeer = new Peer(new PeerId("Abc.Testing.Other.0"), "tcp://other-peer:1234"); directory.Peers[otherPeer.Id] = otherPeer.ToPeerDescriptor(false, typeof(CommandWithRemoteHandler)); bus.Send(new CommandWithRemoteHandler()); var sentMessage = transport.Messages.ExpectedSingle(); sentMessage.TransportMessage.MessageTypeId.GetMessageType().ShouldEqual(typeof(CommandWithRemoteHandler)); var target = sentMessage.Targets.ExpectedSingle(); target.Id.ShouldEqual(otherPeer.Id); }