Exemple #1
0
 protected override void Load(ContainerBuilder builder)
 {
     builder.RegisterAssemblyTypes(ThisAssembly)
     .Where(t => t.Name.EndsWith("Repository"))
     .WithParameter("context", new PetStoreContext())
     .WithParameter("retryPolicy", PollyFactory.CreateAsyncRetryPolicy())
     .AsImplementedInterfaces();
 }
Exemple #2
0
        public async Task CreateAsyncRetryPolicy_NoException()
        {
            //arrange
            var retyPolicy = PollyFactory.CreateAsyncRetryPolicy();
            int i          = 0;

            //act
            await retyPolicy.ExecuteAsync(async() =>
            {
                await Task.Delay(1);  // This is here so there is something to await
                i++;
            });

            //assert
            Assert.Equal(1, i);
        }
Exemple #3
0
        public async Task CreateAsyncRetryPolicy_Exception()
        {
            //arrange
            var retyPolicy = PollyFactory.CreateAsyncRetryPolicy();
            int i          = 0;

            //act
            Exception ex = await Assert.ThrowsAsync <Exception>(() => retyPolicy.ExecuteAsync(() =>
            {
                i++;
                throw new Exception($"Run number {i}");
            }));

            //assert
            Assert.Equal("Run number 6", ex.Message);
        }