From 68840e317f070ac4b4fccc6705f3b4c11985e0de Mon Sep 17 00:00:00 2001 From: Henrik Andersson Date: Tue, 7 Apr 2015 07:15:14 +1000 Subject: [PATCH] Making the `since` parameter required Adding :lipstick: `Task.FromResult` to tests --- .../Clients/RepositoriesClientTests.cs | 2 +- .../ObservableRepositoriesClientTests.cs | 5 +---- .../Clients/RepositoriesClientTests.cs | 4 ++-- .../ObservableRepositoriesClientTests.cs | 18 +++++++++++------- Octokit/Clients/IRepositoriesClient.cs | 2 +- Octokit/Clients/RepositoriesClient.cs | 2 +- .../Models/Request/PublicRepositoryRequest.cs | 5 ++++- 7 files changed, 21 insertions(+), 17 deletions(-) diff --git a/Octokit.Tests.Integration/Clients/RepositoriesClientTests.cs b/Octokit.Tests.Integration/Clients/RepositoriesClientTests.cs index 0117463a..6c40f537 100644 --- a/Octokit.Tests.Integration/Clients/RepositoriesClientTests.cs +++ b/Octokit.Tests.Integration/Clients/RepositoriesClientTests.cs @@ -558,7 +558,7 @@ public class RepositoriesClientTests { var github = Helper.GetAuthenticatedClient(); - var request = new PublicRepositoryRequest { Since = 32732250 }; + var request = new PublicRepositoryRequest(32732250); var repositories = await github.Repository.GetAllPublic(request); Assert.NotNull(repositories); diff --git a/Octokit.Tests.Integration/Reactive/ObservableRepositoriesClientTests.cs b/Octokit.Tests.Integration/Reactive/ObservableRepositoriesClientTests.cs index 6f870c81..397eb663 100644 --- a/Octokit.Tests.Integration/Reactive/ObservableRepositoriesClientTests.cs +++ b/Octokit.Tests.Integration/Reactive/ObservableRepositoriesClientTests.cs @@ -37,10 +37,7 @@ namespace Octokit.Tests.Integration var github = Helper.GetAuthenticatedClient(); var client = new ObservableRepositoriesClient(github); - var request = new PublicRepositoryRequest - { - Since = 32732250 - }; + var request = new PublicRepositoryRequest(32732250); var repositories = await client.GetAllPublic(request).ToArray(); Assert.NotEmpty(repositories); Assert.Equal(32732252, repositories[0].Id); diff --git a/Octokit.Tests/Clients/RepositoriesClientTests.cs b/Octokit.Tests/Clients/RepositoriesClientTests.cs index 1dcb5787..ed73c0f7 100644 --- a/Octokit.Tests/Clients/RepositoriesClientTests.cs +++ b/Octokit.Tests/Clients/RepositoriesClientTests.cs @@ -282,7 +282,7 @@ namespace Octokit.Tests.Clients var connection = Substitute.For(); var client = new RepositoriesClient(connection); - client.GetAllPublic(new PublicRepositoryRequest { Since = 364 }); + client.GetAllPublic(new PublicRepositoryRequest(364)); connection.Received() .GetAll(Arg.Is(u => u.ToString() == "/repositories"), @@ -295,7 +295,7 @@ namespace Octokit.Tests.Clients var connection = Substitute.For(); var client = new RepositoriesClient(connection); - client.GetAllPublic(new PublicRepositoryRequest { Since = 364 }); + client.GetAllPublic(new PublicRepositoryRequest(364)); connection.Received() .GetAll(Arg.Is(u => u.ToString() == "/repositories"), diff --git a/Octokit.Tests/Reactive/ObservableRepositoriesClientTests.cs b/Octokit.Tests/Reactive/ObservableRepositoriesClientTests.cs index a69ab0b2..d1668b14 100644 --- a/Octokit.Tests/Reactive/ObservableRepositoriesClientTests.cs +++ b/Octokit.Tests/Reactive/ObservableRepositoriesClientTests.cs @@ -166,7 +166,7 @@ namespace Octokit.Tests.Reactive var firstPageUrl = new Uri("/repositories", UriKind.Relative); var secondPageUrl = new Uri("https://example.com/page/2"); var firstPageLinks = new Dictionary { { "next", secondPageUrl } }; - var firstPageResponse = new ApiResponse>( + IApiResponse> firstPageResponse = new ApiResponse>( CreateResponseWithApiInfo(firstPageLinks), new List { @@ -174,9 +174,10 @@ namespace Octokit.Tests.Reactive new Repository(365), new Repository(366) }); + var thirdPageUrl = new Uri("https://example.com/page/3"); var secondPageLinks = new Dictionary { { "next", thirdPageUrl } }; - var secondPageResponse = new ApiResponse> + IApiResponse> secondPageResponse = new ApiResponse> ( CreateResponseWithApiInfo(secondPageLinks), new List @@ -185,24 +186,27 @@ namespace Octokit.Tests.Reactive new Repository(368), new Repository(369) }); - var lastPageResponse = new ApiResponse>( + + IApiResponse> lastPageResponse = new ApiResponse>( new Response(), new List { new Repository(370) }); + var gitHubClient = Substitute.For(); gitHubClient.Connection.Get>(firstPageUrl, Arg.Is>(d => d.Count == 1 && d["since"] == "364"), null) - .Returns(Task.Factory.StartNew>>(() => firstPageResponse)); + .Returns(Task.FromResult(firstPageResponse)); gitHubClient.Connection.Get>(secondPageUrl, null, null) - .Returns(Task.Factory.StartNew>>(() => secondPageResponse)); + .Returns(Task.FromResult(secondPageResponse)); gitHubClient.Connection.Get>(thirdPageUrl, null, null) - .Returns(Task.Factory.StartNew>>(() => lastPageResponse)); + .Returns(Task.FromResult(lastPageResponse)); + var repositoriesClient = new ObservableRepositoriesClient(gitHubClient); - var results = await repositoriesClient.GetAllPublic(new PublicRepositoryRequest { Since = 364 }).ToArray(); + var results = await repositoriesClient.GetAllPublic(new PublicRepositoryRequest(364)).ToArray(); Assert.Equal(7, results.Length); gitHubClient.Connection.Received(1).Get>(firstPageUrl, diff --git a/Octokit/Clients/IRepositoriesClient.cs b/Octokit/Clients/IRepositoriesClient.cs index 18533597..e6f07092 100644 --- a/Octokit/Clients/IRepositoriesClient.cs +++ b/Octokit/Clients/IRepositoriesClient.cs @@ -111,7 +111,7 @@ namespace Octokit /// - /// Gets all public repositories since the integer ID of the last Repository that you’ve seen. + /// Gets all public repositories since the integer ID of the last Repository that you've seen. /// /// /// See the API documentation for more information. diff --git a/Octokit/Clients/RepositoriesClient.cs b/Octokit/Clients/RepositoriesClient.cs index 6bb9c6a4..479ac89f 100644 --- a/Octokit/Clients/RepositoriesClient.cs +++ b/Octokit/Clients/RepositoriesClient.cs @@ -189,7 +189,7 @@ namespace Octokit } /// - /// Gets all public repositories since the integer ID of the last Repository that you�ve seen. + /// Gets all public repositories since the integer ID of the last Repository that you've seen. /// /// /// See the API documentation for more information. diff --git a/Octokit/Models/Request/PublicRepositoryRequest.cs b/Octokit/Models/Request/PublicRepositoryRequest.cs index 926374a9..d66fdb52 100644 --- a/Octokit/Models/Request/PublicRepositoryRequest.cs +++ b/Octokit/Models/Request/PublicRepositoryRequest.cs @@ -11,8 +11,11 @@ namespace Octokit [DebuggerDisplay("{DebuggerDisplay,nq}")] public class PublicRepositoryRequest : RequestParameters { - public PublicRepositoryRequest() + public PublicRepositoryRequest(int since) { + Ensure.ArgumentNotNull(since, "since"); + + Since = since; } public long Since { get; set; }