public static ISelectionBuilder Create() { //TODO: prone to fail in web app var configInternal = new SdkConfigurationInternal(new SdkConfiguration(SdkConfigurationSection.GetSection()), null); var value = new Random((int)DateTime.Now.Ticks).Next(); var dataFetcher = new LogHttpDataFetcher(new HttpClient(), configInternal.AccessToken, new IncrementalSequenceGenerator(value, long.MaxValue), 3, 12); var deserializer = new Deserializer <market_descriptions>(); var mapper = new MarketDescriptionsMapperFactory(); var dataProvider = new DataProvider <market_descriptions, IEnumerable <MarketDescriptionDTO> >( configInternal.ApiHost + "/v1/descriptions/{0}/markets.xml?include_mappings=true", dataFetcher, dataFetcher, deserializer, mapper); var marketDescriptionCache = new MarketDescriptionCache(new MemoryCache("InvariantMarketDescriptionCache"), dataProvider, new [] { new CultureInfo("en") }, configInternal.AccessToken, TimeSpan.FromHours(4), new CacheItemPolicy { SlidingExpiration = TimeSpan.FromDays(1) }); var marketDescriptionProvider = new MarketDescriptionProvider(marketDescriptionCache, new[] { new CultureInfo("en") }); return(new SelectionBuilder(marketDescriptionProvider, configInternal, false)); }
public void SuccessAfterConsecutiveFailuresResetsTest() { var httpClient = new HttpClient(); _logHttpDataFetcher = new LogHttpDataFetcher(httpClient, TestData.AccessToken, new IncrementalSequenceGenerator(), new Deserializer <response>(), 5, 1); ConsecutivePostFailureTest(); Thread.Sleep(1000); var result = _logHttpDataFetcher.GetDataAsync(_getUri).Result; Assert.IsNotNull(result); Assert.IsTrue(result.Length > 0); }
public void Init() { var httpClient = new HttpClient(); _logHttpDataFetcher = new LogHttpDataFetcher(httpClient, TestData.AccessToken, new IncrementalSequenceGenerator(), new Deserializer <response>()); }