Files
octokit.net/Octokit.Tests.Integration/Clients/RateLimitClientTests.cs
2023-11-13 16:19:38 -06:00

43 lines
1.9 KiB
C#

using System.Threading.Tasks;
using Xunit;
namespace Octokit.Tests.Integration.Clients
{
public class RateLimitClientTests
{
[IntegrationTest]
public async Task CanRetrieveResourceRateLimits()
{
var github = Helper.GetAuthenticatedClient();
var result = await github.RateLimit.GetRateLimits();
// Test the core limits
Assert.True(result.Resources.Core.Limit > 0);
Assert.True(result.Resources.Core.Remaining > -1);
Assert.True(result.Resources.Core.Remaining <= result.Resources.Core.Limit);
Assert.True(result.Resources.Core.ResetAsUtcEpochSeconds > 0);
Assert.NotEqual(default, result.Resources.Core.Reset);
// Test the search limits
Assert.True(result.Resources.Search.Limit > 0);
Assert.True(result.Resources.Search.Remaining > -1);
Assert.True(result.Resources.Search.Remaining <= result.Resources.Search.Limit);
Assert.True(result.Resources.Search.ResetAsUtcEpochSeconds > 0);
Assert.NotEqual(default, result.Resources.Search.Reset);
// Test the graphql limits
Assert.True(result.Resources.Graphql.Limit > 0);
Assert.True(result.Resources.Graphql.Remaining > -1);
Assert.True(result.Resources.Graphql.Remaining <= result.Resources.Graphql.Limit);
Assert.True(result.Resources.Graphql.ResetAsUtcEpochSeconds > 0);
Assert.NotEqual(default, result.Resources.Graphql.Reset);
// Test the depreciated rate limits
Assert.True(result.Rate.Limit > 0);
Assert.True(result.Rate.Remaining > -1);
Assert.True(result.Rate.Remaining <= result.Rate.Limit);
Assert.True(result.Resources.Search.ResetAsUtcEpochSeconds > 0);
Assert.NotEqual(default, result.Resources.Search.Reset);
}
}
}