protected override void Load(ContainerBuilder containerBuilder)
        {
            var eventSerializerSettings = EventsJsonSerializerSettingsProvider.CreateSerializerSettings();

            containerBuilder
            .RegisterModule(new DataDogModule(_configuration));

            containerBuilder
            .RegisterModule(new SyndicationModule(_configuration, _services, _loggerFactory));

            containerBuilder
            .RegisterType <ProblemDetailsHelper>()
            .AsSelf();

            containerBuilder.RegisterModule(new IdempotencyModule(
                                                _services,
                                                _configuration.GetSection(IdempotencyConfiguration.Section).Get <IdempotencyConfiguration>()
                                                .ConnectionString,
                                                new IdempotencyMigrationsTableInfo(Schema.Import),
                                                new IdempotencyTableInfo(Schema.Import),
                                                _loggerFactory));

            containerBuilder.RegisterModule(new EventHandlingModule(typeof(DomainAssemblyMarker).Assembly,
                                                                    eventSerializerSettings));

            containerBuilder.RegisterModule(new EnvelopeModule());
            containerBuilder.RegisterModule(new SequenceModule(_configuration, _services, _loggerFactory));

            containerBuilder.RegisterModule(new CommandHandlingModule(_configuration));

            containerBuilder.Populate(_services);
        }
Exemplo n.º 2
0
        private IContainer CreateContainer()
        {
            var builder = new ContainerBuilder();

            builder.RegisterModule <ProjectorModule>();
            builder.RegisterModule(new SqlStreamStoreModule(string.Empty, Schemas.Messages));
            builder
            .RegisterType <LoggerFactory>()
            .As <ILoggerFactory>()
            .SingleInstance();

            builder.RegisterModule(
                new EventHandlingModule(
                    typeof(DomainAssemblyMarker).Assembly,
                    EventsJsonSerializerSettingsProvider.CreateSerializerSettings()));

            builder.RegisterModule <EnvelopeModule>();

            builder
            .RegisterInstance(new ProjectionContext(CreateContextOptionsFor <ProjectionContext>()))
            .AsSelf();

            ContainerSetup(builder);
            return(builder.Build());
        }
Exemplo n.º 3
0
        public void DeserializingWithoutSourceProperties()
        {
            var serialized = @"{""publicServiceId"":""DVR000000001"",""name"":""dag wouter"",""privateZoneId"":""UNREGISTERED""}";

            var settings = EventsJsonSerializerSettingsProvider.CreateSerializerSettings();

            var @event = JsonConvert.DeserializeObject <CompetentAuthorityWasAssigned>(serialized, settings);

            @event.CompetentAuthorityProvenance.Uri.Should().BeNull();
            @event.CompetentAuthorityProvenance.Source.Should().Be(OrganisationSource.Unknown);
        }
Exemplo n.º 4
0
        protected override void Load(ContainerBuilder containerBuilder)
        {
            var eventSerializerSettings = EventsJsonSerializerSettingsProvider.CreateSerializerSettings();

            containerBuilder
            .RegisterModule(new EventHandlingModule(typeof(DomainAssemblyMarker).Assembly, eventSerializerSettings))
            .RegisterModule(new CommandHandlingModule(_configuration));

            containerBuilder
            .RegisterType <SqlPersistentLocalIdGenerator>()
            .As <IPersistentLocalIdGenerator>();
        }
Exemplo n.º 5
0
            public async Task WhenMessageIsAppended()
            {
                var mapping       = new EventMapping(EventMapping.DiscoverEventNamesInAssembly(typeof(RoadNetworkEvents).Assembly));
                var settings      = EventsJsonSerializerSettingsProvider.CreateSerializerSettings();
                var archiveStream = new StreamName("archive-1");
                var commandStream = new StreamName("road-network-commands");
                var id            = Guid.NewGuid();
                var reaction      = new ReactionScenarioBuilder()
                                    .Given(new RecordedEvent(archiveStream, new Messages.UploadRoadNetworkChangesArchive {
                    ArchiveId = "123"
                }).WithMessageId(id))
                                    .Then(new RecordedEvent(commandStream, new Messages.UploadRoadNetworkChangesArchive {
                    ArchiveId = "123"
                }).WithMessageId(id).WithMetadata(new { Position = 1 }))
                                    .Build();

                var sut = new Subscriber(_store, commandStream);

                using (sut)
                {
                    sut.Start();

                    //Act
                    foreach (var stream in reaction.Givens.GroupBy(given => given.Stream))
                    {
                        await _store.AppendToStream(
                            stream.Key,
                            ExpectedVersion.NoStream,
                            stream.Select((given, index) => new NewStreamMessage(
                                              Deterministic.Create(Deterministic.Namespaces.Events,
                                                                   $"{given.Stream}-{index}"),
                                              mapping.GetEventName(given.Event.GetType()),
                                              JsonConvert.SerializeObject(given.Event, settings),
                                              given.Metadata != null ? JsonConvert.SerializeObject(given.Metadata, settings) : null
                                              )).ToArray());
                    }


                    //Await
                    var page = await _store.ReadStreamForwards(commandStream, StreamVersion.Start, 1);

                    while (page.Status == PageReadStatus.StreamNotFound)
                    {
                        page = await _store.ReadStreamForwards(commandStream, StreamVersion.Start, 1);
                    }

                    //Assert
                    //Assert.Equal(_messageId, page.Messages[0].MessageId);
                }

                await sut.Disposed;
            }
Exemplo n.º 6
0
        protected override void Load(ContainerBuilder containerBuilder)
        {
            var eventSerializerSettings = EventsJsonSerializerSettingsProvider.CreateSerializerSettings();

            containerBuilder
            .RegisterModule(new LoggingModule(_configuration, _services))
            .RegisterModule(new DataDogModule(_configuration))
            .RegisterModule(new EventHandlingModule(typeof(DomainAssemblyMarker).Assembly, eventSerializerSettings))
            .RegisterModule(new CommandHandlingModule(_configuration))
            .RegisterModule(new ApiProjectionsModule(_configuration, _services, _loggerFactory));

            containerBuilder
            .Populate(_services);
        }
        private void RegisterProjectionSetup(ContainerBuilder builder)
        {
            builder.RegisterModule(
                new EventHandlingModule(
                    typeof(DomainAssemblyMarker).Assembly,
                    EventsJsonSerializerSettingsProvider.CreateSerializerSettings()))

            .RegisterModule <EnvelopeModule>()
            .RegisterEventstreamModule(_configuration)
            .RegisterModule(new ProjectorModule(_configuration));

            RegisterExtractProjections(builder);
            RegisterLastChangedProjections(builder);
            RegisterLegacyProjections(builder);
        }
Exemplo n.º 8
0
        protected override void Load(ContainerBuilder containerBuilder)
        {
            var eventSerializerSettings = EventsJsonSerializerSettingsProvider.CreateSerializerSettings();

            containerBuilder
            .RegisterType <DvrCodeGenerator>()
            .InstancePerLifetimeScope();

            containerBuilder
            .RegisterModule(new SecurityModule(_configuration))
            .RegisterModule(new DataDogModule(_configuration))
            .RegisterModule(new BackofficeModule(_configuration, _services, _loggerFactory))
            .RegisterModule(new EventHandlingModule(typeof(DomainAssemblyMarker).Assembly, eventSerializerSettings))
            .RegisterModule(new EnvelopeModule())
            .RegisterModule(new CommandHandlingModule(_configuration));

            containerBuilder.Populate(_services);
        }
Exemplo n.º 9
0
        protected override void ConfigureEventHandling(ContainerBuilder builder)
        {
            var eventSerializerSettings = EventsJsonSerializerSettingsProvider.CreateSerializerSettings();

            builder.RegisterModule(new EventHandlingModule(typeof(DomainAssemblyMarker).Assembly, eventSerializerSettings));
        }
Exemplo n.º 10
0
        protected override void Load(ContainerBuilder containerBuilder)
        {
            var eventSerializerSettings = EventsJsonSerializerSettingsProvider.CreateSerializerSettings();

            containerBuilder
            .RegisterModule(new DataDogModule(_configuration))
            .RegisterModule(new LegacyModule(_configuration, _services, _loggerFactory));

            containerBuilder
            .RegisterModule(new IdempotencyModule(
                                _services,
                                _configuration.GetSection(IdempotencyConfiguration.Section).Get <IdempotencyConfiguration>().ConnectionString,
                                new IdempotencyMigrationsTableInfo(Schema.Import),
                                new IdempotencyTableInfo(Schema.Import),
                                _loggerFactory));

            containerBuilder
            .RegisterType <IdempotentCommandHandlerModule>()
            .AsSelf();

            containerBuilder
            .RegisterType <IdempotentCommandHandlerModuleProcessor>()
            .As <IIdempotentCommandHandlerModuleProcessor>();

            containerBuilder
            .RegisterModule(new EventHandlingModule(typeof(DomainAssemblyMarker).Assembly, eventSerializerSettings));

            containerBuilder
            .RegisterModule(new EnvelopeModule());

            containerBuilder
            .RegisterModule(new CommandHandlingModule(_configuration));

            containerBuilder
            .RegisterType <IdempotentCommandHandlerModule>()
            .AsSelf();

            containerBuilder
            .RegisterType <IdempotentCommandHandlerModuleProcessor>()
            .As <IIdempotentCommandHandlerModuleProcessor>();

            containerBuilder.RegisterModule(
                new CrabImportModule(
                    _services,
                    _configuration.GetConnectionString("CrabImport"),
                    Schema.Import,
                    _loggerFactory));

            var projectionsConnectionString = _configuration.GetConnectionString("Sequences");

            _services
            .AddDbContext <SequenceContext>(options => options
                                            .UseLoggerFactory(_loggerFactory)
                                            .UseSqlServer(projectionsConnectionString, sqlServerOptions =>
            {
                sqlServerOptions.EnableRetryOnFailure();
                sqlServerOptions.MigrationsHistoryTable(MigrationTables.Sequence, Schema.Sequence);
            }));

            containerBuilder
            .RegisterType <SqlPersistentLocalIdGenerator>()
            .As <IPersistentLocalIdGenerator>();

            containerBuilder.Populate(_services);
        }