Exemple #1
0
        public void BuildPackageContentV2TestShouldReturnCorrectPackageContentForAllOrigin()
        {
            var startDate             = DateTime.UtcNow;
            var firstMockedKeyPackage = new List <TemporaryExposureKey>()
            {
                new TemporaryExposureKey(), new TemporaryExposureKey()
            };
            var secondMockedKeyPackage = new List <TemporaryExposureKey>()
            {
                new TemporaryExposureKey()
            };
            var firstPackageContent  = new byte[] { 1, 2, 3, 4 };
            var secondPackageContent = new byte[] { 1, 2, 3, 4 };
            var maxKeysPerFile       = 2;

            _temporaryExposureKeyRepository.Setup(x => x.GetAllTemporaryExposureKeysForPeriodNextBatch(startDate, 0, 2)).Returns(firstMockedKeyPackage);
            _temporaryExposureKeyRepository.Setup(x => x.GetAllTemporaryExposureKeysForPeriodNextBatch(startDate, 2, 2)).Returns(secondMockedKeyPackage);
            _temporaryExposureKeyRepository.Setup(x => x.GetAllTemporaryExposureKeysForPeriodNextBatch(startDate, 3, 2)).Returns(new List <TemporaryExposureKey>());
            _keysListToMemoryStreamConverter.Setup(x => x.ConvertKeysToMemoryStream(firstMockedKeyPackage)).Returns(firstPackageContent);
            _keysListToMemoryStreamConverter.Setup(x => x.ConvertKeysToMemoryStream(secondMockedKeyPackage)).Returns(secondPackageContent);

            ConstructPackageBuilderService(new AppSettingsConfig()
            {
                MaxKeysPerFile = maxKeysPerFile
            });

            var result = _packageBuilderService.BuildPackageContentV2(startDate, ZipFileOrigin.All.ToString());

            Assert.AreEqual(result.Count, 2);
            Assert.AreEqual(result[0], firstPackageContent);
            Assert.AreEqual(result[1], secondPackageContent);
        }
Exemple #2
0
 private void HandleZipFilesForOrigin(string originPostfix, DateTime packageBeginDateTime)
 {
     try
     {
         foreach (var _rootZipFilesFolder in _rootZipFilesFolders)
         {
             _currentZipFilesFolder = _fileSystem.JoinPaths(_rootZipFilesFolder, originPostfix.ToString());
             //We get rid of any files that has been created but not renamed. This would be the case if any exception occurred during creation of any zip file
             ClearTemporaryFiles(_currentZipFilesFolder);
             string[] paths            = _fileSystem.GetFilenamesFromDirectory(_currentZipFilesFolder);
             int      nextBatchNumber  = _zipFileInfoService.GetNextBatchNumberForGivenDay(paths, _currentDateTime);
             var      zipFilesContents = _packageBuilder.BuildPackageContentV2(packageBeginDateTime, originPostfix);
             CreateZipFiles(originPostfix, zipFilesContents, nextBatchNumber);
         }
     }
     catch (SecurityException e)
     {
         throw new SecurityException($"Failed to create zip files due to a detection of a security error.", e);
     }
     catch (Exception e)
     {
         throw new Exception($"Failed to create zip files for origin: {originPostfix} and date: {packageBeginDateTime}", innerException: e);
     }
 }