Beispiel #1
0
        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);
        }
Beispiel #4
0
        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));
        }
Beispiel #5
0
        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();
 }