Пример #1
0
        public void production_api_host_is_selected_on_use_replay_when_access_to_integration_does_not_work()
        {
            var publicConfig = new TokenSetter(new TestSectionProvider(null))
                               .SetAccessToken(TestData.AccessToken)
                               .SelectIntegration()
                               .SetDefaultLanguage(TestData.Culture)
                               .Build();

            var bookmakerProviderMock = new Mock <BookmakerDetailsProvider>("bookmakerDetailsUriFormat",
                                                                            new TestDataFetcher(),
                                                                            new Deserializer <bookmaker_details>(),
                                                                            new BookmakerDetailsMapperFactory());
            var integrationUrl = publicConfig.UseApiSsl
                ? "https://" + SdkInfo.IntegrationApiHost
                : "http://" + SdkInfo.IntegrationApiHost;

            bookmakerProviderMock.Setup(x => x.GetData(integrationUrl)).Throws(new CommunicationException("Exception message", integrationUrl, null));

            var prodUrl = publicConfig.UseApiSsl
                ? "https://" + SdkInfo.ProductionApiHost
                : "http://" + SdkInfo.ProductionApiHost;

            bookmakerProviderMock.Setup(x => x.GetData(prodUrl)).Returns(TestConfigurationInternal.GetBookmakerDetails());

            var internalConfig = new OddsFeedConfigurationInternal(publicConfig, bookmakerProviderMock.Object);

            internalConfig.EnableReplayServer();
            internalConfig.Load();
            Assert.AreEqual(SdkInfo.ProductionApiHost, internalConfig.ApiHost);
        }
Пример #2
0
        public void virtual_host_has_correct_value()
        {
            var publicConfig = new TokenSetter(new TestSectionProvider(null))
                               .SetAccessToken(TestData.AccessToken)
                               .SelectIntegration()
                               .SetDefaultLanguage(TestData.Culture)
                               .Build();

            var internalConfig = new OddsFeedConfigurationInternal(publicConfig, _defaultBookmakerDetailsProvider);

            internalConfig.Load();
            Assert.AreEqual(TestConfigurationInternal.GetBookmakerDetails().VirtualHost, internalConfig.VirtualHost);

            publicConfig = new TokenSetter(new TestSectionProvider(null))
                           .SetAccessToken(TestData.AccessToken)
                           .SelectCustom()
                           .SetVirtualHost("virtual_host")
                           .SetDefaultLanguage(TestData.Culture)
                           .SetMessagingHost(_testSection.Host)
                           .SetApiHost(_testSection.ApiHost)
                           .Build();
            internalConfig = new OddsFeedConfigurationInternal(publicConfig, _defaultBookmakerDetailsProvider);
            internalConfig.Load();
            Assert.AreEqual(publicConfig.VirtualHost, internalConfig.VirtualHost);
        }
Пример #3
0
        /// <inheritdoc />
        public TestFeed(IDataRouterManager dataRouterManager, IProducersProvider producersProvider, IOddsFeedConfiguration config, ILoggerFactory loggerFactory = null, IMetricsRoot metricsRoot = null)
            : base(config, loggerFactory, metricsRoot)
        {
            var bookmakerDetailsProviderMock = new Mock <BookmakerDetailsProvider>("bookmakerDetailsUriFormat",
                                                                                   new TestDataFetcher(),
                                                                                   new Deserializer <bookmaker_details>(),
                                                                                   new BookmakerDetailsMapperFactory());

            bookmakerDetailsProviderMock.Setup(x => x.GetData(It.IsAny <string>())).Returns(TestConfigurationInternal.GetBookmakerDetails());
            var defaultBookmakerDetailsProvider = bookmakerDetailsProviderMock.Object;

            InternalConfig = new OddsFeedConfigurationInternal(config, defaultBookmakerDetailsProvider);

            DataRouterManager = dataRouterManager;
            ProducersProvider = producersProvider;

            RecoveryDataPoster = new TestDataFetcher();
        }
Пример #4
0
        public void Setup()
        {
            _testSection = TestSection.Create();
            var bookmakerDetailsProviderMock = new Mock <BookmakerDetailsProvider>("bookmakerDetailsUriFormat",
                                                                                   new TestDataFetcher(),
                                                                                   new Deserializer <bookmaker_details>(),
                                                                                   new BookmakerDetailsMapperFactory());

            bookmakerDetailsProviderMock.Setup(x => x.GetData(It.IsAny <string>())).Returns(TestConfigurationInternal.GetBookmakerDetails());
            _defaultBookmakerDetailsProvider = bookmakerDetailsProviderMock.Object;
        }
Пример #5
0
        public static void Init(TestContext context)
        {
            var container = new UnityContainer();
            var config    = TestConfigurationInternal.GetConfig();

            _dispatcher = new Mock <IGlobalEventDispatcher>().Object;
            container.RegisterBaseTypes(config);

            // we need to override initial loading of bookmaker details and producers
            var bookmakerDetailsProviderMock = new Mock <BookmakerDetailsProvider>("bookmakerDetailsUriFormat",
                                                                                   new TestDataFetcher(),
                                                                                   new Deserializer <bookmaker_details>(),
                                                                                   new BookmakerDetailsMapperFactory());

            bookmakerDetailsProviderMock.Setup(x => x.GetData(It.IsAny <string>())).Returns(TestConfigurationInternal.GetBookmakerDetails());
            var defaultBookmakerDetailsProvider = bookmakerDetailsProviderMock.Object;

            container.RegisterInstance <IDataProvider <BookmakerDetailsDTO> >(defaultBookmakerDetailsProvider, new ContainerControlledLifetimeManager());
            container.RegisterInstance(defaultBookmakerDetailsProvider, new ContainerControlledLifetimeManager());
            var newConfig = new OddsFeedConfigurationInternal(config, defaultBookmakerDetailsProvider);

            newConfig.Load();
            container.RegisterInstance <IOddsFeedConfiguration>(newConfig, new ContainerControlledLifetimeManager());
            container.RegisterInstance <IOddsFeedConfigurationInternal>(newConfig, new ContainerControlledLifetimeManager());

            container.RegisterTypes(_dispatcher);

            container.RegisterType <IProducerManager, ProducerManager>(
                new ContainerControlledLifetimeManager(),
                new InjectionConstructor(
                    new TestProducersProvider(),
                    config));

            container.RegisterAdditionalTypes();

            _childContainer1 = ((IUnityContainer)container).CreateChildContainer();
            _childContainer2 = ((IUnityContainer)container).CreateChildContainer();
        }