Esempio n. 1
0
        public void UseInProcessEventTransport(Action <InProcessEventTransportConfigurator> configure)
        {
            var transport = new InProcessEventTransport();

            configure(new InProcessEventTransportConfigurator(transport));
            _appRuntime.Container.Register <IEventTransport>(transport);
        }
Esempio n. 2
0
        static void AppStart()
        {
            Database.Store.ExecuteIndex(new StoredEventIndex());

            Database.Store.Conventions.JsonContractResolver = new Taro.RavenDB.Serialization.AggregateRootContractResolver();

            var transport = new InProcessEventTransport();

            transport.Registry.RegisterHandlers(new[] { typeof(Program).Assembly });
        }
        public void WhenSendingAnEventThenItShouldForwardToDistributor()
        {
            var subject = new InProcessEventTransport();
            var distributor = Substitute.For<EventDistributor>(null, null, new EventTransport[0], null);
            subject.RegisterDistributor(distributor);

            var uniqueEvent = new UniqueEvent<DummyEvent>(Guid.NewGuid(), new DummyEvent(), DateTime.MinValue);

            subject.Send(uniqueEvent);

            distributor.Received().Receive(uniqueEvent);
        }
 public InProcessEventTransportConfigurator(InProcessEventTransport transport)
 {
     _transport = transport;
 }