Exemple #1
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();
        }
Exemple #2
0
        public IActionResult GetLatestJob(long ukprn, string collectionName)
        {
            _logger.LogInfo($"Request received to get the with ukprn: {ukprn}, collection name :{collectionName}");

            if (ukprn == 0 || string.IsNullOrEmpty(collectionName))
            {
                _logger.LogWarning($"Request received with ukprn {ukprn}, collection name :{collectionName}, returning bad request");
                return(BadRequest());
            }

            var job = _fileUploadJobManager.GetLatestJobByUkprn(ukprn, collectionName);

            _logger.LogInfo($"Returning job successfully for ukprn :{ukprn}");
            return(Ok(job));
        }