public void SendRequest_ShouldRequestANewTokenIfExpired() { Task.Run(async() => { string expired = readMockDataFromFile($"/../../../MockData/expiredTokenMock.json"); string valid = readMockDataFromFile($"/../../../MockData/tokenMock.json"); var expectedDict = JsonConvert.DeserializeObject <Dictionary <string, string> >(valid); var client = new Mock <IWebClient>(); var response = new Mock <IApiResponse>(); response.Setup(i => i.IsSuccessful()).Returns(true); response.Setup(i => i.ReadContentAsync()).ReturnsAsync(expired); client.Setup(i => i.RequestAccessTokenAsync()).ReturnsAsync(response.Object); client.Setup(i => i.MakeApiRequestAsync(It.IsAny <string>())).ReturnsAsync(response.Object); var reader = new ApiReader(defaultConfig, client.Object); try { await reader.GetAsync <Dictionary <string, string> >("anything"); response.Setup(i => i.ReadContentAsync()).ReturnsAsync(valid); var answer = await reader.GetAsync <Dictionary <string, string> >("anything"); answer.Should().BeEquivalentTo(expectedDict); } catch { Assert.Fail(); } }).GetAwaiter().GetResult(); }
public void GetAsync_ShouldThrowIfInvalidTest() { Task.Run(async() => { try { var reader = new ApiReader(); // reader has no configuration nor token await reader.GetAsync <object>("anyquery"); Assert.Fail(); } catch { } }).GetAwaiter().GetResult(); }
public async Task <Static> GetStaticAsync(int regionID) { string query = $"/sc2/static/profile/{regionID}"; return(await reader.GetAsync <Static>(query)); }
public async Task <BattleAccount> GetApiAccountAsync(string battleTag) { string query = $"/d3/profile/{battleTag}/"; return(await reader.GetAsync <BattleAccount>(query)); }
public async Task <Achievement> GetAchievementAsync(int achievementId) { string query = $"/wow/achievement/{achievementId}"; return(await reader.GetAsync <Achievement>(query)); }
public async Task <Card> GetCardAsync(string idOrSlug) { string query = $"/hearhstone/cards/{idOrSlug}"; return(await reader.GetAsync <Card>(query)); }