public async Task ErrorHandler_ShouldRetry_ForTimeout_IfCancelled() { RiotClientSettings settings = RiotClient.DefaultSettings(); settings.ThrowOnError = true; settings.RetryOnTimeout = true; settings.MaxRequestAttempts = 2; var eventCount = 0; IRiotClient client = new RiotClient(settings, PlatformId.NA1); client.ConnectionFailed += (s, e) => { Assert.Fail("Connection failed"); }; client.RequestTimedOut += (s, e) => { ++eventCount; }; client.ResourceNotFound += (s, e) => { Assert.Fail("Not found"); }; client.ResponseError += (s, e) => { Assert.Fail("Response contained an error"); }; client.ServerError += (s, e) => { Assert.Fail("Response contained a server error"); }; var cts = new CancellationTokenSource(); Task <ShardStatus> task = client.GetShardDataAsync(token: cts.Token); cts.Cancel(); try { ShardStatus result = await task; } catch (Exception ex) when(!(ex is AssertionException)) { } Assert.That(eventCount, Is.EqualTo(1), "Event was raised wrong number of times."); }
public async Task ErrorHandler_ShouldReturnNull_ForTimeout() { RiotClientSettings settings = RiotClient.DefaultSettings(); settings.RetryOnTimeout = false; settings.ThrowOnError = false; var eventCount = 0; IRiotClient client = new RiotClient(settings, PlatformId.NA1); client.ConnectionFailed += (s, e) => { Assert.Fail("Connection failed"); }; client.RequestTimedOut += (s, e) => { ++eventCount; }; client.ResourceNotFound += (s, e) => { Assert.Fail("Not found"); }; client.ResponseError += (s, e) => { Assert.Fail("Response contained an error"); }; client.ServerError += (s, e) => { Assert.Fail("Response contained a server error"); }; var cts = new CancellationTokenSource(); Task <ShardStatus> task = client.GetShardDataAsync(token: cts.Token); cts.Cancel(); ShardStatus result = await task; Assert.That(result, Is.Null); Assert.That(eventCount, Is.EqualTo(1), "Event was raised wrong number of times."); }
public async Task GetShardDataAsyncTest_WithPlatformIdParameter() { IRiotClient client = new RiotClient(); ShardStatus shard = await client.GetShardDataAsync(PlatformId.KR); Assert.That(shard, Is.Not.Null); Assert.That(shard.Name, Is.EqualTo("Republic of Korea")); Assert.That(shard.Slug, Is.EqualTo("kr")); Assert.That(shard.RegionTag, Is.EqualTo("kr1")); }
public async Task GetShardDataAsyncTest_WithDefaultPlatformId() { RiotClient.DefaultPlatformId = PlatformId.EUN1; IRiotClient client = new RiotClient(); ShardStatus shard = await client.GetShardDataAsync(); Assert.That(shard, Is.Not.Null); Assert.That(shard.Name, Is.EqualTo("EU Nordic & East")); Assert.That(shard.Slug, Is.EqualTo("eune")); Assert.That(shard.RegionTag, Is.EqualTo("eun1")); Assert.That(shard.Hostname, Is.Not.Null.And.Not.Empty); Assert.That(shard.Services, Is.Not.Null.And.Not.Empty); Assert.That(shard.Locales, Is.Not.Null.And.Not.Empty); }