protected override void Given() { _timeProvider = new FakeTimeProvider(); _mp = CreateManagedProjection(); _mp.InitializeNew( new ManagedProjection.PersistedState { Enabled = false, HandlerType = "JS", Query = "fromAll().when({});", Mode = ProjectionMode.Continuous, EmitEnabled = true, CheckpointsDisabled = false, Epoch = -1, Version = -1, RunAs = SerializedRunAs.SerializePrincipal(ProjectionManagementMessage.RunAs.Anonymous), }, null); _mp.Handle(new CoreProjectionStatusMessage.Prepared(_projectionId, new ProjectionSourceDefinition())); OneWriteCompletes(); _consumer.HandledMessages.Clear(); _mp.Handle(new CoreProjectionStatusMessage.Faulted( _projectionId, "test")); _updateConfig = CreateConfig(); try { _mp.Handle(_updateConfig); } catch (Exception ex) { _thrownException = ex; } }
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 ProjectionManagementMessage.ProjectionConfig GetProjectionConfig(ManagedProjection mp) { ProjectionManagementMessage.ProjectionConfig getConfigResult = null; mp.Handle(new ProjectionManagementMessage.Command.GetConfig( new CallbackEnvelope(m => getConfigResult = (ProjectionManagementMessage.ProjectionConfig)m), "name", SerializedRunAs.SerializePrincipal(ProjectionManagementMessage.RunAs.Anonymous))); return(getConfigResult); }
protected override void Given() { _timeProvider = new FakeTimeProvider(); _mp = CreateManagedProjection(); _mp.InitializeNew( _persistedState, null); _mp.Handle(new CoreProjectionStatusMessage.Prepared(_projectionId, new ProjectionSourceDefinition())); // Complete write of persisted state to start projection OneWriteCompletes(); try { _mp.Handle(CreateConfig()); } catch (InvalidOperationException ex) { _thrownException = ex; } }
protected override void Given() { _timeProvider = new FakeTimeProvider(); _mp = CreateManagedProjection(); _mp.InitializeNew( _persistedState, null); _mp.Handle(new CoreProjectionStatusMessage.Prepared(_projectionId, new ProjectionSourceDefinition())); // Complete write of persisted state to start projection OneWriteCompletes(); _config = GetProjectionConfig(_mp); }