Пример #1
0
        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);
        }
Пример #2
0
        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));
        }
Пример #3
0
        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);
        }