コード例 #1
0
        public async Task GetJobMetaDataById_Success()
        {
            IContainer    container = Registrations();
            FileUploadJob result;

            using (var scope = container.BeginLifetimeScope())
            {
                // Create the schema in the database
                var options = scope.Resolve <DbContextOptions <JobQueueDataContext> >();
                using (var context = new JobQueueDataContext(options))
                {
                    context.Database.EnsureCreated();
                }

                IFileUploadJobManager manager = scope.Resolve <IFileUploadJobManager>();
                var jobId = await manager.AddJob(new FileUploadJob()
                {
                    JobId = 1,
                });

                result = await manager.GetJobById(1);
            }

            result.Should().NotBeNull();
            result.JobId.Should().Be(1);
        }
コード例 #2
0
        public async Task GetJobsByUkprnForDateRange_Success()
        {
            IContainer           container = Registrations();
            List <FileUploadJob> result;

            using (var scope = container.BeginLifetimeScope())
            {
                // Create the schema in the database
                var options = scope.Resolve <DbContextOptions <JobQueueDataContext> >();
                using (var context = new JobQueueDataContext(options))
                {
                    context.Database.EnsureCreated();
                }

                IFileUploadJobManager manager = scope.Resolve <IFileUploadJobManager>();

                await manager.AddJob(new FileUploadJob()
                {
                    JobId = 1,
                    Ukprn = 100
                });

                await manager.AddJob(new FileUploadJob()
                {
                    JobId = 2,
                    Ukprn = 100
                });

                result = (await manager.GetJobsByUkprnForDateRange(100, DateTime.UtcNow.AddMinutes(-1), DateTime.UtcNow)).ToList();
            }

            result.Should().NotBeNull();
            result.Count.Should().Be(2);
        }
コード例 #3
0
        public async Task GetLatestJobByUkprn_Success()
        {
            IContainer container = Registrations();
            IEnumerable <FileUploadJob> items;

            using (var scope = container.BeginLifetimeScope())
            {
                // Create the schema in the database
                var options = scope.Resolve <DbContextOptions <JobQueueDataContext> >();
                using (var context = new JobQueueDataContext(options))
                {
                    context.Database.EnsureCreated();
                }

                IFileUploadJobManager manager = scope.Resolve <IFileUploadJobManager>();

                await manager.AddJob(new FileUploadJob()
                {
                    JobId          = 1,
                    Ukprn          = 10000116,
                    PeriodNumber   = 1,
                    FileName       = "ilr.xml",
                    CollectionName = "ILR1819"
                });

                await manager.AddJob(new FileUploadJob()
                {
                    JobId          = 2,
                    Ukprn          = 10000116,
                    PeriodNumber   = 2,
                    FileName       = "10000116/SUPPDATA-10000116-ESF-99999-20181109-090919.csv",
                    CollectionName = "ESF"
                });

                await manager.AddJob(new FileUploadJob()
                {
                    JobId          = 3,
                    Ukprn          = 10000116,
                    PeriodNumber   = 2,
                    FileName       = "eas.csv",
                    CollectionName = "EAS"
                });

                await manager.AddJob(new FileUploadJob()
                {
                    JobId          = 4,
                    Ukprn          = 10000119,
                    PeriodNumber   = 2,
                    FileName       = "eas11.csv",
                    CollectionName = "EAS"
                });

                items = (await manager.GetLatestJobByUkprn(new long[] { 10000116, 10000119 })).ToList();
            }

            items.Should().NotBeEmpty();

            items.Single(x => x.FileName.Equals("ilr.xml") && x.Ukprn == 10000116 && x.JobId == 1).Should().NotBeNull();
            items.Single(x => x.FileName.Equals("eas11.csv") && x.Ukprn == 10000119 && x.JobId == 4).Should().NotBeNull();
        }
コード例 #4
0
 public JobController(IJobManager jobManager, ILogger logger, IDateTimeProvider dateTimeProvider, IFileUploadJobManager fileUploadMetaDataManager)
 {
     _jobManager           = jobManager;
     _logger               = logger;
     _dateTimeProvider     = dateTimeProvider;
     _fileUploadJobManager = fileUploadMetaDataManager;
 }
 public EasMessageFactory(
     ILogger logger,
     IFileUploadJobManager fileUploadMetaDataManager,
     [KeyFilter(JobType.EasSubmission)] ITopicConfiguration topicConfiguration,
     IJobTopicTaskService jobTopicTaskService)
     : base(logger, fileUploadMetaDataManager, topicConfiguration, jobTopicTaskService)
 {
 }
 public ReferenceDataMessageFactory(
     ILogger logger,
     IFileUploadJobManager fileUploadMetaDataManager,
     [KeyFilter(JobType.ReferenceDataFCS)]
     ITopicConfiguration topicConfiguration,
     IJobTopicTaskService jobTopicTaskService)
     : base(logger, fileUploadMetaDataManager, topicConfiguration, jobTopicTaskService)
 {
 }
コード例 #7
0
        public async Task GetJobMetDataById_Fail_zeroId()
        {
            IContainer container = Registrations();

            using (var scope = container.BeginLifetimeScope())
            {
                IFileUploadJobManager manager = scope.Resolve <IFileUploadJobManager>();
                await Assert.ThrowsAsync <ArgumentException>(() => manager.GetJobById(0));
            }
        }
コード例 #8
0
        public async Task AddJob_Null()
        {
            IContainer container = Registrations();

            using (var scope = container.BeginLifetimeScope())
            {
                IFileUploadJobManager manager = scope.Resolve <IFileUploadJobManager>();
                await Assert.ThrowsAsync <ArgumentNullException>(() => manager.AddJob(null));
            }
        }
 public ValidationResultsController(
     IIndex <JobType, IKeyValuePersistenceService> storagePersistenceServices,
     ILogger logger,
     IFileUploadJobManager fileUploadMetaDataManager,
     IDateTimeProvider dateTimeProvider)
 {
     _storagePersistenceServices = storagePersistenceServices;
     _logger = logger;
     _fileUploadMetaDataManager = fileUploadMetaDataManager;
     _dateTimeProvider          = dateTimeProvider;
 }
 protected AbstractFileUploadMessageFactory(
     ILogger logger,
     IFileUploadJobManager fileUploadMetaDataManager,
     ITopicConfiguration topicConfiguration,
     IJobTopicTaskService jobTopicTaskService)
 {
     _logger = logger;
     _fileUploadJobManager = fileUploadMetaDataManager;
     _topicConfiguration   = topicConfiguration;
     _jobTopicTaskService  = jobTopicTaskService;
 }
コード例 #11
0
 public CrossLoadingService(
     CrossLoadMessageMapper crossLoadMessageMapper,
     IQueuePublishService <MessageCrossLoadDctToDcftDto> queuePublishService,
     IFileUploadJobManager jobQueueManager,
     ConnectionStrings connectionStrings)
 {
     _queuePublishService    = queuePublishService;
     _jobQueueManager        = jobQueueManager;
     _crossLoadMessageMapper = crossLoadMessageMapper;
     _connectionString       = connectionStrings.Organisation;
 }
コード例 #12
0
        public async Task GetLatestJobByUkprnAndContractReference_Success()
        {
            IContainer    container = Registrations();
            FileUploadJob result;

            using (var scope = container.BeginLifetimeScope())
            {
                // Create the schema in the database
                var options = scope.Resolve <DbContextOptions <JobQueueDataContext> >();
                using (var context = new JobQueueDataContext(options))
                {
                    context.Database.EnsureCreated();
                }

                IFileUploadJobManager manager = scope.Resolve <IFileUploadJobManager>();

                await manager.AddJob(new FileUploadJob()
                {
                    JobId          = 1,
                    Ukprn          = 10000116,
                    PeriodNumber   = 1,
                    FileName       = "10000116/SUPPDATA-10000116-ESF-2270-20181109-090919.csv",
                    CollectionName = "ESF"
                });

                await manager.AddJob(new FileUploadJob()
                {
                    JobId          = 2,
                    Ukprn          = 10000116,
                    PeriodNumber   = 2,
                    FileName       = "10000116/SUPPDATA-10000116-ESF-99999-20181109-090919.csv",
                    CollectionName = "ESF"
                });

                await manager.AddJob(new FileUploadJob()
                {
                    JobId          = 3,
                    Ukprn          = 10000119,
                    PeriodNumber   = 2,
                    FileName       = "10000119/SUPPDATA-10000119-ESF-2270-20181109-090919.csv",
                    CollectionName = "ESF"
                });

                result = await manager.GetLatestJobByUkprnAndContractReference(10000116, "ESF-2270", "ESF");
            }

            result.Should().NotBeNull();
            result.FileName.Should().Be("10000116/SUPPDATA-10000116-ESF-2270-20181109-090919.csv");
            result.Ukprn.Should().Be(10000116);
            result.JobId.Should().Be(1);
        }
コード例 #13
0
        private JobController GetController(IJobManager jobManager = null, IFileUploadJobManager fileUploadJobManager = null)
        {
            if (jobManager == null)
            {
                jobManager = new Mock <IJobManager>().Object;
            }

            if (fileUploadJobManager == null)
            {
                fileUploadJobManager = new Mock <IFileUploadJobManager>().Object;
            }

            var mockLogger = new Mock <ILogger>();

            return(new JobController(jobManager, mockLogger.Object, new Mock <IDateTimeProvider>().Object, fileUploadJobManager));
        }
 public JobManager(
     Func <IJobQueueDataContext> contextFactory,
     IDateTimeProvider dateTimeProvider,
     IEmailNotifier emailNotifier,
     IFileUploadJobManager fileUploadJobManager,
     IEmailTemplateManager emailTemplateManager,
     ILogger logger,
     IReturnCalendarService returnCalendarService)
     : base(contextFactory, returnCalendarService, emailTemplateManager)
 {
     _contextFactory       = contextFactory;
     _dateTimeProvider     = dateTimeProvider;
     _emailNotifier        = emailNotifier;
     _fileUploadJobManager = fileUploadJobManager;
     _emailTemplateManager = emailTemplateManager;
     _logger = logger;
 }
コード例 #15
0
        public async Task AddJobMetaData_Success_Values()
        {
            IContainer    container = Registrations();
            FileUploadJob savedJob;

            using (var scope = container.BeginLifetimeScope())
            {
                // Create the schema in the database
                var options = scope.Resolve <DbContextOptions <JobQueueDataContext> >();
                using (var context = new JobQueueDataContext(options))
                {
                    context.Database.EnsureCreated();
                }

                FileUploadJob job = new FileUploadJob()
                {
                    JobId            = 1,
                    Ukprn            = 1000,
                    FileName         = "test.xml",
                    StorageReference = "test-ref",
                    FileSize         = 10.5m,
                    IsFirstStage     = true,
                    CollectionName   = "ILR1718",
                    PeriodNumber     = 10,
                    TermsAccepted    = true,
                    CollectionYear   = 1819
                };

                IFileUploadJobManager manager = scope.Resolve <IFileUploadJobManager>();
                await manager.AddJob(job);

                savedJob = await manager.GetJobById(1);
            }

            savedJob.Should().NotBeNull();
            savedJob.JobId.Should().Be(1);
            savedJob.Ukprn.Should().Be(1000);
            savedJob.FileName.Should().Be("test.xml");
            savedJob.FileSize.Should().Be(10.5m);
            savedJob.StorageReference.Should().Be("test-ref");
            savedJob.IsFirstStage.Should().Be(true);
            savedJob.CollectionName.Should().Be("ILR1718");
            savedJob.PeriodNumber.Should().Be(10);
            savedJob.TermsAccepted.Should().Be(true);
            savedJob.CollectionYear.Should().Be(1819);
        }
コード例 #16
0
        public async Task UpdateJob_Fail_InvalidJobId()
        {
            IContainer container = Registrations();

            using (var scope = container.BeginLifetimeScope())
            {
                // Create the schema in the database
                var options = scope.Resolve <DbContextOptions <JobQueueDataContext> >();
                using (var context = new JobQueueDataContext(options))
                {
                    context.Database.EnsureCreated();
                }

                IFileUploadJobManager manager = scope.Resolve <IFileUploadJobManager>();
                await Assert.ThrowsAsync <ArgumentException>(() => manager.UpdateJobStage(100, false));
            }
        }
コード例 #17
0
        public async Task GetLatestJobsPerPeriodByUkprn_Success()
        {
            IContainer           container = Registrations();
            List <FileUploadJob> result;

            using (var scope = container.BeginLifetimeScope())
            {
                // Create the schema in the database
                var options = scope.Resolve <DbContextOptions <JobQueueDataContext> >();
                using (var context = new JobQueueDataContext(options))
                {
                    context.Database.EnsureCreated();
                }

                IFileUploadJobManager manager = scope.Resolve <IFileUploadJobManager>();

                await manager.AddJob(new FileUploadJob()
                {
                    JobId                = 1,
                    JobType              = JobType.EsfSubmission,
                    Ukprn                = 10000116,
                    FileName             = "esf.csv",
                    CollectionName       = "ESF",
                    CollectionYear       = 1819,
                    Status               = JobStatusType.Completed,
                    PeriodNumber         = 1,
                    DateTimeSubmittedUtc = DateTime.Now.AddMinutes(-10),
                });

                await manager.AddJob(new FileUploadJob()
                {
                    JobId                = 2,
                    JobType              = JobType.EasSubmission,
                    Ukprn                = 10000116,
                    FileName             = "eas.csv",
                    CollectionName       = "EAS",
                    CollectionYear       = 1819,
                    PeriodNumber         = 1,
                    Status               = JobStatusType.Completed,
                    DateTimeSubmittedUtc = DateTime.Now.AddMinutes(-10),
                });

                await manager.AddJob(new FileUploadJob()
                {
                    JobId          = 3,
                    Ukprn          = 10000116,
                    FileName       = "ilr1819.xml",
                    CollectionName = "ILR1819",
                    CollectionYear = 1819,
                    PeriodNumber   = 1,
                    JobType        = JobType.IlrSubmission,
                    Status         = JobStatusType.Completed,
                });

                await manager.AddJob(new FileUploadJob()
                {
                    JobId          = 4,
                    Ukprn          = 10000116,
                    FileName       = "ilr1718.xml",
                    CollectionName = "ILR1718",
                    CollectionYear = 1718,
                    PeriodNumber   = 1,
                    JobType        = JobType.IlrSubmission,
                    Status         = JobStatusType.Completed,
                });

                await manager.AddJob(new FileUploadJob()
                {
                    JobId                = 5,
                    Ukprn                = 10000116,
                    FileName             = "ilr_latest_not_completed.xml",
                    CollectionName       = "ILR1819",
                    CollectionYear       = 1819,
                    PeriodNumber         = 1,
                    JobType              = JobType.IlrSubmission,
                    Status               = JobStatusType.Failed,
                    DateTimeSubmittedUtc = DateTime.Now.AddMinutes(-50),
                });

                result =
                    (await manager.GetLatestJobsPerPeriodByUkprn(10000116, DateTime.Now.AddDays(-1), DateTime.Now))
                    .ToList();
            }

            result.Should().NotBeNull();
            result.Count.Should().Be(4);
            result.Single(x => x.JobType == JobType.EsfSubmission && x.JobId == 1 && x.FileName == "esf.csv").Should().NotBeNull();
            result.Single(x => x.JobType == JobType.EasSubmission && x.JobId == 2 && x.FileName == "eas.csv").Should().NotBeNull();
            result.Single(x => x.JobType == JobType.IlrSubmission && x.JobId == 3 && x.FileName == "ilr1819.xml" && x.CollectionYear == 1819).Should().NotBeNull();
            result.Single(x => x.JobType == JobType.IlrSubmission && x.JobId == 4 && x.FileName == "ilr1718.xml" && x.CollectionYear == 1718).Should().NotBeNull();
        }