/// <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); }
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); }
/// <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)); }