Exemplo n.º 1
0
        public FundingStructureService(
            ICacheProvider cacheProvider,
            ISpecificationsService specificationsService,
            ICalculationsApiClient calculationsApiClient,
            IGraphApiClient graphApiClient,
            Common.ApiClient.Policies.IPoliciesApiClient policiesApiClient,
            IValidator <UpdateFundingStructureLastModifiedRequest> validator,
            ISpecificationsResiliencePolicies resiliencePolicies)
        {
            Guard.ArgumentNotNull(specificationsService, nameof(specificationsService));
            Guard.ArgumentNotNull(policiesApiClient, nameof(policiesApiClient));
            Guard.ArgumentNotNull(calculationsApiClient, nameof(calculationsApiClient));
            Guard.ArgumentNotNull(graphApiClient, nameof(graphApiClient));
            Guard.ArgumentNotNull(cacheProvider, nameof(cacheProvider));
            Guard.ArgumentNotNull(validator, nameof(validator));

            Guard.ArgumentNotNull(resiliencePolicies, nameof(resiliencePolicies));
            Guard.ArgumentNotNull(resiliencePolicies?.PoliciesApiClient, nameof(resiliencePolicies.PoliciesApiClient));
            Guard.ArgumentNotNull(resiliencePolicies?.CacheProvider, nameof(resiliencePolicies.CacheProvider));
            Guard.ArgumentNotNull(resiliencePolicies?.CalcsApiClient, nameof(resiliencePolicies.CalcsApiClient));

            _specificationsService = specificationsService;
            _policiesApiClient     = policiesApiClient;
            _calculationsApiClient = calculationsApiClient;
            _graphApiClient        = graphApiClient;
            _cacheProvider         = cacheProvider;
            _validator             = validator;

            _policiesResilience     = resiliencePolicies.PoliciesApiClient;
            _cacheResilience        = resiliencePolicies.CacheProvider;
            _calculationsResilience = resiliencePolicies.CalcsApiClient;
        }
Exemplo n.º 2
0
        public void SetUp()
        {
            _specificationsService = Substitute.For <ISpecificationsService>();
            _calculationsApiClient = Substitute.For <ICalculationsApiClient>();
            _graphApiClient        = Substitute.For <IGraphApiClient>();
            _cacheProvider         = Substitute.For <ICacheProvider>();
            _policiesApiClient     = Substitute.For <Common.ApiClient.Policies.IPoliciesApiClient>();
            _validator             = Substitute.For <IValidator <UpdateFundingStructureLastModifiedRequest> >();

            _service = new FundingStructureService(
                _cacheProvider,
                _specificationsService,
                _calculationsApiClient,
                _graphApiClient,
                _policiesApiClient,
                _validator,
                new SpecificationsResiliencePolicies
            {
                CacheProvider     = Polly.Policy.NoOpAsync(),
                CalcsApiClient    = Polly.Policy.NoOpAsync(),
                PoliciesApiClient = Polly.Policy.NoOpAsync()
            });
        }