예제 #1
0
        public void Process_RetriableResults_FailAndRetry(HttpStatusCode responseCode)
        {
            StubHttp.Stub(x => x.Post("/endpoint"))
            .WithStatus(responseCode);

            Processor.Initialize(JobData, NebulaContext);
            var result = Processor.Process(new List <HttpPushOutgoingQueueStep> {
                _step
            }).GetAwaiter().GetResult();

            Assert.Equal(1, result.ItemsRequeued);
            Assert.Equal(1, result.ItemsFailed);
        }
예제 #2
0
        public void Process_FailedMoreThanRetryCount_FailAndNoRetry()
        {
            var failCount = retryConfiguration.Count;

            _step.FailCount = failCount;
            StubHttp.Stub(x => x.Post("/endpoint"))
            .Return("")
            .WithStatus(HttpStatusCode.BadGateway);
            Processor.Initialize(JobData, NebulaContext);
            var result = Processor.Process(new List <HttpPushOutgoingQueueStep> {
                _step
            }).GetAwaiter().GetResult();

            Assert.Equal(failCount + 1, result.ItemsFailed);
            Assert.Equal(0, result.ItemsRequeued);
        }