public async Task ProcessDeadLetteredMessage_GivenMessageAndLogIsUpdated_LogsInformation()
        {
            // Arrange
            const string jobId = "job-id-1";

            JobLog jobLog = new JobLog
            {
                Id = "job-log-id-1"
            };

            Message message = new Message();

            message.UserProperties.Add("jobId", jobId);

            IJobManagement jobManagement = CreateJobManagement();

            jobManagement
            .AddJobLog(Arg.Is(jobId), Arg.Any <JobLogUpdateModel>())
            .Returns(jobLog);

            ILogger logger = CreateLogger();

            IDeadletterService service = CreateJobHelperService(jobManagement, logger);

            // Act
            await service.Process(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);

            IJobManagement jobManagement = CreateJobManagement();

            jobManagement
            .When(x => x.AddJobLog(Arg.Is(jobId), Arg.Any <JobLogUpdateModel>()))
            .Do(x => { throw new Exception(); });

            ILogger logger = CreateLogger();

            IDeadletterService service = CreateJobHelperService(jobManagement, logger);

            // Act
            await service.Process(message);

            // Assert
            logger
            .Received(1)
            .Error(Arg.Any <Exception>(), Arg.Is($"Failed to add a job log for job id '{jobId}'"));
        }
예제 #3
0
 protected Failure(
     ILogger logger,
     IDeadletterService jobHelperService,
     string queueName)
 {
     _logger           = logger;
     _queueName        = queueName;
     _jobHelperService = jobHelperService;
 }
        public async Task ProcessDeadLetteredMessage_GivenMessageButNoJobId_LogsAnErrorAndDoesNotUpdadeJobLog()
        {
            // Arrange
            Message message = new Message();

            IJobManagement jobManagement = CreateJobManagement();

            ILogger logger = CreateLogger();

            IDeadletterService service = CreateJobHelperService(jobManagement, logger);

            // Act
            await service.Process(message);

            // Assert
            logger
            .Received(1)
            .Error(Arg.Is("Missing job id from dead lettered message"));

            await
            jobManagement
            .DidNotReceive()
            .AddJobLog(Arg.Any <string>(), Arg.Any <JobLogUpdateModel>());
        }
 public OnPublishAllProviderFundingFailure(
     ILogger logger,
     IDeadletterService jobHelperService) : base(logger, jobHelperService, QueueName)
 {
 }
예제 #6
0
 public OnCalculationResultsCsvGenerationFailure(
     ILogger logger,
     IDeadletterService jobHelperService) : base(logger, jobHelperService, QueueName)
 {
 }
예제 #7
0
 public OnRunSqlImportFailureFailure(
     ILogger logger,
     IDeadletterService jobHelperService) : base(logger, jobHelperService, QueueName)
 {
 }
 public OnBatchPublishedProviderValidationFailure(
     ILogger logger,
     IDeadletterService jobHelperService) : base(logger, jobHelperService, QueueName)
 {
 }
 public OnApproveAllCalculationsFailure(
     ILogger logger,
     IDeadletterService jobHelperService) : base(logger, jobHelperService, QueueName)
 {
 }
예제 #10
0
 public OnGeneratePublishedProviderEstateCsvFailure(
     ILogger logger,
     IDeadletterService jobHelperService) : base(logger, jobHelperService, QueueName)
 {
 }
예제 #11
0
 public OnGeneratePublishedFundingCsvFailure(
     ILogger logger,
     IDeadletterService jobHelperService) : base(logger, jobHelperService, QueueName)
 {
 }
 public OnReIndexPublishedProvidersFailure(
     ILogger logger,
     IDeadletterService jobHelperService) : base(logger, jobHelperService, QueueName)
 {
 }
 public OnPopulateScopedProvidersEventTriggerFailure(
     ILogger logger,
     IDeadletterService jobHelperService) : base(logger, jobHelperService, QueueName)
 {
 }
 public OnReIndexSpecificationCalculationRelationshipsFailure(
     ILogger logger,
     IDeadletterService jobHelperService) : base(logger, jobHelperService, QueueName)
 {
 }
 public OnApproveBatchProviderFundingFailure(
     ILogger logger,
     IDeadletterService jobHelperService) : base(logger, jobHelperService, QueueName)
 {
 }
예제 #16
0
 public OnUpdateCodeContextCacheFailure(
     ILogger logger,
     IDeadletterService jobHelperService) : base(logger, jobHelperService, QueueName)
 {
 }
예제 #17
0
 public OnProviderSnapshotDataLoadEventTriggerFailure(
     ILogger logger,
     IDeadletterService jobHelperService) : base(logger, jobHelperService, QueueName)
 {
 }
 public OnSearchIndexWriterEventTriggerFailure(
     ILogger logger,
     IDeadletterService jobHelperService) : base(logger, jobHelperService, QueueName)
 {
 }
 public OnMapFdzDatasetsEventFiredFailure(
     ILogger logger,
     IDeadletterService jobHelperService) : base(logger, jobHelperService, QueueName)
 {
 }
예제 #20
0
 public OnReIndexTemplatesFailure(
     ILogger logger,
     IDeadletterService jobHelperService) : base(logger, jobHelperService, QueueName)
 {
 }
예제 #21
0
 public OnDeleteSpecificationsFailure(
     ILogger logger,
     IDeadletterService jobHelperService) : base(logger, jobHelperService, QueueName)
 {
 }
예제 #22
0
 public OnCalcsInstructAllocationResultsFailure(
     ILogger logger,
     IDeadletterService jobHelperService) : base(logger, jobHelperService, QueueName)
 {
 }
 public OnPublishIntegrityCheckFailure(
     ILogger logger,
     IDeadletterService jobHelperService) : base(logger, jobHelperService, QueueName)
 {
 }
 public OnRefreshFundingFailure(
     ILogger logger,
     IDeadletterService jobHelperService) : base(logger, jobHelperService, QueueName)
 {
 }
예제 #25
0
 public OnDeleteTestResultsFailure(
     ILogger logger,
     IDeadletterService jobHelperService) : base(logger, jobHelperService, QueueName)
 {
 }
 public OnDatasetEventFailure(
     ILogger logger,
     IDeadletterService jobHelperService) : base(logger, jobHelperService, QueueName)
 {
 }
 public OnMergeSpecificationInformationForProviderWithResultsFailure(
     ILogger logger,
     IDeadletterService jobHelperService) : base(logger, jobHelperService, QueueName)
 {
 }