public HmrcService( IHmrcConfiguration configuration, IHttpClientWrapper httpClientWrapper, IApprenticeshipLevyApiClient apprenticeshipLevyApiClient, ITokenServiceApiClient tokenServiceApiClient, [RequiredPolicy(HmrcExecutionPolicy.Name)] ExecutionPolicy.ExecutionPolicy executionPolicy, IInProcessCache inProcessCache, IAzureAdAuthenticationService azureAdAuthenticationService, ILog log) { _configuration = configuration; _httpClientWrapper = httpClientWrapper; _apprenticeshipLevyApiClient = apprenticeshipLevyApiClient; _tokenServiceApiClient = tokenServiceApiClient; _executionPolicy = executionPolicy; _inProcessCache = inProcessCache; _azureAdAuthenticationService = azureAdAuthenticationService; _log = log; _httpClientWrapper.BaseUrl = _configuration.BaseUrl; _httpClientWrapper.AuthScheme = "Bearer"; _httpClientWrapper.MediaTypeWithQualityHeaderValueList = new List <MediaTypeWithQualityHeaderValue> { new MediaTypeWithQualityHeaderValue("application/vnd.hmrc.1.0+json") }; }
public void Arrange() { _configuration = new HmrcConfiguration { BaseUrl = ExpectedBaseUrl, ClientId = ExpectedClientId, Scope = ExpectedScope, ClientSecret = ExpectedClientSecret, ServerToken = "token1234" }; _httpClientWrapper = new Mock <IHttpClientWrapper>(); _apprenticeshipLevyApiClient = new Mock <IApprenticeshipLevyApiClient>(); _tokenService = new Mock <ITokenServiceApiClient>(); _tokenService.Setup(x => x.GetPrivilegedAccessTokenAsync()).ReturnsAsync(new PrivilegedAccessToken { AccessCode = ExpectedAccessCode }); _cacheProvider = new Mock <IInProcessCache>(); _cacheProvider.SetupSequence(c => c.Get <DateTime?>("HmrcFractionLastCalculatedDate")) .Returns((DateTime?)null) .Returns(new DateTime()); _hmrcService = new HmrcService(_configuration, _httpClientWrapper.Object, _apprenticeshipLevyApiClient.Object, _tokenService.Object, new NoopExecutionPolicy(), _cacheProvider.Object, null, new Mock <ILog>().Object); }