Пример #1
0
        public async Task ShouldUseRetryAndLoggingCommandDecorators()
        {
            var args = new FakeRetryCommandArgs(2);
            await _bus.ExecuteAsync(args);

            Assert.Equal(3, args.TimesExecuted);
            Assert.Equal(4, _logger.GetMessages(LogLevel.Information).Length);
        }
Пример #2
0
        public async Task ShouldRetryCommandThreeTimes()
        {
            var args = new FakeRetryCommandArgs(2);

            await _bus.ExecuteAsync(args);

            Assert.Equal(3, args.TimesExecuted);
        }
Пример #3
0
        public async Task ShouldWorkCorrectlyWithCustomPolicyAndServiceCollection()
        {
            var bus = new ServiceCollection()
                      .AddKlinkedCqrs(b => b.UseAssemblyFor <FakeLogger>().AddRetry(Policy.Handle <Exception>().RetryAsync(12)))
                      .BuildServiceProvider()
                      .GetRequiredService <ICqrsBus>();

            var args = new FakeRetryCommandArgs(11);
            await bus.ExecuteAsync(args);

            Assert.Equal(12, args.TimesExecuted);
        }
Пример #4
0
        public async Task ShouldWorkCorrectlyWithServiceCollection()
        {
            var bus = new ServiceCollection()
                      .AddKlinkedCqrs(b => b.UseAssemblyFor <FakeLogger>().AddRetry())
                      .BuildServiceProvider()
                      .GetRequiredService <ICqrsBus>();

            var args = new FakeRetryCommandArgs(2);
            await bus.ExecuteAsync(args);

            Assert.Equal(3, args.TimesExecuted);
        }
Пример #5
0
        public async Task ShouldAllowUsageOfCustomRetryPolicy()
        {
            var bus = CqrsBus
                      .UseAssemblyFor <FakeLogger>()
                      .AddRetry(Policy.Handle <Exception>().RetryAsync(12))
                      .Build();

            var args = new FakeRetryCommandArgs(11);
            await bus.ExecuteAsync(args);

            Assert.Equal(12, args.TimesExecuted);
        }
Пример #6
0
 public async Task ShouldThrowExceptionIfRetriesExceeded()
 {
     var args = new FakeRetryCommandArgs(4);
     await Assert.ThrowsAsync <Exception>(() => _bus.ExecuteAsync(args));
 }