public void Init() { _variantMemoryCache = new MemoryCache("VariantCache"); _invariantMemoryCache = new MemoryCache("InVariantCache"); _variantsMemoryCache = new MemoryCache("VariantsCache"); //force markets to be loaded _timer = new TestTimer(false); _timer.FireOnce(TimeSpan.Zero); var specifiers = new ReadOnlyDictionary <string, string>(new Dictionary <string, string> { { "score", "1:1" } }); _cacheManager = new CacheManager(); _dataRouterManager = new TestDataRouterManager(_cacheManager); _mappingValidatorFactory = new MappingValidatorFactory(); _timer = new TestTimer(true); _variantMdCache = new VariantMarketDescriptionCache(_variantMemoryCache, _dataRouterManager, _mappingValidatorFactory, _cacheManager); _inVariantMdCache = new InvariantMarketDescriptionCache(_invariantMemoryCache, _dataRouterManager, _mappingValidatorFactory, _timer, TestData.Cultures, _cacheManager); _variantsMdCache = new VariantDescriptionListCache(_variantsMemoryCache, _dataRouterManager, _mappingValidatorFactory, _timer, TestData.Cultures, _cacheManager); _nameProvider = new NameProvider( new MarketCacheProvider(_inVariantMdCache, _variantMdCache, _variantsMdCache), new Mock <IProfileCache>().Object, new Mock <INameExpressionFactory>().Object, new Mock <ISportEvent>().Object, 41, specifiers, ExceptionHandlingStrategy.THROW ); }
/// <summary> /// Initializes a new instance of the <see cref="MarketDescriptionManager"/> class /// </summary> /// <param name="config">The <see cref="IOddsFeedConfigurationInternal"/> representing feed configuration</param> /// <param name="marketCacheProvider">A <see cref="IMarketCacheProvider"/> used to get market descriptions</param> /// <param name="invariantMarketDescriptionCache">A <see cref="IMarketDescriptionCache"/> used to get invariant market descriptions</param> /// <param name="variantDescriptionListCache">A <see cref="IVariantDescriptionCache"/> used to reload variant market descriptions</param> /// <param name="variantDescriptionCache">A <see cref="IMarketDescriptionCache"/> used to access market variant cache (singles)</param> public MarketDescriptionManager(IOddsFeedConfigurationInternal config, IMarketCacheProvider marketCacheProvider, IMarketDescriptionCache invariantMarketDescriptionCache, IVariantDescriptionCache variantDescriptionListCache, IMarketDescriptionCache variantDescriptionCache) { if (config == null) { throw new ArgumentNullException(nameof(config)); } if (marketCacheProvider == null) { throw new ArgumentNullException(nameof(marketCacheProvider)); } if (invariantMarketDescriptionCache == null) { throw new ArgumentNullException(nameof(invariantMarketDescriptionCache)); } if (variantDescriptionCache == null) { throw new ArgumentNullException(nameof(variantDescriptionCache)); } _config = config; _marketCacheProvider = marketCacheProvider; _invariantMarketDescriptionCache = invariantMarketDescriptionCache as InvariantMarketDescriptionCache; _variantDescriptionListCache = variantDescriptionListCache; _exceptionHandlingStrategy = config.ExceptionHandlingStrategy; _variantDescriptionCache = variantDescriptionCache; if (_invariantMarketDescriptionCache == null) { throw new ArgumentException(nameof(invariantMarketDescriptionCache)); } }
public void Init() { var configInternal = new SdkConfigurationInternal(new SdkConfiguration("username", "password", "host", null, true, "sslServerName", 1, 0, 0, "EUR", null, "aaa"), null); _cultures = new List <CultureInfo> { new CultureInfo("en") }; var uri = new Uri(@"https://api.betradar.com/v1/descriptions/en/markets.xml?include_mappings=true"); _mockDataFetcher = new Mock <DataFetcherHelper>(); _mockDataFetcher.Setup(p => p.GetDataAsync(It.IsAny <Uri>())).Returns(new DataFetcherHelper(BuilderFactoryHelper.UriReplacements).GetDataAsync(uri)); _deserializer = new Deserializer <market_descriptions>(); _mapper = new MarketDescriptionsMapperFactory(); _dataProvider = new DataProvider <market_descriptions, IEnumerable <MarketDescriptionDTO> >( uri.AbsoluteUri, _mockDataFetcher.Object, _mockDataFetcher.Object, _deserializer, _mapper); _marketDescriptionCache = new MarketDescriptionCache(new MemoryCache("InvariantMarketDescriptionCache"), _dataProvider, _cultures, configInternal.AccessToken, TimeSpan.FromHours(4), new CacheItemPolicy { SlidingExpiration = TimeSpan.FromDays(1) }); }
public void Init() { _cacheManager = new CacheManager(); _dataRouterManager = new TestDataRouterManager(_cacheManager); _variantMemoryCache = new MemoryCache("VariantCache"); _invariantMemoryCache = new MemoryCache("InVariantCache"); _variantDescriptionsMemoryCache = new MemoryCache("VariantDescriptionListCache"); _timer = new SdkTimer(_timerInterval, _timerInterval); _mappingValidatorFactory = new MappingValidatorFactory(); _inVariantMdCache = new InvariantMarketDescriptionCache(_invariantMemoryCache, _dataRouterManager, _mappingValidatorFactory, _timer, TestData.Cultures, _cacheManager); _variantMdCache = new VariantMarketDescriptionCache(_variantMemoryCache, _dataRouterManager, _mappingValidatorFactory, _cacheManager); _variantDescriptionListCache = new VariantDescriptionListCache(_variantDescriptionsMemoryCache, _dataRouterManager, _mappingValidatorFactory, _timer, TestData.Cultures, _cacheManager); var dataFetcher = new TestDataFetcher(); var betStopReasonsCache = new NamedValueCache(new NamedValueDataProvider(FileHelper.FindFile("betstop_reasons.xml"), dataFetcher, "betstop_reason"), ExceptionHandlingStrategy.THROW); var bettingStatusCache = new NamedValueCache(new NamedValueDataProvider(FileHelper.FindFile("betting_status.xml"), dataFetcher, "betting_status"), ExceptionHandlingStrategy.THROW); var namedValueProviderMock = new Mock <INamedValuesProvider>(); namedValueProviderMock.Setup(x => x.BetStopReasons).Returns(betStopReasonsCache); namedValueProviderMock.Setup(x => x.BettingStatuses).Returns(bettingStatusCache); _validator = new FeedMessageValidator( new MarketCacheProvider(_inVariantMdCache, _variantMdCache, _variantDescriptionListCache), TestData.Culture, namedValueProviderMock.Object, TestProducerManager.Create()); }
public MarketDescriptionProvider(IMarketDescriptionCache marketDescriptionCache, IEnumerable <CultureInfo> cultures) { Guard.Argument(marketDescriptionCache, nameof(marketDescriptionCache)).NotNull(); var cultureInfos = cultures.ToList(); Guard.Argument(cultureInfos, nameof(cultureInfos)).NotNull().NotEmpty(); MarketDescriptionCache = marketDescriptionCache; _cultures = cultureInfos; }
/// <summary> /// Initializes a new instance of the <see cref="MarketCacheProvider" /> class /// </summary> /// <param name="invariantMarketsCache"> /// A <see cref="IMarketDescriptionCache" /> used to cache market descriptors for /// invariant markets /// </param> /// <param name="variantMarketsCache"> /// A <see cref="IMarketDescriptionCache" /> used to cache market descriptors for variant /// markets /// </param> /// <param name="variantDescriptionListCache">A <see cref="IVariantDescriptionCache" /> used to cache variant descriptions</param> public MarketCacheProvider(IMarketDescriptionCache invariantMarketsCache, IMarketDescriptionCache variantMarketsCache, IVariantDescriptionCache variantDescriptionListCache) { Contract.Requires(invariantMarketsCache != null); Contract.Requires(variantMarketsCache != null); Contract.Requires(variantDescriptionListCache != null); _invariantMarketsCache = invariantMarketsCache; _variantMarketsCache = variantMarketsCache; _variantDescriptionListCache = variantDescriptionListCache; }
/// <summary> /// Initializes a new instance of the <see cref="MarketCacheProvider"/> class /// </summary> /// <param name="invariantMarketsCache">A <see cref="IMarketDescriptionCache"/> used to cache market descriptors for invariant markets</param> /// <param name="variantMarketsCache">A <see cref="IMarketDescriptionCache"/> used to cache market descriptors for variant markets</param> /// <param name="variantDescriptionListCache">A <see cref="IVariantDescriptionCache"/> used to cache variant descriptions</param> public MarketCacheProvider(IMarketDescriptionCache invariantMarketsCache, IMarketDescriptionCache variantMarketsCache, IVariantDescriptionCache variantDescriptionListCache) { Guard.Argument(invariantMarketsCache, nameof(invariantMarketsCache)).NotNull(); Guard.Argument(variantMarketsCache, nameof(variantMarketsCache)).NotNull(); Guard.Argument(variantDescriptionListCache, nameof(variantDescriptionListCache)).NotNull(); _invariantMarketsCache = invariantMarketsCache; _variantMarketsCache = variantMarketsCache; _variantDescriptionListCache = variantDescriptionListCache; }
public void Init() { _variantMemoryCache = new MemoryCache("VariantCache"); _invariantMemoryCache = new MemoryCache("InVariantCache"); _cacheManager = new CacheManager(); _dataRouterManager = new TestDataRouterManager(_cacheManager); _mappingValidatorFactory = new MappingValidatorFactory(); _timer = new TestTimer(true); _variantMdCache = new VariantMarketDescriptionCache(_variantMemoryCache, _dataRouterManager, _mappingValidatorFactory, _cacheManager); _inVariantMdCache = new InvariantMarketDescriptionCache(_invariantMemoryCache, _dataRouterManager, _mappingValidatorFactory, _timer, TestData.Cultures, _cacheManager); }
public MarketDescriptionProvider(IMarketDescriptionCache marketDescriptionCache, IEnumerable <CultureInfo> cultures) { Guard.Argument(marketDescriptionCache, nameof(marketDescriptionCache)).NotNull(); var cultureInfos = cultures.ToList(); Guard.Argument(cultureInfos, nameof(cultureInfos)).NotNull(); if (!cultureInfos.Any()) { throw new ArgumentOutOfRangeException(nameof(cultureInfos)); } MarketDescriptionCache = marketDescriptionCache; _cultures = cultureInfos; }
public void Init() { _variantMarketDescriptionMemoryCache = new MemoryCache("variantMarketDescriptionCache"); _variantDescriptionMemoryCache = new MemoryCache("variantDescriptionCache"); _invariantMarketDescriptionMemoryCache = new MemoryCache("invariantMarketDescriptionCache"); _cacheManager = new CacheManager(); _dataRouterManager = new TestDataRouterManager(_cacheManager); _producersProvider = new TestProducersProvider(); _mappingValidatorFactory = new MappingValidatorFactory(); _timer = new TestTimer(true); _variantMarketDescriptionCache = new VariantMarketDescriptionCache(_variantMarketDescriptionMemoryCache, _dataRouterManager, _mappingValidatorFactory, _cacheManager); _variantDescriptionListCache = new VariantDescriptionListCache(_variantDescriptionMemoryCache, _dataRouterManager, _mappingValidatorFactory, _timer, TestData.Cultures, _cacheManager); _invariantMarketDescriptionCache = new InvariantMarketDescriptionCache(_invariantMarketDescriptionMemoryCache, _dataRouterManager, _mappingValidatorFactory, _timer, TestData.Cultures, _cacheManager); _marketCacheProvider = new MarketCacheProvider(_invariantMarketDescriptionCache, _variantMarketDescriptionCache, _variantDescriptionListCache); }