public void setup() { _bus = new InMemoryBus("bus"); _listEventsHandler = new TestHandler<ClientMessage.ReadStreamEventsBackward>(); _bus.Subscribe(_listEventsHandler); _readDispatcher = new RequestResponseDispatcher <ClientMessage.ReadStreamEventsBackward, ClientMessage.ReadStreamEventsBackwardCompleted>( _bus, v => v.CorrelationId, v => v.CorrelationId, new PublishEnvelope(_bus)); _writeDispatcher = new RequestResponseDispatcher<ClientMessage.WriteEvents, ClientMessage.WriteEventsCompleted>( _bus, v => v.CorrelationId, v => v.CorrelationId, new PublishEnvelope(_bus)); _subscriptionDispatcher = new PublishSubscribeDispatcher <ReaderSubscriptionManagement.Subscribe, ReaderSubscriptionManagement.ReaderSubscriptionManagementMessage, EventReaderSubscriptionMessage> (_bus, v => v.SubscriptionId, v => v.SubscriptionId); _bus.Subscribe( _subscriptionDispatcher.CreateSubscriber<EventReaderSubscriptionMessage.CommittedEventReceived>()); _bus.Subscribe( _subscriptionDispatcher.CreateSubscriber<EventReaderSubscriptionMessage.CheckpointSuggested>()); _bus.Subscribe(_subscriptionDispatcher.CreateSubscriber<EventReaderSubscriptionMessage.EofReached>()); _bus.Subscribe(_subscriptionDispatcher.CreateSubscriber<EventReaderSubscriptionMessage.ProgressChanged>()); _bus.Subscribe(_subscriptionDispatcher.CreateSubscriber<EventReaderSubscriptionMessage.NotAuthorized>()); _bus.Subscribe(_readDispatcher); _bus.Subscribe(_writeDispatcher); IProjectionStateHandler projectionStateHandler = new FakeProjectionStateHandler(); _projectionConfig = new ProjectionConfig(null, 5, 10, 1000, 250, true, true, false, false); _coreProjection = CoreProjection.CreateAndPrepare( "projection", new ProjectionVersion(1, 0, 0), Guid.NewGuid(), _bus, projectionStateHandler, _projectionConfig, _readDispatcher, _writeDispatcher, _subscriptionDispatcher, null, new RealTimeProvider()); _coreProjection.Start(); }
public void setup() { _bus = new InMemoryBus("bus"); _listEventsHandler = new TestHandler <ClientMessage.ReadStreamEventsBackward>(); _bus.Subscribe(_listEventsHandler); _readDispatcher = new RequestResponseDispatcher <ClientMessage.ReadStreamEventsBackward, ClientMessage.ReadStreamEventsBackwardCompleted>( _bus, v => v.CorrelationId, v => v.CorrelationId, new PublishEnvelope(_bus)); _writeDispatcher = new RequestResponseDispatcher <ClientMessage.WriteEvents, ClientMessage.WriteEventsCompleted>( _bus, v => v.CorrelationId, v => v.CorrelationId, new PublishEnvelope(_bus)); _subscriptionDispatcher = new PublishSubscribeDispatcher <ReaderSubscriptionManagement.Subscribe, ReaderSubscriptionManagement.ReaderSubscriptionManagementMessage, EventReaderSubscriptionMessage> (_bus, v => v.SubscriptionId, v => v.SubscriptionId); _bus.Subscribe( _subscriptionDispatcher.CreateSubscriber <EventReaderSubscriptionMessage.CommittedEventReceived>()); _bus.Subscribe( _subscriptionDispatcher.CreateSubscriber <EventReaderSubscriptionMessage.CheckpointSuggested>()); _bus.Subscribe(_subscriptionDispatcher.CreateSubscriber <EventReaderSubscriptionMessage.EofReached>()); _bus.Subscribe(_subscriptionDispatcher.CreateSubscriber <EventReaderSubscriptionMessage.ProgressChanged>()); _bus.Subscribe(_subscriptionDispatcher.CreateSubscriber <EventReaderSubscriptionMessage.NotAuthorized>()); _bus.Subscribe(_readDispatcher); _bus.Subscribe(_writeDispatcher); IProjectionStateHandler projectionStateHandler = new FakeProjectionStateHandler(); _projectionConfig = new ProjectionConfig(null, 5, 10, 1000, 250, true, true, false, false); _coreProjection = CoreProjection.CreateAndPrepare( "projection", new ProjectionVersion(1, 0, 0), Guid.NewGuid(), _bus, projectionStateHandler, _projectionConfig, _readDispatcher, _writeDispatcher, _subscriptionDispatcher, null, new RealTimeProvider()); _coreProjection.Start(); }
public void SetUp() { _subscriptionDispatcher = new PublishSubscribeDispatcher <ReaderSubscriptionManagement.Subscribe, ReaderSubscriptionManagement.ReaderSubscriptionManagementMessage, EventReaderSubscriptionMessage> (_bus, v => v.SubscriptionId, v => v.SubscriptionId); _bus.Subscribe( _subscriptionDispatcher.CreateSubscriber <EventReaderSubscriptionMessage.CommittedEventReceived>()); _bus.Subscribe( _subscriptionDispatcher.CreateSubscriber <EventReaderSubscriptionMessage.CheckpointSuggested>()); _bus.Subscribe(_subscriptionDispatcher.CreateSubscriber <EventReaderSubscriptionMessage.EofReached>()); _bus.Subscribe(_subscriptionDispatcher.CreateSubscriber <EventReaderSubscriptionMessage.ProgressChanged>()); _bus.Subscribe(_subscriptionDispatcher.CreateSubscriber <EventReaderSubscriptionMessage.NotAuthorized>()); }
public void SetUp() { _subscriptionDispatcher = new PublishSubscribeDispatcher <ReaderSubscriptionManagement.Subscribe, ReaderSubscriptionManagement.ReaderSubscriptionManagementMessage, EventReaderSubscriptionMessage> (_bus, v => v.SubscriptionId, v => v.SubscriptionId); _bus.Subscribe( _subscriptionDispatcher.CreateSubscriber<EventReaderSubscriptionMessage.CommittedEventReceived>()); _bus.Subscribe( _subscriptionDispatcher.CreateSubscriber<EventReaderSubscriptionMessage.CheckpointSuggested>()); _bus.Subscribe(_subscriptionDispatcher.CreateSubscriber<EventReaderSubscriptionMessage.EofReached>()); _bus.Subscribe(_subscriptionDispatcher.CreateSubscriber<EventReaderSubscriptionMessage.ProgressChanged>()); _bus.Subscribe(_subscriptionDispatcher.CreateSubscriber<EventReaderSubscriptionMessage.NotAuthorized>()); }
public void SetupMessaging(IBus coreInputBus) { coreInputBus.Subscribe(_subscriptionDispatcher.CreateSubscriber <EventReaderSubscriptionMessage.CheckpointSuggested>()); coreInputBus.Subscribe(_subscriptionDispatcher.CreateSubscriber <EventReaderSubscriptionMessage.CommittedEventReceived>()); coreInputBus.Subscribe(_subscriptionDispatcher.CreateSubscriber <EventReaderSubscriptionMessage.EofReached>()); coreInputBus.Subscribe(_subscriptionDispatcher.CreateSubscriber <EventReaderSubscriptionMessage.ProgressChanged>()); coreInputBus.Subscribe(_subscriptionDispatcher.CreateSubscriber <EventReaderSubscriptionMessage.NotAuthorized>()); coreInputBus.Subscribe(_feedReaderService); if (_runProjections >= RunProjections.System) { coreInputBus.Subscribe <ProjectionCoreServiceMessage.StartCore>(_projectionCoreService); coreInputBus.Subscribe <ProjectionCoreServiceMessage.StopCore>(_projectionCoreService); coreInputBus.Subscribe <ProjectionCoreServiceMessage.CoreTick>(_projectionCoreService); coreInputBus.Subscribe <CoreProjectionManagementMessage.CreateAndPrepare>(_projectionCoreService); coreInputBus.Subscribe <CoreProjectionManagementMessage.CreatePrepared>(_projectionCoreService); coreInputBus.Subscribe <CoreProjectionManagementMessage.Dispose>(_projectionCoreService); coreInputBus.Subscribe <CoreProjectionManagementMessage.Start>(_projectionCoreService); coreInputBus.Subscribe <CoreProjectionManagementMessage.LoadStopped>(_projectionCoreService); coreInputBus.Subscribe <CoreProjectionManagementMessage.Stop>(_projectionCoreService); coreInputBus.Subscribe <CoreProjectionManagementMessage.Kill>(_projectionCoreService); coreInputBus.Subscribe <CoreProjectionManagementMessage.GetState>(_projectionCoreService); coreInputBus.Subscribe <CoreProjectionManagementMessage.GetResult>(_projectionCoreService); coreInputBus.Subscribe <CoreProjectionManagementMessage.UpdateStatistics>(_projectionCoreService); coreInputBus.Subscribe <ClientMessage.ReadStreamEventsBackwardCompleted>(_projectionCoreService); coreInputBus.Subscribe <ClientMessage.WriteEventsCompleted>(_projectionCoreService); coreInputBus.Subscribe <CoreProjectionProcessingMessage.CheckpointCompleted>(_projectionCoreService); coreInputBus.Subscribe <CoreProjectionProcessingMessage.CheckpointLoaded>(_projectionCoreService); coreInputBus.Subscribe <CoreProjectionProcessingMessage.PrerecordedEventsLoaded>(_projectionCoreService); coreInputBus.Subscribe <CoreProjectionProcessingMessage.RestartRequested>(_projectionCoreService); coreInputBus.Subscribe <CoreProjectionProcessingMessage.Failed>(_projectionCoreService); //NOTE: message forwarding is set up outside (for Read/Write events) } coreInputBus.Subscribe <ReaderCoreServiceMessage.ReaderTick>(_eventReaderCoreService); coreInputBus.Subscribe <ReaderCoreServiceMessage.StartReader>(_eventReaderCoreService); coreInputBus.Subscribe <ReaderCoreServiceMessage.StopReader>(_eventReaderCoreService); coreInputBus.Subscribe <ReaderSubscriptionManagement.Subscribe>(_eventReaderCoreService); coreInputBus.Subscribe <ReaderSubscriptionManagement.Unsubscribe>(_eventReaderCoreService); coreInputBus.Subscribe <ReaderSubscriptionManagement.Pause>(_eventReaderCoreService); coreInputBus.Subscribe <ReaderSubscriptionManagement.Resume>(_eventReaderCoreService); coreInputBus.Subscribe <ReaderSubscriptionMessage.CommittedEventDistributed>(_eventReaderCoreService); coreInputBus.Subscribe <ReaderSubscriptionMessage.EventReaderIdle>(_eventReaderCoreService); coreInputBus.Subscribe <ReaderSubscriptionMessage.EventReaderEof>(_eventReaderCoreService); coreInputBus.Subscribe <ReaderSubscriptionMessage.EventReaderNotAuthorized>(_eventReaderCoreService); //NOTE: message forwarding is set up outside (for Read/Write events) }
public void Setup() { SetUpManualQueue(); _bus.Subscribe(_consumer); ICheckpoint writerCheckpoint = new InMemoryCheckpoint(1000); _readerService = new EventReaderCoreService( GetInputQueue(), 10, writerCheckpoint, runHeadingReader: GivenHeadingReaderRunning()); _subscriptionDispatcher = new PublishSubscribeDispatcher <ReaderSubscriptionManagement.Subscribe, ReaderSubscriptionManagement.ReaderSubscriptionManagementMessage, EventReaderSubscriptionMessage >(GetInputQueue(), v => v.SubscriptionId, v => v.SubscriptionId); _bus.Subscribe( _subscriptionDispatcher.CreateSubscriber <EventReaderSubscriptionMessage.CheckpointSuggested>()); _bus.Subscribe( _subscriptionDispatcher.CreateSubscriber <EventReaderSubscriptionMessage.CommittedEventReceived>()); _bus.Subscribe(_subscriptionDispatcher.CreateSubscriber <EventReaderSubscriptionMessage.EofReached>()); _bus.Subscribe(_subscriptionDispatcher.CreateSubscriber <EventReaderSubscriptionMessage.ProgressChanged>()); _bus.Subscribe(_subscriptionDispatcher.CreateSubscriber <EventReaderSubscriptionMessage.NotAuthorized>()); _bus.Subscribe <ReaderCoreServiceMessage.StartReader>(_readerService); _bus.Subscribe <ReaderCoreServiceMessage.StopReader>(_readerService); _bus.Subscribe <ReaderCoreServiceMessage.ReaderTick>(_readerService); _bus.Subscribe <ReaderSubscriptionMessage.CommittedEventDistributed>(_readerService); _bus.Subscribe <ReaderSubscriptionMessage.EventReaderEof>(_readerService); _bus.Subscribe <ReaderSubscriptionMessage.EventReaderNotAuthorized>(_readerService); _bus.Subscribe <ReaderSubscriptionMessage.EventReaderIdle>(_readerService); _bus.Subscribe <ReaderSubscriptionManagement.Pause>(_readerService); _bus.Subscribe <ReaderSubscriptionManagement.Resume>(_readerService); _bus.Subscribe <ReaderSubscriptionManagement.Subscribe>(_readerService); _bus.Subscribe <ReaderSubscriptionManagement.Unsubscribe>(_readerService); GivenAdditionalServices(); _bus.Publish(new ReaderCoreServiceMessage.StartReader()); WhenLoop(); }
public void Setup() { SetUpManualQueue(); _bus.Subscribe(_consumer); ICheckpoint writerCheckpoint = new InMemoryCheckpoint(1000); _readerService = new EventReaderCoreService( GetInputQueue(), 10, writerCheckpoint, runHeadingReader: GivenHeadingReaderRunning()); _subscriptionDispatcher = new PublishSubscribeDispatcher <ReaderSubscriptionManagement.Subscribe, ReaderSubscriptionManagement.ReaderSubscriptionManagementMessage, EventReaderSubscriptionMessage >(GetInputQueue(), v => v.SubscriptionId, v => v.SubscriptionId); _bus.Subscribe( _subscriptionDispatcher.CreateSubscriber<EventReaderSubscriptionMessage.CheckpointSuggested>()); _bus.Subscribe( _subscriptionDispatcher.CreateSubscriber<EventReaderSubscriptionMessage.CommittedEventReceived>()); _bus.Subscribe(_subscriptionDispatcher.CreateSubscriber<EventReaderSubscriptionMessage.EofReached>()); _bus.Subscribe(_subscriptionDispatcher.CreateSubscriber<EventReaderSubscriptionMessage.ProgressChanged>()); _bus.Subscribe(_subscriptionDispatcher.CreateSubscriber<EventReaderSubscriptionMessage.NotAuthorized>()); _bus.Subscribe<ReaderCoreServiceMessage.StartReader>(_readerService); _bus.Subscribe<ReaderCoreServiceMessage.StopReader>(_readerService); _bus.Subscribe<ReaderCoreServiceMessage.ReaderTick>(_readerService); _bus.Subscribe<ReaderSubscriptionMessage.CommittedEventDistributed>(_readerService); _bus.Subscribe<ReaderSubscriptionMessage.EventReaderEof>(_readerService); _bus.Subscribe<ReaderSubscriptionMessage.EventReaderNotAuthorized>(_readerService); _bus.Subscribe<ReaderSubscriptionMessage.EventReaderIdle>(_readerService); _bus.Subscribe<ReaderSubscriptionManagement.Pause>(_readerService); _bus.Subscribe<ReaderSubscriptionManagement.Resume>(_readerService); _bus.Subscribe<ReaderSubscriptionManagement.Subscribe>(_readerService); _bus.Subscribe<ReaderSubscriptionManagement.Unsubscribe>(_readerService); GivenAdditionalServices(); _bus.Publish(new ReaderCoreServiceMessage.StartReader()); WhenLoop(); }
public void Setup() { _consumer = new TestHandler <Message>(); _bus = new InMemoryBus("temp"); _bus.Subscribe(_consumer); ICheckpoint writerCheckpoint = new InMemoryCheckpoint(1000); _readerService = new EventReaderCoreService(_bus, 10, writerCheckpoint, runHeadingReader: true); _subscriptionDispatcher = new PublishSubscribeDispatcher <ReaderSubscriptionManagement.Subscribe, ReaderSubscriptionManagement.ReaderSubscriptionManagementMessage, EventReaderSubscriptionMessage >(_bus, v => v.SubscriptionId, v => v.SubscriptionId); _service = new ProjectionCoreService(_bus, _bus, _subscriptionDispatcher, new RealTimeProvider()); _bus.Subscribe(_subscriptionDispatcher.CreateSubscriber <EventReaderSubscriptionMessage.CheckpointSuggested>()); _bus.Subscribe(_subscriptionDispatcher.CreateSubscriber <EventReaderSubscriptionMessage.CommittedEventReceived>()); _bus.Subscribe(_subscriptionDispatcher.CreateSubscriber <EventReaderSubscriptionMessage.EofReached>()); _bus.Subscribe(_subscriptionDispatcher.CreateSubscriber <EventReaderSubscriptionMessage.ProgressChanged>()); _bus.Subscribe(_subscriptionDispatcher.CreateSubscriber <EventReaderSubscriptionMessage.NotAuthorized>()); _readerService.Handle(new Messages.ReaderCoreServiceMessage.StartReader()); _service.Handle(new ProjectionCoreServiceMessage.StartCore()); }
public void Setup() { SetUpManualQueue(); //TODO: this became an integration test - proper ProjectionCoreService and ProjectionManager testing is required as well _bus.Subscribe(_consumer); _manager = new ProjectionManager( GetInputQueue(), GetInputQueue(), new[] { GetInputQueue() }, _timeProvider, RunProjections.All, _initializeSystemProjections); ICheckpoint writerCheckpoint = new InMemoryCheckpoint(1000); _readerService = new EventReaderCoreService(GetInputQueue(), 10, writerCheckpoint, runHeadingReader: true); _subscriptionDispatcher = new PublishSubscribeDispatcher <ReaderSubscriptionManagement.Subscribe, ReaderSubscriptionManagement.ReaderSubscriptionManagementMessage, EventReaderSubscriptionMessage >(GetInputQueue(), v => v.SubscriptionId, v => v.SubscriptionId); _bus.Subscribe(_subscriptionDispatcher.CreateSubscriber <EventReaderSubscriptionMessage.CheckpointSuggested>()); _bus.Subscribe(_subscriptionDispatcher.CreateSubscriber <EventReaderSubscriptionMessage.CommittedEventReceived>()); _bus.Subscribe(_subscriptionDispatcher.CreateSubscriber <EventReaderSubscriptionMessage.EofReached>()); _bus.Subscribe(_subscriptionDispatcher.CreateSubscriber <EventReaderSubscriptionMessage.ProgressChanged>()); _bus.Subscribe(_subscriptionDispatcher.CreateSubscriber <EventReaderSubscriptionMessage.NotAuthorized>()); _coreService = new ProjectionCoreService(GetInputQueue(), GetInputQueue(), _subscriptionDispatcher, _timeProvider); _bus.Subscribe <ProjectionManagementMessage.Internal.CleanupExpired>(_manager); _bus.Subscribe <ProjectionManagementMessage.Internal.Deleted>(_manager); _bus.Subscribe <CoreProjectionManagementMessage.Started>(_manager); _bus.Subscribe <CoreProjectionManagementMessage.Stopped>(_manager); _bus.Subscribe <CoreProjectionManagementMessage.Prepared>(_manager); _bus.Subscribe <CoreProjectionManagementMessage.Faulted>(_manager); _bus.Subscribe <CoreProjectionManagementMessage.StateReport>(_manager); _bus.Subscribe <CoreProjectionManagementMessage.ResultReport>(_manager); _bus.Subscribe <CoreProjectionManagementMessage.StatisticsReport>(_manager); _bus.Subscribe <ProjectionManagementMessage.Post>(_manager); _bus.Subscribe <ProjectionManagementMessage.UpdateQuery>(_manager); _bus.Subscribe <ProjectionManagementMessage.GetQuery>(_manager); _bus.Subscribe <ProjectionManagementMessage.Delete>(_manager); _bus.Subscribe <ProjectionManagementMessage.GetStatistics>(_manager); _bus.Subscribe <ProjectionManagementMessage.GetState>(_manager); _bus.Subscribe <ProjectionManagementMessage.GetResult>(_manager); _bus.Subscribe <ProjectionManagementMessage.Disable>(_manager); _bus.Subscribe <ProjectionManagementMessage.Enable>(_manager); _bus.Subscribe <ProjectionManagementMessage.SetRunAs>(_manager); _bus.Subscribe <ProjectionManagementMessage.Reset>(_manager); _bus.Subscribe <ClientMessage.WriteEventsCompleted>(_manager); _bus.Subscribe <ClientMessage.ReadStreamEventsBackwardCompleted>(_manager); _bus.Subscribe <ClientMessage.WriteEventsCompleted>(_manager); _bus.Subscribe <SystemMessage.StateChangeMessage>(_manager); _bus.Subscribe <CoreProjectionManagementMessage.CreateAndPrepare>(_coreService); _bus.Subscribe <CoreProjectionManagementMessage.CreatePrepared>(_coreService); _bus.Subscribe <CoreProjectionManagementMessage.Dispose>(_coreService); _bus.Subscribe <CoreProjectionManagementMessage.Start>(_coreService); _bus.Subscribe <CoreProjectionManagementMessage.LoadStopped>(_coreService); _bus.Subscribe <CoreProjectionManagementMessage.Stop>(_coreService); _bus.Subscribe <CoreProjectionManagementMessage.Kill>(_coreService); _bus.Subscribe <CoreProjectionManagementMessage.GetState>(_coreService); _bus.Subscribe <CoreProjectionManagementMessage.GetResult>(_coreService); _bus.Subscribe <CoreProjectionManagementMessage.UpdateStatistics>(_coreService); _bus.Subscribe <CoreProjectionProcessingMessage.CheckpointCompleted>(_coreService); _bus.Subscribe <CoreProjectionProcessingMessage.CheckpointLoaded>(_coreService); _bus.Subscribe <CoreProjectionProcessingMessage.PrerecordedEventsLoaded>(_coreService); _bus.Subscribe <CoreProjectionProcessingMessage.RestartRequested>(_coreService); _bus.Subscribe <CoreProjectionProcessingMessage.Failed>(_coreService); _bus.Subscribe <ClientMessage.ReadStreamEventsBackwardCompleted>(_coreService); _bus.Subscribe <ClientMessage.WriteEventsCompleted>(_coreService); _bus.Subscribe <ProjectionCoreServiceMessage.StartCore>(_coreService); _bus.Subscribe <ProjectionCoreServiceMessage.StopCore>(_coreService); _bus.Subscribe <ReaderCoreServiceMessage.StartReader>(_readerService); _bus.Subscribe <ReaderCoreServiceMessage.StopReader>(_readerService); _bus.Subscribe <ProjectionCoreServiceMessage.CoreTick>(_coreService); _bus.Subscribe <ReaderCoreServiceMessage.ReaderTick>(_readerService); _bus.Subscribe <ReaderSubscriptionMessage.CommittedEventDistributed>(_readerService); _bus.Subscribe <ReaderSubscriptionMessage.EventReaderEof>(_readerService); _bus.Subscribe <ReaderSubscriptionMessage.EventReaderNotAuthorized>(_readerService); _bus.Subscribe <ReaderSubscriptionMessage.EventReaderIdle>(_readerService); _bus.Subscribe <ReaderSubscriptionManagement.Pause>(_readerService); _bus.Subscribe <ReaderSubscriptionManagement.Resume>(_readerService); _bus.Subscribe <ReaderSubscriptionManagement.Subscribe>(_readerService); _bus.Subscribe <ReaderSubscriptionManagement.Unsubscribe>(_readerService); Given(); WhenLoop(); }
public void Setup() { _consumer = new TestHandler<Message>(); _bus = new InMemoryBus("temp"); _bus.Subscribe(_consumer); ICheckpoint writerCheckpoint = new InMemoryCheckpoint(1000); _readerService = new EventReaderCoreService(_bus, 10, writerCheckpoint, runHeadingReader: true); _subscriptionDispatcher = new PublishSubscribeDispatcher <ReaderSubscriptionManagement.Subscribe, ReaderSubscriptionManagement.ReaderSubscriptionManagementMessage, EventReaderSubscriptionMessage >(_bus, v => v.SubscriptionId, v => v.SubscriptionId); _service = new ProjectionCoreService(_bus, _bus, _subscriptionDispatcher, new RealTimeProvider()); _bus.Subscribe(_subscriptionDispatcher.CreateSubscriber<EventReaderSubscriptionMessage.CheckpointSuggested>()); _bus.Subscribe(_subscriptionDispatcher.CreateSubscriber<EventReaderSubscriptionMessage.CommittedEventReceived>()); _bus.Subscribe(_subscriptionDispatcher.CreateSubscriber<EventReaderSubscriptionMessage.EofReached>()); _bus.Subscribe(_subscriptionDispatcher.CreateSubscriber<EventReaderSubscriptionMessage.ProgressChanged>()); _bus.Subscribe(_subscriptionDispatcher.CreateSubscriber<EventReaderSubscriptionMessage.NotAuthorized>()); _readerService.Handle(new Messages.ReaderCoreServiceMessage.StartReader()); _service.Handle(new ProjectionCoreServiceMessage.StartCore()); }
public void Setup() { SetUpManualQueue(); //TODO: this became an integration test - proper ProjectionCoreService and ProjectionManager testing is required as well _bus.Subscribe(_consumer); _manager = new ProjectionManager( GetInputQueue(), GetInputQueue(), new[] {GetInputQueue()}, _timeProvider, RunProjections.All, _initializeSystemProjections); ICheckpoint writerCheckpoint = new InMemoryCheckpoint(1000); _readerService = new EventReaderCoreService(GetInputQueue(), 10, writerCheckpoint, runHeadingReader: true); _subscriptionDispatcher = new PublishSubscribeDispatcher <ReaderSubscriptionManagement.Subscribe, ReaderSubscriptionManagement.ReaderSubscriptionManagementMessage, EventReaderSubscriptionMessage >(GetInputQueue(), v => v.SubscriptionId, v => v.SubscriptionId); _bus.Subscribe(_subscriptionDispatcher.CreateSubscriber<EventReaderSubscriptionMessage.CheckpointSuggested>()); _bus.Subscribe(_subscriptionDispatcher.CreateSubscriber<EventReaderSubscriptionMessage.CommittedEventReceived>()); _bus.Subscribe(_subscriptionDispatcher.CreateSubscriber<EventReaderSubscriptionMessage.EofReached>()); _bus.Subscribe(_subscriptionDispatcher.CreateSubscriber<EventReaderSubscriptionMessage.ProgressChanged>()); _bus.Subscribe(_subscriptionDispatcher.CreateSubscriber<EventReaderSubscriptionMessage.NotAuthorized>()); _coreService = new ProjectionCoreService(GetInputQueue(), GetInputQueue(), _subscriptionDispatcher, _timeProvider); _bus.Subscribe<ProjectionManagementMessage.Internal.CleanupExpired>(_manager); _bus.Subscribe<ProjectionManagementMessage.Internal.Deleted>(_manager); _bus.Subscribe<CoreProjectionManagementMessage.Started>(_manager); _bus.Subscribe<CoreProjectionManagementMessage.Stopped>(_manager); _bus.Subscribe<CoreProjectionManagementMessage.Prepared>(_manager); _bus.Subscribe<CoreProjectionManagementMessage.Faulted>(_manager); _bus.Subscribe<CoreProjectionManagementMessage.StateReport>(_manager); _bus.Subscribe<CoreProjectionManagementMessage.ResultReport>(_manager); _bus.Subscribe<CoreProjectionManagementMessage.StatisticsReport>(_manager); _bus.Subscribe<ProjectionManagementMessage.Post>(_manager); _bus.Subscribe<ProjectionManagementMessage.UpdateQuery>(_manager); _bus.Subscribe<ProjectionManagementMessage.GetQuery>(_manager); _bus.Subscribe<ProjectionManagementMessage.Delete>(_manager); _bus.Subscribe<ProjectionManagementMessage.GetStatistics>(_manager); _bus.Subscribe<ProjectionManagementMessage.GetState>(_manager); _bus.Subscribe<ProjectionManagementMessage.GetResult>(_manager); _bus.Subscribe<ProjectionManagementMessage.Disable>(_manager); _bus.Subscribe<ProjectionManagementMessage.Enable>(_manager); _bus.Subscribe<ProjectionManagementMessage.SetRunAs>(_manager); _bus.Subscribe<ProjectionManagementMessage.Reset>(_manager); _bus.Subscribe<ClientMessage.WriteEventsCompleted>(_manager); _bus.Subscribe<ClientMessage.ReadStreamEventsBackwardCompleted>(_manager); _bus.Subscribe<ClientMessage.WriteEventsCompleted>(_manager); _bus.Subscribe<SystemMessage.StateChangeMessage>(_manager); _bus.Subscribe<CoreProjectionManagementMessage.CreateAndPrepare>(_coreService); _bus.Subscribe<CoreProjectionManagementMessage.CreatePrepared>(_coreService); _bus.Subscribe<CoreProjectionManagementMessage.Dispose>(_coreService); _bus.Subscribe<CoreProjectionManagementMessage.Start>(_coreService); _bus.Subscribe<CoreProjectionManagementMessage.LoadStopped>(_coreService); _bus.Subscribe<CoreProjectionManagementMessage.Stop>(_coreService); _bus.Subscribe<CoreProjectionManagementMessage.Kill>(_coreService); _bus.Subscribe<CoreProjectionManagementMessage.GetState>(_coreService); _bus.Subscribe<CoreProjectionManagementMessage.GetResult>(_coreService); _bus.Subscribe<CoreProjectionManagementMessage.UpdateStatistics>(_coreService); _bus.Subscribe<CoreProjectionProcessingMessage.CheckpointCompleted>(_coreService); _bus.Subscribe<CoreProjectionProcessingMessage.CheckpointLoaded>(_coreService); _bus.Subscribe<CoreProjectionProcessingMessage.PrerecordedEventsLoaded>(_coreService); _bus.Subscribe<CoreProjectionProcessingMessage.RestartRequested>(_coreService); _bus.Subscribe<CoreProjectionProcessingMessage.Failed>(_coreService); _bus.Subscribe<ClientMessage.ReadStreamEventsBackwardCompleted>(_coreService); _bus.Subscribe<ClientMessage.WriteEventsCompleted>(_coreService); _bus.Subscribe<ProjectionCoreServiceMessage.StartCore>(_coreService); _bus.Subscribe<ProjectionCoreServiceMessage.StopCore>(_coreService); _bus.Subscribe<ReaderCoreServiceMessage.StartReader>(_readerService); _bus.Subscribe<ReaderCoreServiceMessage.StopReader>(_readerService); _bus.Subscribe<ProjectionCoreServiceMessage.CoreTick>(_coreService); _bus.Subscribe<ReaderCoreServiceMessage.ReaderTick>(_readerService); _bus.Subscribe<ReaderSubscriptionMessage.CommittedEventDistributed>(_readerService); _bus.Subscribe<ReaderSubscriptionMessage.EventReaderEof>(_readerService); _bus.Subscribe<ReaderSubscriptionMessage.EventReaderNotAuthorized>(_readerService); _bus.Subscribe<ReaderSubscriptionMessage.EventReaderIdle>(_readerService); _bus.Subscribe<ReaderSubscriptionManagement.Pause>(_readerService); _bus.Subscribe<ReaderSubscriptionManagement.Resume>(_readerService); _bus.Subscribe<ReaderSubscriptionManagement.Subscribe>(_readerService); _bus.Subscribe<ReaderSubscriptionManagement.Unsubscribe>(_readerService); Given(); WhenLoop(); }