Пример #1
0
        public EventHandlerSpecs()
        {
            _dataFixture         = new Fixture();
            _stoppingTokenSource = new CancellationTokenSource();

            _deserializeWithPrivateSetters = new JsonSerializerSettings
            {
                ContractResolver = new JsonPrivateResolver()
            };

            _eventHandlerStateStore = Substitute.For <IProjectionStore <Core.ReadModel.Projections.EventHandlerState.Projection> >();

            _eventHandlerStateStore
            .WhenForAnyArgs((IProjectionStore <Core.ReadModel.Projections.EventHandlerState.Projection> ps) => ps.Create(Arg.Any <string>(), Arg.Any <Core.ReadModel.Projections.EventHandlerState.Projection>()))
            .Do(ci => _updatedEventHandlerState = ci.ArgAt <Core.ReadModel.Projections.EventHandlerState.Projection>(1));

            _eventHandlerStateStore
            .WhenForAnyArgs((IProjectionStore <Core.ReadModel.Projections.EventHandlerState.Projection> ps) => ps.Update(Arg.Any <string>(), Arg.Any <Core.ReadModel.Projections.EventHandlerState.Projection>()))
            .Do(ci => _updatedEventHandlerState = ci.ArgAt <Core.ReadModel.Projections.EventHandlerState.Projection>(1));

            IServiceCollection services = new ServiceCollection();

            services.AddLogging();
            services.AddSingleton(_eventHandlerStateStore);
            services.AddSingleton <IProjectionBuilderRegistrar, ProjectionBuilderRegistrar>();
            services.AddSingleton <Core.ReadModel.EventStream.Handlers.EventHandler <SomeStream> >();
            services.AddSingleton <ProjectionBuilder1>();
            services.AddSingleton <ProjectionBuilder2>();
            services.AddSingleton <ProjectionBuilder3>();
            services.AddSingleton <ProjectionBuilder4>();

            _serviceProvider = services.BuildServiceProvider();

            HandledEventTracker.Reset();
        }
Пример #2
0
        private void GivenTheEventHasAlreadyBeenHandled()
        {
            var eventAudit = EventAudit.Create(
                _dataFixture.Create <DateTimeOffset>(),
                _dataFixture.Create <string>(),
                _dataFixture.Create <long>(),
                _eventEnvelope.StreamPosition + 1);

            _originalEventHandlerState = Core.ReadModel.Projections.EventHandlerState.Projection.Create(eventAudit);

            _eventHandlerStateStore
            .Get(Arg.Any <string>())
            .Returns(_originalEventHandlerState);
        }
Пример #3
0
        private Core.ReadModel.Projections.EventHandlerState.Projection CopyOf(Core.ReadModel.Projections.EventHandlerState.Projection original)
        {
            var serializedDto = JsonConvert.SerializeObject(original);

            return(JsonConvert.DeserializeObject <Core.ReadModel.Projections.EventHandlerState.Projection>(serializedDto, _deserializeWithPrivateSetters));
        }