protected WfToEksEksBatchJobMk3Tests(IDbProvider <WorkflowDbContext> workflowFac, IDbProvider <DkSourceDbContext> dkSourceFac, IDbProvider <EksPublishingJobDbContext> publishingFac, IDbProvider <ContentDbContext> contentFac, IWrappedEfExtensions efExtensions) { _workflowFac = workflowFac ?? throw new ArgumentNullException(nameof(workflowFac)); _dkSourceDbProvider = dkSourceFac ?? throw new ArgumentNullException(nameof(dkSourceFac)); _eksPublishingJobDbProvider = publishingFac ?? throw new ArgumentNullException(nameof(publishingFac)); _contentDbProvider = contentFac ?? throw new ArgumentNullException(nameof(contentFac)); _efExtensions = efExtensions ?? throw new ArgumentNullException(nameof(efExtensions)); _dateTimeProvider = new StandardUtcDateTimeProvider(); _fakeEksConfig = new FakeEksConfig { LifetimeDays = 14, PageSize = 1000, TekCountMax = 10, TekCountMin = 5 }; _lf = new LoggerFactory(); _snapshot = new SnapshotWorkflowTeksToDksCommand(_lf.CreateLogger <SnapshotWorkflowTeksToDksCommand>(), new StandardUtcDateTimeProvider(), new TransmissionRiskLevelCalculationMk2(), _workflowFac.CreateNew(), _workflowFac.CreateNew, _dkSourceDbProvider.CreateNew, _efExtensions, new IDiagnosticKeyProcessor[0] ); }
protected TekToDkSnapshotTests(IDbProvider <WorkflowDbContext> workflowFac, IDbProvider <DkSourceDbContext> dkSourceFac, IWrappedEfExtensions efExtensions) { _WorkflowDbProvider = workflowFac ?? throw new ArgumentNullException(nameof(workflowFac)); _DkSourceDbProvider = dkSourceFac ?? throw new ArgumentNullException(nameof(dkSourceFac)); _EfExtensions = efExtensions ?? throw new ArgumentNullException(nameof(efExtensions)); _DateTimeProvider = new Mock <IUtcDateTimeProvider>(); _OutboundCountries = new Mock <IOutboundFixedCountriesOfInterestSetting>(MockBehavior.Strict); _Lf = new LoggerFactory(); }
protected WfToDkSnapshotTests(IDbProvider <WorkflowDbContext> workflowFac, IDbProvider <DkSourceDbContext> dkSourceFac, IWrappedEfExtensions efExtensions) { _workflowDbProvider = workflowFac ?? throw new ArgumentNullException(nameof(workflowFac)); _dkSourceDbProvider = dkSourceFac ?? throw new ArgumentNullException(nameof(dkSourceFac)); _efExtensions = efExtensions ?? throw new ArgumentNullException(nameof(efExtensions)); _dateTimeProvider = new Mock <IUtcDateTimeProvider>(); _lf = new LoggerFactory(); }
public SnapshotWorkflowTeksToDksCommand(ILogger <SnapshotWorkflowTeksToDksCommand> logger, IUtcDateTimeProvider dateTimeProvider, ITransmissionRiskLevelCalculationMk2 transmissionRiskLevelCalculation, WorkflowDbContext workflowDbContext, Func <WorkflowDbContext> workflowDbContextFactory, Func <DkSourceDbContext> dkSourceDbContextFactory, IWrappedEfExtensions sqlCommands, IDiagnosticKeyProcessor[] orderedProcessorList) { _logger = logger ?? throw new ArgumentNullException(nameof(logger)); _dateTimeProvider = dateTimeProvider ?? throw new ArgumentNullException(nameof(dateTimeProvider)); _transmissionRiskLevelCalculation = transmissionRiskLevelCalculation ?? throw new ArgumentNullException(nameof(transmissionRiskLevelCalculation)); _workflowDbContext = workflowDbContext ?? throw new ArgumentNullException(nameof(workflowDbContext)); _workflowDbContextFactory = workflowDbContextFactory ?? throw new ArgumentNullException(nameof(workflowDbContextFactory)); _dkSourceDbContextFactory = dkSourceDbContextFactory ?? throw new ArgumentNullException(nameof(dkSourceDbContextFactory)); _sqlCommands = sqlCommands ?? throw new ArgumentNullException(nameof(sqlCommands)); _orderedProcessorList = orderedProcessorList ?? throw new ArgumentNullException(nameof(orderedProcessorList)); }
public ExposureKeySetBatchJobMk3(IEksConfig eksConfig, IEksBuilder builder, Func <EksPublishingJobDbContext> publishingDbContextFac, IUtcDateTimeProvider dateTimeProvider, EksEngineLoggingExtensions logger, IEksStuffingGeneratorMk2 eksStuffingGenerator, ISnapshotEksInput snapshotter, MarkDiagnosisKeysAsUsedLocally markDiagnosisKeysAsUsed, IEksJobContentWriter contentWriter, IWriteStuffingToDiagnosisKeys writeStuffingToDiagnosisKeys, IWrappedEfExtensions sqlCommands) { _EksConfig = eksConfig ?? throw new ArgumentNullException(nameof(eksConfig)); _SetBuilder = builder ?? throw new ArgumentNullException(nameof(builder)); _PublishingDbContextFac = publishingDbContextFac ?? throw new ArgumentNullException(nameof(publishingDbContextFac)); _DateTimeProvider = dateTimeProvider ?? throw new ArgumentNullException(nameof(dateTimeProvider)); _EksStuffingGenerator = eksStuffingGenerator ?? throw new ArgumentNullException(nameof(eksStuffingGenerator)); _Snapshotter = snapshotter; _Logger = logger ?? throw new ArgumentNullException(nameof(logger)); _MarkWorkFlowTeksAsUsed = markDiagnosisKeysAsUsed ?? throw new ArgumentNullException(nameof(markDiagnosisKeysAsUsed)); _ContentWriter = contentWriter ?? throw new ArgumentNullException(nameof(contentWriter)); _Output = new List <EksCreateJobInputEntity>(_EksConfig.TekCountMax); _WriteStuffingToDiagnosisKeys = writeStuffingToDiagnosisKeys ?? throw new ArgumentNullException(nameof(writeStuffingToDiagnosisKeys)); _JobName = $"ExposureKeySetsJob_{_DateTimeProvider.Snapshot:u}".Replace(" ", "_").Replace(":", "_"); _SqlCommands = sqlCommands ?? throw new ArgumentNullException(nameof(sqlCommands)); }
public IksEngine(ILogger <IksEngine> logger, IksInputSnapshotCommand snapshotter, IksFormatter formatter, IIksConfig config, IUtcDateTimeProvider dateTimeProvider, MarkDiagnosisKeysAsUsedByIks markSourceAsUsed, IksJobContentWriter contentWriter, Func <IksPublishingJobDbContext> publishingDbContextFac, IWrappedEfExtensions sqlCommands) { _logger = logger ?? throw new ArgumentNullException(nameof(logger)); _snapshotter = snapshotter ?? throw new ArgumentNullException(nameof(snapshotter)); _formatter = formatter ?? throw new ArgumentNullException(nameof(formatter)); _config = config ?? throw new ArgumentNullException(nameof(config)); _dateTimeProvider = dateTimeProvider ?? throw new ArgumentNullException(nameof(dateTimeProvider)); _markSourceAsUsed = markSourceAsUsed ?? throw new ArgumentNullException(nameof(markSourceAsUsed)); _contentWriter = contentWriter ?? throw new ArgumentNullException(nameof(contentWriter)); _publishingDbContextFac = publishingDbContextFac ?? throw new ArgumentNullException(nameof(publishingDbContextFac)); _sqlCommands = sqlCommands ?? throw new ArgumentNullException(nameof(sqlCommands)); _jobName = "IksEngine"; }
public WorkflowTestDataGenerator(IDbProvider <WorkflowDbContext> workflowDbContextProvider, IDbProvider <DkSourceDbContext> dkSourceDbContextProvider, IWrappedEfExtensions efExtensions) { _workflowDbContextProvider = workflowDbContextProvider ?? throw new ArgumentNullException(nameof(workflowDbContextProvider)); _dkSourceDbContextProvider = dkSourceDbContextProvider ?? throw new ArgumentNullException(nameof(dkSourceDbContextProvider)); _efExtensions = efExtensions ?? throw new ArgumentNullException(nameof(efExtensions)); }
public EksEngineTests(IDbProvider <WorkflowDbContext> workflowDbProvider, IDbProvider <DkSourceDbContext> dkSourceDbProvider, IDbProvider <EksPublishingJobDbContext> eksPublishingJobDbProvider, IDbProvider <ContentDbContext> contentDbProvider, IWrappedEfExtensions efExtensions) { _lf = new LoggerFactory(); _efExtensions = efExtensions; _workflowDbProvider = workflowDbProvider; _dkSourceDbProvider = dkSourceDbProvider; _eksPublishingJobDbProvider = eksPublishingJobDbProvider; _contentDbProvider = contentDbProvider; // Configuration var eksHeaderConfig = new Mock <IEksHeaderInfoConfig>(MockBehavior.Strict); var eksConfig = new Mock <IEksConfig>(MockBehavior.Strict); eksConfig.Setup(x => x.TekCountMax).Returns(750000); eksConfig.Setup(x => x.LifetimeDays).Returns(14); var gaSigner = new Mock <IGaContentSigner>(MockBehavior.Strict); gaSigner.Setup(x => x.GetSignature(It.IsAny <byte[]>())).Returns(new byte[] { 1 }); var nlSigner = new Mock <IContentSigner>(MockBehavior.Loose); nlSigner.Setup(x => x.GetSignature(new byte[0])).Returns(new byte[] { 2 }); _snapshot = new SnapshotWorkflowTeksToDksCommand( _lf.CreateLogger <SnapshotWorkflowTeksToDksCommand>(), _dtp, new TransmissionRiskLevelCalculationMk2(), _workflowDbProvider.CreateNew(), _workflowDbProvider.CreateNew, _dkSourceDbProvider.CreateNew, _efExtensions, new IDiagnosticKeyProcessor[] { } ); var countriesOut = new Mock <IOutboundFixedCountriesOfInterestSetting>(); countriesOut.Setup(x => x.CountriesOfInterest).Returns(new[] { "ET" }); _rng = new StandardRandomNumberGenerator(); _eksJob = new ExposureKeySetBatchJobMk3( eksConfig.Object, new EksBuilderV1(eksHeaderConfig.Object, gaSigner.Object, nlSigner.Object, _dtp, new GeneratedProtobufEksContentFormatter(), new EksBuilderV1LoggingExtensions(_lf.CreateLogger <EksBuilderV1LoggingExtensions>()) ), _eksPublishingJobDbProvider.CreateNew, _dtp, new EksEngineLoggingExtensions(_lf.CreateLogger <EksEngineLoggingExtensions>()), new EksStuffingGeneratorMk2(new TransmissionRiskLevelCalculationMk2(), _rng, _dtp, eksConfig.Object), new SnapshotDiagnosisKeys(new SnapshotLoggingExtensions(new TestLogger <SnapshotLoggingExtensions>()), _dkSourceDbProvider.CreateNew(), _eksPublishingJobDbProvider.CreateNew, new Infectiousness(new Dictionary <InfectiousPeriodType, HashSet <int> > { { InfectiousPeriodType.Symptomatic, new HashSet <int>() { -2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 } }, { InfectiousPeriodType.Asymptomatic, new HashSet <int>() { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 } } })), new MarkDiagnosisKeysAsUsedLocally(_dkSourceDbProvider.CreateNew, eksConfig.Object, _eksPublishingJobDbProvider.CreateNew, _lf.CreateLogger <MarkDiagnosisKeysAsUsedLocally>()), new EksJobContentWriter(_contentDbProvider.CreateNew, _eksPublishingJobDbProvider.CreateNew, new Sha256HexPublishingIdService(), new EksJobContentWriterLoggingExtensions(_lf.CreateLogger <EksJobContentWriterLoggingExtensions>())), new WriteStuffingToDiagnosisKeys(_dkSourceDbProvider.CreateNew(), _eksPublishingJobDbProvider.CreateNew(), new IDiagnosticKeyProcessor[] { new FixedCountriesOfInterestOutboundDiagnosticKeyProcessor(countriesOut.Object), new NlToEfgsDsosDiagnosticKeyProcessorMk1() } ), _efExtensions ); var jsonSerializer = new StandardJsonSerializer(); _manifestJob = new ManifestUpdateCommand( new ManifestV2Builder(_contentDbProvider.CreateNew(), eksConfig.Object, _dtp), new ManifestV3Builder(_contentDbProvider.CreateNew(), eksConfig.Object, _dtp), new ManifestV4Builder(_contentDbProvider.CreateNew(), eksConfig.Object, _dtp), _contentDbProvider.CreateNew, new ManifestUpdateCommandLoggingExtensions(_lf.CreateLogger <ManifestUpdateCommandLoggingExtensions>()), _dtp, jsonSerializer, () => new StandardContentEntityFormatter(new ZippedSignedContentFormatter(nlSigner.Object), new Sha256HexPublishingIdService(), jsonSerializer) ); var thumbprintConfig = new Mock <IThumbprintConfig>(MockBehavior.Strict); _resign = new NlContentResignExistingV1ContentCommand( new NlContentResignCommand(_contentDbProvider.CreateNew, nlSigner.Object, new ResignerLoggingExtensions(_lf.CreateLogger <ResignerLoggingExtensions>()))); }
protected IksEngineTest(IDbProvider <WorkflowDbContext> workflowDbContextProvider, IDbProvider <IksInDbContext> iksInDbContextProvider, IDbProvider <DkSourceDbContext> dkSourceDbContextProvider, IDbProvider <IksPublishingJobDbContext> iksPublishingJobDbContextProvider, IDbProvider <IksOutDbContext> iksOutDbContextProvider, IWrappedEfExtensions efExtensions) { _IksInDbContextProvider = iksInDbContextProvider ?? throw new ArgumentNullException(nameof(iksInDbContextProvider)); _DkSourceDbContextProvider = dkSourceDbContextProvider ?? throw new ArgumentNullException(nameof(dkSourceDbContextProvider)); _IksPublishingJobDbContextProvider = iksPublishingJobDbContextProvider ?? throw new ArgumentNullException(nameof(iksPublishingJobDbContextProvider)); _IksOutDbContextProvider = iksOutDbContextProvider ?? throw new ArgumentNullException(nameof(iksOutDbContextProvider)); _WorkflowDbContextProvider = workflowDbContextProvider ?? throw new ArgumentNullException(nameof(workflowDbContextProvider)); _EfExtensions = efExtensions ?? throw new ArgumentNullException(nameof(efExtensions)); }
protected EksBatchJobMk3Tests(IDbProvider <WorkflowDbContext> workflowFac, IDbProvider <DkSourceDbContext> dkSourceFac, IDbProvider <EksPublishingJobDbContext> publishingFac, IDbProvider <ContentDbContext> contentFac, IWrappedEfExtensions efExtensions) { _WorkflowFac = workflowFac ?? throw new ArgumentNullException(nameof(workflowFac)); _DkSourceDbProvider = dkSourceFac ?? throw new ArgumentNullException(nameof(dkSourceFac)); _EksPublishingJobDbProvider = publishingFac ?? throw new ArgumentNullException(nameof(publishingFac)); _ContentDbProvider = contentFac ?? throw new ArgumentNullException(nameof(contentFac)); _EfExtensions = efExtensions ?? throw new ArgumentNullException(nameof(efExtensions)); _DateTimeProvider = new StandardUtcDateTimeProvider(); _FakeEksConfig = new FakeEksConfig { LifetimeDays = 14, PageSize = 1000, TekCountMax = 10, TekCountMin = 5 }; _Lf = new LoggerFactory(); _EksEngineLogger = new EksEngineLoggingExtensions(_Lf.CreateLogger <EksEngineLoggingExtensions>()); _SnapshotLogger = new SnapshotLoggingExtensions(_Lf.CreateLogger <SnapshotLoggingExtensions>()); _ContentWriterLogger = new EksJobContentWriterLoggingExtensions(_Lf.CreateLogger <EksJobContentWriterLoggingExtensions>()); _WorkflowTeksMarkerLogger = new MarkWorkFlowTeksAsUsedLoggingExtensions(_Lf.CreateLogger <MarkWorkFlowTeksAsUsedLoggingExtensions>()); _Snapshot = new SnapshotWorkflowTeksToDksCommand(_Lf.CreateLogger <SnapshotWorkflowTeksToDksCommand>(), new StandardUtcDateTimeProvider(), new TransmissionRiskLevelCalculationMk2(), _WorkflowFac.CreateNew(), _WorkflowFac.CreateNew, _DkSourceDbProvider.CreateNew, _EfExtensions, new IDiagnosticKeyProcessor[] { } ); _OutboundCountriesMock = new Mock <IOutboundFixedCountriesOfInterestSetting>(); _OutboundCountriesMock.Setup(x => x.CountriesOfInterest).Returns(new [] { "CY", "BG" }); }
public EksEngineTests(IDbProvider <WorkflowDbContext> workflowDbProvider, IDbProvider <DkSourceDbContext> dkSourceDbProvider, IDbProvider <EksPublishingJobDbContext> eksPublishingJobDbProvider, IDbProvider <ContentDbContext> contentDbProvider, IWrappedEfExtensions efExtensions) { _Lf = new LoggerFactory(); _EfExtensions = efExtensions; _WorkflowDbProvider = workflowDbProvider; _DkSourceDbProvider = dkSourceDbProvider; _EksPublishingJobDbProvider = eksPublishingJobDbProvider; _ContentDbProvider = contentDbProvider; ////Configuration var tekValidatorConfig = new Mock <ITekValidatorConfig>(MockBehavior.Strict); var eksHeaderConfig = new Mock <IEksHeaderInfoConfig>(MockBehavior.Strict); var eksConfig = new Mock <IEksConfig>(MockBehavior.Strict); eksConfig.Setup(x => x.TekCountMax).Returns(750000); eksConfig.Setup(x => x.LifetimeDays).Returns(14); var gaSigner = new Mock <IGaContentSigner>(MockBehavior.Strict); //gaSigner.Setup(x => x.SignatureOid).Returns("The OID"); gaSigner.Setup(x => x.GetSignature(It.IsAny <byte[]>())).Returns(new byte[] { 1 }); var nlSigner = new Mock <IContentSigner>(MockBehavior.Loose); nlSigner.Setup(x => x.GetSignature(new byte[0])).Returns(new byte[] { 2 }); _Snapshot = new SnapshotWorkflowTeksToDksCommand( _Lf.CreateLogger <SnapshotWorkflowTeksToDksCommand>(), _Dtp, new TransmissionRiskLevelCalculationMk2(), _WorkflowDbProvider.CreateNew(), _WorkflowDbProvider.CreateNew, _DkSourceDbProvider.CreateNew, _EfExtensions, new IDiagnosticKeyProcessor[] { }); _CountriesOut = new Mock <IOutboundFixedCountriesOfInterestSetting>(); _CountriesOut.Setup(x => x.CountriesOfInterest).Returns(new[] { "ET" }); _Rng = new StandardRandomNumberGenerator(); _EksJob = new ExposureKeySetBatchJobMk3( eksConfig.Object, new EksBuilderV1(eksHeaderConfig.Object, gaSigner.Object, nlSigner.Object, _Dtp, new GeneratedProtobufEksContentFormatter(), new EksBuilderV1LoggingExtensions(_Lf.CreateLogger <EksBuilderV1LoggingExtensions>()) ), _EksPublishingJobDbProvider.CreateNew, _Dtp, new EksEngineLoggingExtensions(_Lf.CreateLogger <EksEngineLoggingExtensions>()), new EksStuffingGeneratorMk2(new TransmissionRiskLevelCalculationMk2(), _Rng, _Dtp, eksConfig.Object), new SnapshotDiagnosisKeys(new SnapshotLoggingExtensions(new TestLogger <SnapshotLoggingExtensions>()), _DkSourceDbProvider.CreateNew(), _EksPublishingJobDbProvider.CreateNew), new MarkDiagnosisKeysAsUsedLocally(_DkSourceDbProvider.CreateNew, eksConfig.Object, _EksPublishingJobDbProvider.CreateNew, _Lf.CreateLogger <MarkDiagnosisKeysAsUsedLocally>()), new EksJobContentWriter(_ContentDbProvider.CreateNew, _EksPublishingJobDbProvider.CreateNew, new Sha256HexPublishingIdService(), new EksJobContentWriterLoggingExtensions(_Lf.CreateLogger <EksJobContentWriterLoggingExtensions>())), new WriteStuffingToDiagnosisKeys(_DkSourceDbProvider.CreateNew(), _EksPublishingJobDbProvider.CreateNew(), new IDiagnosticKeyProcessor[] { new FixedCountriesOfInterestOutboundDiagnosticKeyProcessor(_CountriesOut.Object), new NlToEfgsDsosDiagnosticKeyProcessorMk1() } ), _EfExtensions ); var jsonSerializer = new StandardJsonSerializer(); _ManifestJob = new ManifestUpdateCommand( new ManifestBuilder(_ContentDbProvider.CreateNew(), eksConfig.Object, _Dtp), new ManifestBuilderV3(_ContentDbProvider.CreateNew(), eksConfig.Object, _Dtp), new ManifestBuilderV4(_ContentDbProvider.CreateNew(), eksConfig.Object, _Dtp), _ContentDbProvider.CreateNew, new ManifestUpdateCommandLoggingExtensions(_Lf.CreateLogger <ManifestUpdateCommandLoggingExtensions>()), _Dtp, jsonSerializer, new StandardContentEntityFormatter(new ZippedSignedContentFormatter(nlSigner.Object), new Sha256HexPublishingIdService(), jsonSerializer), () => new StandardContentEntityFormatter(new ZippedSignedContentFormatter(nlSigner.Object), new Sha256HexPublishingIdService(), jsonSerializer) ); var thumbmprintConfig = new Mock <IThumbprintConfig>(MockBehavior.Strict); _Resign = new NlContentResignExistingV1ContentCommand( new NlContentResignCommand(_ContentDbProvider.CreateNew, nlSigner.Object, new ResignerLoggingExtensions(_Lf.CreateLogger <ResignerLoggingExtensions>()))); }