コード例 #1
0
ファイル: Retry.cs プロジェクト: voidmainbalamurugan/BatchJob
        public void Retry_5_times()
        {
            //arrange
            var job = Helper.GetFakeJob(null, JobStatus.CompletedWithError);
            Retry <IFakeJob> retryJob = new Retry <IFakeJob>(job.Object, 5, TimeSpan.FromMilliseconds(1));

            //act
            var rslt = retryJob.Doable();

            //assert
            Assert.True(retryJob.Times == 5);
            Assert.True(retryJob.Interval.Milliseconds == 1);
            Assert.True(rslt.Status == JobStatus.CompletedWithError);
            job.Verify(j => j.Doable(), Times.Exactly(5));
            Assert.All(retryJob.RetryResults, r => r.Status.ToString().Equals(JobStatus.CompletedWithError.ToString()));
        }
コード例 #2
0
ファイル: Retry.cs プロジェクト: voidmainbalamurugan/BatchJob
        public void Retry_success_very_first_time()
        {
            //arrange
            var job = Helper.GetFakeJob();
            Retry <IFakeJob> retryJob = new Retry <IFakeJob>(job.Object, 5, TimeSpan.FromMilliseconds(1));

            //act
            var rslt = retryJob.Doable();

            //assert
            Assert.True(retryJob.Times == 5);
            Assert.True(retryJob.Interval.Milliseconds == 1);
            Assert.True(rslt.Status == JobStatus.Completed);
            job.Verify(j => j.Doable(), Times.Once());
            Assert.True(retryJob.RetryResults.Count == 1);
            Assert.True(retryJob.RetryResults.FirstOrDefault().Status == JobStatus.Completed);
        }
コード例 #3
0
ファイル: Retry.cs プロジェクト: voidmainbalamurugan/BatchJob
        public void Retry_10_times_with_successful_validation()
        {
            //arrange
            var job = Helper.GetFakeJob(null, JobStatus.CompletedWithError);
            Func <IJobContext, ValidationResult> validate = (ctx) => {
                return(ValidationResult.Valid);
            };
            Retry <IFakeJob> retryJob = new Retry <IFakeJob>(job.Object, 10, TimeSpan.FromMilliseconds(1), validate);

            //act
            var rslt = retryJob.Doable();

            //assert
            Assert.True(retryJob.Times == 10);
            Assert.True(retryJob.Interval.Milliseconds == 1);
            Assert.True(rslt.Status == JobStatus.CompletedWithError);
            job.Verify(j => j.Doable(), Times.Exactly(10));
            Assert.All(retryJob.RetryResults, r => r.Status.ToString().Equals(JobStatus.CompletedWithError.ToString()));
        }