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;
            }
        }
Пример #2
0
        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);
        }