Beispiel #1
0
        public async Task GenerateWorkflowsAsync(int workflowCount = 25, int tekPerWorkflowCount = 4)
        {
            var workflowConfigMock = new Mock <IWorkflowConfig>(MockBehavior.Strict);

            workflowConfigMock.Setup(x => x.TimeToLiveMinutes).Returns(10000);
            workflowConfigMock.Setup(x => x.PermittedMobileDeviceClockErrorMinutes).Returns(30);

            var luhnModNConfig    = new LuhnModNConfig();
            var luhnModNGenerator = new LuhnModNGenerator(luhnModNConfig);

            Func <TekReleaseWorkflowStateCreateV2> createWf = () =>
                                                              new TekReleaseWorkflowStateCreateV2(
                _workflowDbContextProvider.CreateNewWithTx(),
                _utcDateTimeProvider,
                _rng,
                new TekReleaseWorkflowTime(workflowConfigMock.Object),
                new RegisterSecretLoggingExtensionsV2(_loggerFactory.CreateLogger <RegisterSecretLoggingExtensionsV2>()),
                luhnModNConfig,
                luhnModNGenerator
                );

            var gen = new GenerateTeksCommand(_rng, _workflowDbContextProvider.CreateNewWithTx, createWf);
            await gen.ExecuteAsync(new GenerateTeksCommandArgs { WorkflowCount = workflowCount, TekCountPerWorkflow = tekPerWorkflowCount });

            if (workflowCount != _workflowDbContextProvider.CreateNew().KeyReleaseWorkflowStates.Count())
            {
                throw new InvalidOperationException();
            }

            if (workflowCount * tekPerWorkflowCount != _workflowDbContextProvider.CreateNew().TemporaryExposureKeys.Count())
            {
                throw new InvalidOperationException();
            }
        }
        public async Task GenerateWorkflowsAsync(int workflowCount = 25, int tekPerWOrkflowCount = 4)
        {
            var m1 = new Mock <IWorkflowConfig>(MockBehavior.Strict);

            m1.Setup(x => x.TimeToLiveMinutes).Returns(10000);
            m1.Setup(x => x.PermittedMobileDeviceClockErrorMinutes).Returns(30);

            Func <TekReleaseWorkflowStateCreate> createWf = () =>
                                                            new TekReleaseWorkflowStateCreate(_WorkflowDbContextProvider.CreateNewWithTx(),
                                                                                              _UtcDateTimeProvider, _Rng,
                                                                                              new LabConfirmationIdService(_Rng),
                                                                                              new TekReleaseWorkflowTime(m1.Object),
                                                                                              m1.Object,
                                                                                              new RegisterSecretLoggingExtensions(_LoggerFactory.CreateLogger <RegisterSecretLoggingExtensions>())
                                                                                              );

            var gen = new GenerateTeksCommand(_Rng, _WorkflowDbContextProvider.CreateNewWithTx, createWf);
            await gen.ExecuteAsync(new GenerateTeksCommandArgs { WorkflowCount = workflowCount, TekCountPerWorkflow = tekPerWOrkflowCount });

            if (workflowCount != _WorkflowDbContextProvider.CreateNew().KeyReleaseWorkflowStates.Count())
            {
                throw new InvalidOperationException();
            }
            if (workflowCount * tekPerWOrkflowCount != _WorkflowDbContextProvider.CreateNew().TemporaryExposureKeys.Count())
            {
                throw new InvalidOperationException();
            }
        }