protected override IEnumerable <WhenStep> When() { ProjectionManagementMessage.Command.Post message = new ProjectionManagementMessage.Command.Post( Envelope, ProjectionMode.OneTime, _projectionName, ProjectionManagementMessage.RunAs.System, typeof(FakeForeachStreamProjection), "", true, false, false, false); _managedProjection.InitializeNew( new ManagedProjection.PersistedState { Enabled = message.Enabled, HandlerType = message.HandlerType, Query = message.Query, Mode = message.Mode, EmitEnabled = message.EmitEnabled, CheckpointsDisabled = !message.CheckpointsEnabled, Epoch = -1, Version = -1, RunAs = message.EnableRunAs ? SerializedRunAs.SerializePrincipal(message.RunAs) : null, }, null); var sourceDefinition = new FakeForeachStreamProjection("", Console.WriteLine).GetSourceDefinition(); var projectionSourceDefinition = ProjectionSourceDefinition.From(sourceDefinition); _managedProjection.Handle( new CoreProjectionStatusMessage.Prepared( _coreProjectionId, projectionSourceDefinition)); _originalPersistedStateEventId = _consumer.HandledMessages.OfType <ClientMessage.WriteEvents>() .Where(x => x.EventStreamId == _projectionDefinitionStreamId).First().Events[0].EventId; CompleteWriteWithResult(_failureCondition); _consumer.HandledMessages.Clear(); yield break; }
protected override IEnumerable <WhenStep> When() { ProjectionManagementMessage.Command.Post message = new ProjectionManagementMessage.Command.Post( Envelope, ProjectionMode.Transient, _projectionName, ProjectionManagementMessage.RunAs.System, typeof(FakeForeachStreamProjection), "", true, false, false, false); _mp.InitializeNew( new ManagedProjection.PersistedState { Enabled = message.Enabled, HandlerType = message.HandlerType, Query = message.Query, Mode = message.Mode, EmitEnabled = message.EmitEnabled, CheckpointsDisabled = !message.CheckpointsEnabled, Epoch = -1, Version = -1, RunAs = message.EnableRunAs ? SerializedRunAs.SerializePrincipal(message.RunAs) : null, }, null); var sourceDefinition = new FakeForeachStreamProjection("", Console.WriteLine).GetSourceDefinition(); var projectionSourceDefinition = ProjectionSourceDefinition.From(sourceDefinition); _mp.Handle( new CoreProjectionStatusMessage.Prepared( _coreProjectionId, projectionSourceDefinition)); yield break; }
protected override ProjectionProcessingStrategy GivenProjectionProcessingStrategy() { var sourceDefinition = _stateHandler.GetSourceDefinition(); var source = QuerySourcesDefinition.From(sourceDefinition).ToJson(); return(new ParallelQueryProcessingStrategy( _projectionName, _version, GivenProjectionStateHandler, _projectionConfig, ProjectionSourceDefinition.From( _projectionName, sourceDefinition, typeof(FakeProjectionStateHandler).GetNativeHandlerName(), source), new ProjectionNamesBuilder(_projectionName, sourceDefinition), null, _spoolProcessingResponseDispatcher, _subscriptionDispatcher)); }
protected override void Given() { _projectionId = Guid.NewGuid(); var builder = new SourceDefinitionBuilder(); builder.FromStream("s1"); builder.FromStream("s2"); builder.IncludeEvent("e1"); builder.IncludeEvent("e2"); builder.SetByStream(); builder.SetResultStreamNameOption("result-stream"); _definition = ProjectionSourceDefinition.From(builder); }