Beispiel #1
0
 public ChangeFeedHandler(IDicomAuthorizationService dicomAuthorizationService, IChangeFeedService changeFeedService)
     : base(dicomAuthorizationService)
 {
     _changeFeedService = EnsureArg.IsNotNull(changeFeedService, nameof(changeFeedService));
 }
Beispiel #2
0
        public ChangeFeedHandler(IChangeFeedService changeFeedService)
        {
            EnsureArg.IsNotNull(changeFeedService, nameof(changeFeedService));

            _changeFeedService = changeFeedService;
        }
Beispiel #3
0
 public ChangeFeedHandler(IAuthorizationService <DataActions> authorizationService, IChangeFeedService changeFeedService)
     : base(authorizationService)
 {
     _changeFeedService = EnsureArg.IsNotNull(changeFeedService, nameof(changeFeedService));
 }
 public ChangeFeedBasicTests(ITestOutputHelper testOutputHelper) : base(testOutputHelper, ChangeFeedTestOptions)
 {
     _ratingsByCategoryRepository = _provider.GetRequiredService <IRepository <RatingByCategory> >();
     _changeFeedService           = _provider.GetRequiredService <IChangeFeedService>();
 }
Beispiel #5
0
    public AcceptanceTests(ITestOutputHelper outputHelper)
    {
        IServiceCollection services = new ServiceCollection();

        services.AddSingleton <IConfiguration>(new ConfigurationBuilder().Build());

        services.AddLogging(options =>
        {
            options.ClearProviders();
            options.AddXUnit(outputHelper, loggerOptions =>
            {
                loggerOptions.Filter = (s, _) =>
                                       s is null || (!s.StartsWith("System.Net") && !s.StartsWith("Microsoft.Azure.CosmosRepository"));
            });

            options.SetMinimumLevel(LogLevel.Debug);
        });

        services.AddCosmosEventSourcing(builder =>
        {
            builder.AddCosmosRepository(options =>
            {
                options.CosmosConnectionString = ConnectionString;
                options.DatabaseId             = DatabaseName;

                options.ContainerBuilder
                .ConfigureEventItemStore <TodoListEventItem>("todo-list-events")
                .ConfigureProjectionStore <TodoListItem>("projections")
                .ConfigureProjectionStore <TodoCosmosItem>("projections");
            });

            builder.AddDomainEventTypes(typeof(AcceptanceTests).Assembly);

            builder.AddDefaultDomainEventProjection <TodoListEventItem, TodoItemProjectionsKey>(options =>
            {
                options.ProcessorName = "event-based-projections";
                options.InstanceName  = Environment.MachineName;
                options.PollInterval  = TimeSpan.FromMilliseconds(500);
            });

            builder.AddDefaultDomainEventProjection <TodoListEventItem, CompletedProjectionsKey>(options =>
            {
                options.ProcessorName = "completed-event-based-projections";
                options.InstanceName  = Environment.MachineName;
                options.PollInterval  = TimeSpan.FromMilliseconds(500);
            });

            builder.AddEventItemProjection <TodoListEventItem, DefaultKey, TodoListEventItemProjection>(
                options =>
            {
                options.ProcessorName = "default-projections";
                options.InstanceName  = Environment.MachineName;
                options.PollInterval  = TimeSpan.FromMilliseconds(500);
            });

            builder.AddDomainEventProjectionHandlers(typeof(AcceptanceTests).Assembly);
        });

        _provider = services.BuildServiceProvider();
        _logger   = _provider.GetRequiredService <ILogger <AcceptanceTests> >();
        _todoListItemEventStore = _provider.GetRequiredService <IEventStore <TodoListEventItem> >();
        _todoListItemRepository = _provider.GetRequiredService <IReadOnlyRepository <TodoListItem> >();
        _todoItemsRepository    = _provider.GetRequiredService <IReadOnlyRepository <TodoCosmosItem> >();
        _changeFeedService      = _provider.GetRequiredService <IChangeFeedService>();
    }
 /// <summary>
 /// Creates an instance of the <see cref="CosmosRepositoryChangeFeedHostedService"/>
 /// </summary>
 /// <param name="changeFeedService">The <see cref="IChangeFeedService"/> to start.</param>
 public CosmosRepositoryChangeFeedHostedService(IChangeFeedService changeFeedService) =>