public TransactionFactory(ILogger logger, ITransactionResiliencePolicies transactionResiliencePolicies) { Guard.ArgumentNotNull(logger, nameof(logger)); Guard.ArgumentNotNull(transactionResiliencePolicies, nameof(transactionResiliencePolicies)); _logger = logger; _transactionResiliencePolicies = transactionResiliencePolicies; }
public Transaction(ILogger logger, ITransactionResiliencePolicies transactionResiliencePolicies, string transactionName) { Guard.ArgumentNotNull(logger, nameof(logger)); Guard.ArgumentNotNull(transactionResiliencePolicies, nameof(transactionResiliencePolicies)); Guard.ArgumentNotNull(transactionResiliencePolicies.TransactionPolicy, nameof(transactionResiliencePolicies.TransactionPolicy)); Guard.IsNullOrWhiteSpace(transactionName, nameof(transactionName)); _functions = new ConcurrentBag <Func <Task> >(); _logger = logger; _transactionPolicy = transactionResiliencePolicies.TransactionPolicy; _transactionName = transactionName; }
public void SetUp() { _logger = Substitute.For <ILogger>(); _jobManagement = Substitute.For <IJobManagement>(); _jobsRunning = Substitute.For <IJobsRunning>(); _prerequisiteCheckerLocator = Substitute.For <IPrerequisiteCheckerLocator>(); _prerequisiteCheckerLocator.GetPreReqChecker(PrerequisiteCheckerType.ApproveAllProviders) .Returns(new ApproveAllProvidersPrerequisiteChecker(_jobsRunning, _jobManagement, _logger)); _prerequisiteCheckerLocator.GetPreReqChecker(PrerequisiteCheckerType.ApproveBatchProviders) .Returns(new ApproveBatchProvidersPrerequisiteChecker(_jobsRunning, _jobManagement, _logger)); _publishedFundingDataService = Substitute.For <IPublishedFundingDataService>(); _publishedProviderStatusUpdateService = Substitute.For <IPublishedProviderStatusUpdateService>(); _publishedProviderIndexerService = Substitute.For <IPublishedProviderIndexerService>(); _generateCsvJobsLocator = Substitute.For <IGeneratePublishedFundingCsvJobsCreationLocator>(); _transactionResiliencePolicies = new TransactionResiliencePolicies { TransactionPolicy = Policy.NoOpAsync() }; _transactionFactory = new TransactionFactory(_logger, _transactionResiliencePolicies); _publishedProviderVersionService = Substitute.For <IPublishedProviderVersionService>(); _approveService = new ApproveService(_publishedProviderStatusUpdateService, _publishedFundingDataService, _publishedProviderIndexerService, new ResiliencePolicies { PublishedFundingRepository = Policy.NoOpAsync() }, _prerequisiteCheckerLocator, _jobManagement, _logger, _transactionFactory, _publishedProviderVersionService, _generateCsvJobsLocator); _jobId = NewRandomString(); _correlationId = NewRandomString(); _userId = NewRandomString(); _userName = NewRandomString(); _message = new Message(); SetUserProperty("user-id", _userId); SetUserProperty("user-name", _userName); SetUserProperty("jobId", null); _publishedFundingDataService.GetPublishedProvidersForApproval(Arg.Any <string>(), Arg.Any <string[]>()) .Returns(new[] { new PublishedProvider() }); }