public async Task ProcessDeadLetteredMessage_GivenMessageAndLogIsUpdated_LogsInformation() { // Arrange const string jobId = "job-id-1"; JobLog jobLog = new JobLog { Id = "job-log-id-1" }; ApiResponse <JobLog> jobLogResponse = new ApiResponse <JobLog>(HttpStatusCode.OK, jobLog); Message message = new Message(); message.UserProperties.Add("jobId", jobId); IJobsApiClient jobsApiClient = CreateJobsApiClient(); jobsApiClient .AddJobLog(Arg.Is(jobId), Arg.Any <JobLogUpdateModel>()) .Returns(jobLogResponse); ILogger logger = CreateLogger(); IJobHelperService service = CreateJobHelperService(jobsApiClient, logger); // Act await service.ProcessDeadLetteredMessage(message); // Assert logger .Received(1) .Information(Arg.Is($"A new job log was added to inform of a dead lettered message with job log id '{jobLog.Id}' on job with id '{jobId}'")); }
public async Task ProcessDeadLetteredMessage_GivenMessageButAddingLogCausesException_LogsAnError() { // Arrange const string jobId = "job-id-1"; Message message = new Message(); message.UserProperties.Add("jobId", jobId); IJobsApiClient jobsApiClient = CreateJobsApiClient(); jobsApiClient .When(x => x.AddJobLog(Arg.Is(jobId), Arg.Any <JobLogUpdateModel>())) .Do(x => { throw new Exception(); }); ILogger logger = CreateLogger(); IJobHelperService service = CreateJobHelperService(jobsApiClient, logger); // Act await service.ProcessDeadLetteredMessage(message); // Assert logger .Received(1) .Error(Arg.Any <Exception>(), Arg.Is($"Failed to add a job log for job id '{jobId}'")); }
public OnCalcsInstructAllocationResultsFailure( ILogger logger, ICorrelationIdProvider correlationIdProvider, IJobHelperService jobHelperService) { Guard.ArgumentNotNull(logger, nameof(logger)); Guard.ArgumentNotNull(correlationIdProvider, nameof(correlationIdProvider)); Guard.ArgumentNotNull(jobHelperService, nameof(jobHelperService)); _logger = logger; _correlationIdProvider = correlationIdProvider; _jobHelperService = jobHelperService; }
public OnCreateAllocationLineResultStatusUpdatesFailure( ILogger logger, IJobHelperService jobHelperService, ICorrelationIdProvider correlationIdProvider) { Guard.ArgumentNotNull(logger, nameof(logger)); Guard.ArgumentNotNull(jobHelperService, nameof(jobHelperService)); Guard.ArgumentNotNull(correlationIdProvider, nameof(correlationIdProvider)); _logger = logger; _correlationIdProvider = correlationIdProvider; _jobHelperService = jobHelperService; }
public OnFetchProviderProfileFailure( ILogger logger, IJobHelperService jobHelperService, ICorrelationIdProvider correlationIdProvider) { Guard.ArgumentNotNull(logger, nameof(logger)); Guard.ArgumentNotNull(jobHelperService, nameof(jobHelperService)); Guard.ArgumentNotNull(correlationIdProvider, nameof(correlationIdProvider)); _logger = logger; _correlationIdProvider = correlationIdProvider; _jobHelperService = jobHelperService; }
public async Task ProcessDeadLetteredMessage_GivenMessageButNoJobId_LogsAnErrorAndDoesNotUpdadeJobLog() { // Arrange Message message = new Message(); IJobsApiClient jobsApiClient = CreateJobsApiClient(); ILogger logger = CreateLogger(); IJobHelperService service = CreateJobHelperService(jobsApiClient, logger); // Act await service.ProcessDeadLetteredMessage(message); // Assert logger .Received(1) .Error(Arg.Is("Missing job id from dead lettered message")); await jobsApiClient .DidNotReceive() .AddJobLog(Arg.Any <string>(), Arg.Any <JobLogUpdateModel>()); }