Example #1
0
        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));
        }
Example #2
0
        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);
        }
Example #3
0
        public void Init()
        {
            var httpClient = new HttpClient();

            _logHttpDataFetcher = new LogHttpDataFetcher(httpClient, TestData.AccessToken, new IncrementalSequenceGenerator(), new Deserializer <response>());
        }