예제 #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 host_has_correct_value()
        {
            var builder = new TokenSetter(new TestSectionProvider(_testSection)).SetAccessTokenFromConfigFile();

            var publicConfig   = builder.SelectIntegration().SetDefaultLanguage(TestData.Culture).Build();
            var internalConfig = new OddsFeedConfigurationInternal(publicConfig, _defaultBookmakerDetailsProvider);

            internalConfig.Load();
            Assert.AreEqual(publicConfig.Host, internalConfig.Host);

            publicConfig   = builder.SelectIntegration().SetDefaultLanguage(TestData.Culture).Build();
            internalConfig = new OddsFeedConfigurationInternal(publicConfig, _defaultBookmakerDetailsProvider);
            Assert.AreEqual(publicConfig.Host, internalConfig.Host);
            internalConfig.EnableReplayServer();
            internalConfig.Load();
            Assert.AreEqual(SdkInfo.ReplayHost, internalConfig.Host);

            publicConfig   = builder.SelectProduction().SetDefaultLanguage(TestData.Culture).Build();
            internalConfig = new OddsFeedConfigurationInternal(publicConfig, _defaultBookmakerDetailsProvider);
            internalConfig.Load();
            Assert.AreEqual(publicConfig.Host, internalConfig.Host);

            publicConfig   = builder.SelectReplay().SetDefaultLanguage(TestData.Culture).Build();
            internalConfig = new OddsFeedConfigurationInternal(publicConfig, _defaultBookmakerDetailsProvider);
            internalConfig.Load();
            Assert.AreEqual(SdkInfo.ReplayHost, internalConfig.Host);

            publicConfig   = builder.SelectIntegration().SetDefaultLanguage(TestData.Culture).Build();
            internalConfig = new OddsFeedConfigurationInternal(publicConfig, _defaultBookmakerDetailsProvider);
            internalConfig.Load();
            Assert.AreEqual(publicConfig.Host, internalConfig.Host);
        }
예제 #3
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);
        }
        public void exception_is_if_api_config_is_loaded_more_than_once()
        {
            var publicConfig = new TokenSetter(new TestSectionProvider(null))
                .SetAccessToken(TestData.AccessToken)
                .SelectIntegration()
                .Build();

            var internalConfig = new OddsFeedConfigurationInternal(publicConfig, _defaultBookmakerDetailsProvider);
            internalConfig.Load();
            internalConfig.Load();
        }
        public void exception_is_thrown_if_replay_is_enabled_once_api_config_is_loaded()
        {
            var publicConfig = new TokenSetter(new TestSectionProvider(null))
                .SetAccessToken(TestData.AccessToken)
                .SelectIntegration()
                .Build();

            var internalConfig = new OddsFeedConfigurationInternal(publicConfig, _defaultBookmakerDetailsProvider);
            internalConfig.Load();
            internalConfig.EnableReplayServer();
        }
예제 #6
0
        public static TestConfigurationInternal GetConfig(IOddsFeedConfiguration publicConfig = null, BookmakerDetailsDTO dto = null)
        {
            var configBuilder = new TokenSetter(new TestSectionProvider(TestSection.DefaultSection))
                                .SetAccessTokenFromConfigFile()
                                .SelectIntegration()
                                .LoadFromConfigFile()
                                .SetInactivitySeconds(30)
                                .SetSupportedLanguages(new[] { TestData.Culture });
            var config = configBuilder.Build();

            return(new TestConfigurationInternal(publicConfig ?? config, dto ?? GetBookmakerDetails()));
        }
예제 #7
0
        public void environment_has_correct_value()
        {
            var publicConfig = new TokenSetter(new TestSectionProvider(null))
                               .SetAccessToken(TestData.AccessToken)
                               .SelectIntegration()
                               .SetDefaultLanguage(TestData.Culture)
                               .Build();
            var internalConfig = new OddsFeedConfigurationInternal(publicConfig, _defaultBookmakerDetailsProvider);

            Assert.AreEqual(publicConfig.Environment, internalConfig.Environment);
            internalConfig.EnableReplayServer();
            internalConfig.Load();
            Assert.AreEqual(SdkEnvironment.Replay, internalConfig.Environment);

            publicConfig = new TokenSetter(new TestSectionProvider(null))
                           .SetAccessToken(TestData.AccessToken)
                           .SelectProduction()
                           .SetDefaultLanguage(TestData.Culture)
                           .Build();
            internalConfig = new OddsFeedConfigurationInternal(publicConfig, _defaultBookmakerDetailsProvider);
            Assert.AreEqual(publicConfig.Environment, internalConfig.Environment);
            internalConfig.EnableReplayServer();
            internalConfig.Load();
            Assert.AreEqual(SdkEnvironment.Replay, internalConfig.Environment);

            publicConfig = new TokenSetter(new TestSectionProvider(null))
                           .SetAccessToken(TestData.AccessToken)
                           .SelectReplay()
                           .SetDefaultLanguage(TestData.Culture)
                           .Build();
            internalConfig = new OddsFeedConfigurationInternal(publicConfig, _defaultBookmakerDetailsProvider);
            Assert.AreEqual(publicConfig.Environment, internalConfig.Environment);
            internalConfig.EnableReplayServer();
            internalConfig.Load();
            Assert.AreEqual(SdkEnvironment.Replay, internalConfig.Environment);

            publicConfig = new TokenSetter(new TestSectionProvider(null))
                           .SetAccessToken(TestData.AccessToken)
                           .SelectCustom()
                           .SetDefaultLanguage(TestData.Culture)
                           .SetMessagingHost(_testSection.Host)
                           .SetApiHost(_testSection.ApiHost)
                           .Build();
            internalConfig = new OddsFeedConfigurationInternal(publicConfig, _defaultBookmakerDetailsProvider);
            Assert.AreEqual(publicConfig.Environment, internalConfig.Environment);
            internalConfig.EnableReplayServer();
            internalConfig.Load();
            Assert.AreEqual(SdkEnvironment.Replay, internalConfig.Environment);
        }
예제 #8
0
        public void values_forwarded_from_public_config_have_correct_values()
        {
            var publicConfig = new TokenSetter(new TestSectionProvider(_testSection))
                               .SetAccessTokenFromConfigFile()
                               .SelectCustom()
                               .LoadFromConfigFile()
                               .Build();

            var internalConfig = new OddsFeedConfigurationInternal(publicConfig, _defaultBookmakerDetailsProvider);

            internalConfig.Load();
            Assert.AreEqual(publicConfig.AccessToken, internalConfig.AccessToken);
            Assert.AreEqual(publicConfig.InactivitySeconds, internalConfig.InactivitySeconds);
            Assert.AreEqual(publicConfig.DefaultLocale, internalConfig.DefaultLocale);
            Assert.IsTrue(publicConfig.Locales.SequenceEqual(internalConfig.Locales));
            if (publicConfig.DisabledProducers == null)
            {
                Assert.IsNull(internalConfig.DisabledProducers);
            }
            else
            {
                Assert.IsTrue(publicConfig.DisabledProducers.SequenceEqual(internalConfig.DisabledProducers));
            }
            Assert.AreEqual(publicConfig.MaxRecoveryTime, internalConfig.MaxRecoveryTime);
            Assert.AreEqual(publicConfig.NodeId, internalConfig.NodeId);
            // Environment is tested separately
            Assert.AreEqual(publicConfig.ExceptionHandlingStrategy, internalConfig.ExceptionHandlingStrategy);
            // Host is tested separately
            // VirtualHost is tested separately
            Assert.AreEqual(publicConfig.Username, internalConfig.Username);
            Assert.AreEqual(publicConfig.Password, internalConfig.Password);
            Assert.AreEqual(publicConfig.Port, internalConfig.Port);
            Assert.AreEqual(publicConfig.UseSsl, internalConfig.UseSsl);
            // ApiHost is tested separately
            Assert.AreEqual(publicConfig.UseApiSsl, internalConfig.UseApiSsl);
            Assert.AreEqual(internalConfig.UseApiSsl ? "https://" + internalConfig.ApiHost : "http://" + internalConfig.ApiHost, internalConfig.ApiBaseUri);
            Assert.AreEqual("stgapi.betradar.com/v1/replay", internalConfig.ReplayApiHost);
        }
예제 #9
0
    private void setPrefs()
    {
        //set gameMode, whiteplayer, and blackplayer variables based on input from character select screen
        int player1character = PlayerPrefs.GetInt("Player1Character");
        int player2character = PlayerPrefs.GetInt("Player2Character");

        int gameIndex = SceneManager.GetActiveScene().buildIndex;

        if (gameIndex == 6)
        {
            gameMode = PlayerType.Local;
            //set the player2 character
            player2character = PlayerPrefs.GetInt("Player2Character");
        }
        else if (gameIndex == 7)
        {
            gameMode = PlayerType.Network;
            //more in another function because need the game core by then
        }
        else if (gameIndex == 8)
        {
            gameMode = PlayerType.AI;
            //pick a random character for the AI
            int aiCharacter = Random.Range(0, 2);
            while (aiCharacter == player1character)
            {
                //so ai and player will not be same character
                aiCharacter = Random.Range(0, 2);
            }
            player2character = aiCharacter;

            if (PlayerPrefs.GetInt("difficulty", 0) == 1)
            {
                _isHardMode = true;
            }
            else
            {
                _isHardMode = false;
            }
        }

        int player1white = PlayerPrefs.GetInt("player1", 0);

        if (player1white == 0)
        {
            //player1 is white
            whitePlayer = PlayerType.Local;
            blackPlayer = gameMode;
            //blackCam.enabled = false;
            //Camera.main.enabled = true;
            SetNotations(true);
            whiteCharacter = player1character;
            blackCharacter = player2character;
            isPlayer1White = true;
        }
        else if (player1white != 0 && gameMode != PlayerType.Local)
        {
            //player1 is black
            blackPlayer         = PlayerType.Local;
            whitePlayer         = gameMode;
            blackCam.enabled    = true;
            Camera.main.enabled = false;
            SetNotations(false);
            blackCharacter = player1character;
            whiteCharacter = player2character;
            isPlayer1White = false;
        }

        //set the player portraits
        setCharacterImage(1, player1character);
        setCharacterImage(2, player2character);

        gameMode = whitePlayer;
        //testfirst();

        //set the tokens
        TokenSetter tokenScript = GetComponent <TokenSetter>();

        tokenScript.SetTokens(player1white, player1character, player2character);

        //set the character for the emotes
        player1emote.SetCharacter(player1character, true);
        player2emote.SetCharacter(player2character, false);

        //set the log's characters
        log.SetCharacters(whiteCharacter, blackCharacter);
    }