Exemple #1
0
 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());
 }
Exemple #2
0
 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();
 }
Exemple #3
0
        public void Setup()
        {
            _transport     = new TestTransport();
            _container     = new Container();
            _peerDirectory = new TestPeerDirectory();

            _bus = new BusFactory(_container)
                   .WithHandlers(typeof(EventPublisherEventHandler))
                   .CreateAndStartInMemoryBus(_peerDirectory, _transport);
        }
Exemple #4
0
        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);
        }