private void SetupCache(List <ReferenceDataItem> data, IGetAllApiRequest apiRequest) { _cacheStorageService .Setup(x => x.RetrieveFromCache <List <ReferenceDataItem> >($"ReferenceData.{apiRequest.GetAllUrl}")) .ReturnsAsync(data); _apiClient.Setup(x => x.GetAll <ReferenceDataItem>(It.Is <IGetAllApiRequest>(r => r.GetType() == apiRequest.GetType()))) .ReturnsAsync(() => null); }
public async Task <IEnumerable <TResponse> > GetAll <TResponse>(IGetAllApiRequest request) { await AddAuthenticationHeader(); request.BaseUrl = _configuration.Url; var response = await _httpClient.GetAsync(request.GetAllUrl).ConfigureAwait(false); response.EnsureSuccessStatusCode(); var json = await response.Content.ReadAsStringAsync().ConfigureAwait(false); return(JsonConvert.DeserializeObject <IEnumerable <TResponse> >(json)); }
private async Task <List <ReferenceDataItem> > GetFromApiWithCache(IGetAllApiRequest request) { var result = await _cacheStorageService.RetrieveFromCache <List <ReferenceDataItem> >($"{CacheKeyPrefix}{request.GetAllUrl}"); if (result != null) { return(result); } var response = (await _levyTransferMatchingApiClient.GetAll <ReferenceDataItem>(request)).ToList(); await _cacheStorageService.SaveToCache($"{CacheKeyPrefix}{request.GetAllUrl}", response, CacheExpiryInHours); return(response); }
public async Task <IEnumerable <TResponse> > GetAll <TResponse>(IGetAllApiRequest request) { await AddAuthenticationHeader(); AddVersionHeader(request.Version); var response = await HttpClient.GetAsync(request.GetAllUrl).ConfigureAwait(false); if (!response.IsSuccessStatusCode) { return(new List <TResponse>()); } var json = await response.Content.ReadAsStringAsync().ConfigureAwait(false); return(JsonConvert.DeserializeObject <IEnumerable <TResponse> >(json)); }
public async Task <IEnumerable <TResponse> > GetAll <TResponse>(IGetAllApiRequest request) { var accessToken = await GetAccessTokenAsync(); using (var client = new HttpClient())//not unit testable using directly { client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken); var response = await client.GetAsync(request.GetAllUrl).ConfigureAwait(false); response.EnsureSuccessStatusCode(); var json = await response.Content.ReadAsStringAsync().ConfigureAwait(false); return(JsonConvert.DeserializeObject <IEnumerable <TResponse> >(json)); } }
public Task <IEnumerable <TResponse> > GetAll <TResponse>(IGetAllApiRequest request) { return(_apiClient.GetAll <TResponse>(request)); }
public Task <IEnumerable <TResponse> > GetAll <TResponse>(IGetAllApiRequest request) { throw new System.NotImplementedException(); }