public void UseInProcessEventTransport(Action <InProcessEventTransportConfigurator> configure) { var transport = new InProcessEventTransport(); configure(new InProcessEventTransportConfigurator(transport)); _appRuntime.Container.Register <IEventTransport>(transport); }
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; }