Пример #1
0
        /// <summary>
        /// Gets the WoW Token for the specified region.
        /// </summary>
        /// <param name="wowRegion">The region.</param>
        /// <returns></returns>
        public async Task <WoWTokenItem> GetWoWTokenByRegion(WowRegion wowRegion)
        {
            var deserializerSettings = new JsonSerializerSettings
            {
                ContractResolver = new DefaultContractResolver
                {
                    NamingStrategy = new SnakeCaseNamingStrategy()
                }
            };

            var region = Enum.GetName(typeof(WowRegion), wowRegion)?.ToLower();

            var uri = BuildUriStringWithRegionQuery(region);

            var response = await _client.GetAsync(uri);

            var wowTokenItem = JsonConvert.DeserializeObject <WoWTokenItem>(await response.Content.ReadAsStringAsync(), deserializerSettings);

            if (wowTokenItem != null)
            {
                wowTokenItem.Region = region;
            }

            return(wowTokenItem);
        }
Пример #2
0
 public override void LoadFromXml(XElement element)
 {
     try
     {
         IsLoaded                     = false;
         LoginData                    = GetElementValue <string>(element.Element("LoginData"));
         PasswordData                 = GetElementValue <string>(element.Element("PasswordData"));
         AcountName                   = GetElementValue <string>(element.Element("AcountName"));
         CharacterName                = GetElementValue <string>(element.Element("CharacterName"));
         ServerName                   = GetElementValue <string>(element.Element("ServerName"));
         AuthenticatorSerialData      = GetElementValue <string>(element.Element("AuthenticatorSerialData"));
         AuthenticatorRestoreCodeData = GetElementValue <string>(element.Element("AuthenticatorRestoreCodeData"));
         Region          = GetElementValue <WowSettings.WowRegion>(element.Element("Region"));
         WowPath         = GetElementValue <string>(element.Element("WowPath"));
         WowArgs         = GetElementValue <string>(element.Element("WowArgs"));
         WowWindowWidth  = GetElementValue <int>(element.Element("WowWindowWidth"));
         WowWindowHeight = GetElementValue <int>(element.Element("WowWindowHeight"));
         WowWindowX      = GetElementValue <int>(element.Element("WowWindowX"));
         WowWindowY      = GetElementValue <int>(element.Element("WowWindowY"));
     }
     finally
     {
         IsLoaded = true;
     }
 }
        public void WoWTokenManager_GetWoWTokenByRegion_ReturnsWoWTokenTokenItem()
        {
            // Arrange
            const WowRegion region = WowRegion.Us;

            var expectedToken = new WoWTokenItem()
            {
                LastUpdatedTimestamp = DateTime.Now.ToString(CultureInfo.InvariantCulture),
                Price  = string.Empty,
                Region = region.ToString()
            };

            _wowTokenService.Setup(m => m.GetWoWTokenByRegion(It.IsAny <WowRegion>())).ReturnsAsync(expectedToken);

            // Act
            var response = _manager.GetWoWTokenByRegion(region);

            // Assert
            Assert.Equal(expectedToken.LastUpdatedTimestamp, response.Result.LastUpdatedTimestamp);
            Assert.Equal(expectedToken.Price, response.Result.Price);
            Assert.Equal(expectedToken.Region, response.Result.Region);
        }
        public void WoWTokenManager_GetAllWoWTokens_ReturnsWoWTokenTokenItem()
        {
            // Arrange
            const WowRegion region = WowRegion.Us;

            var expectedToken = new WoWTokenItem()
            {
                LastUpdatedTimestamp = DateTime.Now.ToString(CultureInfo.InvariantCulture),
                Price  = string.Empty,
                Region = region.ToString()
            };

            _wowTokenService.Setup(m => m.GetAllWoWTokens()).ReturnsAsync(new WoWTokenResponse(new[] { expectedToken, }));

            // Act
            var response = _manager.GetAllWoWTokens();

            // Assert
            var actualToken = response.Result.WowTokens.ToList().First();

            Assert.Equal(expectedToken.LastUpdatedTimestamp, actualToken.LastUpdatedTimestamp);
            Assert.Equal(expectedToken.Price, actualToken.Price);
            Assert.Equal(expectedToken.Region, actualToken.Region);
        }
Пример #5
0
 /// <summary>
 /// Gets the WoW Token for the specified region.
 /// </summary>
 /// <param name="wowRegion">The region.</param>
 /// <returns></returns>
 public async Task <WoWTokenItem> GetWoWTokenByRegion(WowRegion wowRegion)
 {
     _logger.LogInformation($"Retrieving WoW Token data from {wowRegion}");
     return(await _wowTokenService.GetWoWTokenByRegion(wowRegion));
 }
 public async Task <WoWTokenItem> GetTokenByRegion([FromRoute(Name = "region")][Required] WowRegion wowRegion)
 {
     return(await this.wowTokenManager.GetWoWTokenByRegion(wowRegion));
 }