public CalculationAggregationService( ICacheProvider cacheProvider, IDatasetAggregationsRepository datasetAggregationsRepository, EngineSettings engineSettings, ICalculatorResiliencePolicies resiliencePolicies) { Guard.ArgumentNotNull(cacheProvider, nameof(cacheProvider)); Guard.ArgumentNotNull(datasetAggregationsRepository, nameof(datasetAggregationsRepository)); Guard.ArgumentNotNull(engineSettings, nameof(engineSettings)); Guard.ArgumentNotNull(resiliencePolicies, nameof(resiliencePolicies)); Guard.ArgumentNotNull(resiliencePolicies.CacheProvider, nameof(resiliencePolicies.CacheProvider)); _cacheProvider = cacheProvider; _datasetAggregationsRepository = datasetAggregationsRepository; _engineSettings = engineSettings; _cacheProviderPolicy = resiliencePolicies.CacheProvider; }
public void Initialize() { _mockCacheProvider = Substitute.For <ICacheProvider>(); _mockDatasetAggregationsRepository = Substitute.For <IDatasetAggregationsRepository>(); _mockResiliencePolicies = new CalculatorResiliencePolicies { CacheProvider = Policy.NoOpAsync() }; engineSettings = new EngineSettings(); _calculationAggregationService = new CalculationAggregationService( _mockCacheProvider, _mockDatasetAggregationsRepository, engineSettings, _mockResiliencePolicies); }
public CalculationEngineService( ILogger logger, ICalculationEngine calculationEngine, ICacheProvider cacheProvider, IMessengerService messengerService, IProviderSourceDatasetsRepository providerSourceDatasetsRepository, ITelemetry telemetry, IProviderResultsRepository providerResultsRepository, ICalculationsRepository calculationsRepository, EngineSettings engineSettings, ICalculatorResiliencePolicies resiliencePolicies, IValidator <ICalculatorResiliencePolicies> calculatorResiliencePoliciesValidator, IDatasetAggregationsRepository datasetAggregationsRepository, IFeatureToggle featureToggle, IJobsApiClient jobsApiClient) { _calculatorResiliencePoliciesValidator = calculatorResiliencePoliciesValidator; CalculationEngineServiceValidator.ValidateConstruction(_calculatorResiliencePoliciesValidator, engineSettings, resiliencePolicies, calculationsRepository); _logger = logger; _calculationEngine = calculationEngine; _cacheProvider = cacheProvider; _messengerService = messengerService; _providerSourceDatasetsRepository = providerSourceDatasetsRepository; _telemetry = telemetry; _providerResultsRepository = providerResultsRepository; _calculationsRepository = calculationsRepository; _engineSettings = engineSettings; _cacheProviderPolicy = resiliencePolicies.CacheProvider; _messengerServicePolicy = resiliencePolicies.Messenger; _providerSourceDatasetsRepositoryPolicy = resiliencePolicies.ProviderSourceDatasetsRepository; _providerResultsRepositoryPolicy = resiliencePolicies.ProviderResultsRepository; _calculationsRepositoryPolicy = resiliencePolicies.CalculationsRepository; _datasetAggregationsRepository = datasetAggregationsRepository; _featureToggle = featureToggle; _jobsApiClient = jobsApiClient; _jobsApiClientPolicy = resiliencePolicies.JobsApiClient; }