public void TestGetTags() { var headers = new HttpTestHeaders { { "Link", @"<https://api.github.com/repositories/100/tags?per_page=100&page=2>; rel=""next"", <https://api.github.com/repositories/100/tags?per_page=100&page=100>; rel=""last""" }, }; var tagsContent = @"[{ ""name"": ""v1.2.0"", ""commit"": { ""sha"": ""abc123"" } }, { ""name"": ""v1.0.0"", ""commit"": { ""sha"": ""abc456"" } }]"; transport.SetupGetString("https://api.github.com/repos/owner/repository/tags?per_page=100", headers, () => tagsContent); transport.SetupGetString("https://api.github.com/repositories/100/tags?per_page=100&page=2", null, () => "[]") .Verifiable(); var tags = driver.GetTags(); CollectionAssert.AreEqual( new[] { "v1.2.0:abc123", "v1.0.0:abc456", }, Arr.Map(tags, (item) => $"{item.Key}:{item.Value}")); Verify(transport); }
public void TestIsRateLimit(bool expected, string remainin) { var headers = new HttpTestHeaders { { "X-RateLimit-Remainin", remainin }, }; var github = new Github(io.Object, config.Object, null, transport.Object); Assert.AreEqual(expected, github.IsRateLimit(headers)); }
public void TestGetRateLimit() { var headers = new HttpTestHeaders { { "X-RateLimit-Limit", "5000" }, { "X-RateLimit-Reset", "1574843420" }, }; var github = new Github(io.Object, config.Object, null, transport.Object); var(limit, reset) = github.GetRateLimit(headers); var expectedReset = DateTimeOffset.FromUnixTimeSeconds(1574843420) .ToLocalTime().ToString("yyyy-MM-dd HH:mm:ss"); Assert.AreEqual("5000", limit); Assert.AreEqual(expectedReset, reset); }