public async Task <IEnumerable <Issue> > GetAllOpenIssuesForRepository(long repositoryId, GitHubClient authorizedGitHubClient) { if (_issuesClient == null) { _issuesClient = new IssuesClient(new ApiConnection(authorizedGitHubClient.Connection)); } return(await _issuesClient.GetAllForRepository(repositoryId)); }
public async Task EnsuresArgumentsNotNull() { var connection = Substitute.For <IApiConnection>(); var client = new IssuesClient(connection); await Assert.ThrowsAsync <ArgumentNullException>(() => client.GetAllForRepository(null, "name", new RepositoryIssueRequest())); await Assert.ThrowsAsync <ArgumentException>(() => client.GetAllForRepository("", "name", new RepositoryIssueRequest())); await Assert.ThrowsAsync <ArgumentNullException>(() => client.GetAllForRepository("owner", null, new RepositoryIssueRequest())); await Assert.ThrowsAsync <ArgumentException>(() => client.GetAllForRepository("owner", "", new RepositoryIssueRequest())); await Assert.ThrowsAsync <ArgumentNullException>(() => client.GetAllForRepository("owner", "name", null)); }
public async Task SendsAppropriateParametersWithRepositoryIdWithApiOptions() { var connection = Substitute.For <IApiConnection>(); var client = new IssuesClient(connection); var options = new ApiOptions { PageCount = 1, StartPage = 1, PageSize = 1 }; await client.GetAllForRepository(1, new RepositoryIssueRequest { SortDirection = SortDirection.Ascending }, options); connection.Received().GetAll <Issue>(Arg.Is <Uri>(u => u.ToString() == "repositories/1/issues"), Arg.Is <Dictionary <string, string> >(d => d.Count == 4 && d["state"] == "open" && d["direction"] == "asc" && d["sort"] == "created" && d["filter"] == "assigned"), "application/vnd.github.squirrel-girl-preview+json", options); }
public void RequestsCorrectUrl() { var connection = Substitute.For <IApiConnection>(); var client = new IssuesClient(connection); client.GetAllForRepository("fake", "repo"); connection.Received().GetAll <Issue>(Arg.Is <Uri>(u => u.ToString() == "repos/fake/repo/issues"), Arg.Any <Dictionary <string, string> >()); }
public async Task RequestsCorrectUrlWithRepositoryId() { var connection = Substitute.For <IApiConnection>(); var client = new IssuesClient(connection); await client.GetAllForRepository(1); connection.Received().GetAll <Issue>(Arg.Is <Uri>(u => u.ToString() == "repositories/1/issues"), Arg.Any <Dictionary <string, string> >(), "application/vnd.github.squirrel-girl-preview+json", Args.ApiOptions); }
public void SendsAppropriateParameters() { var connection = Substitute.For <IApiConnection>(); var client = new IssuesClient(connection); client.GetAllForRepository("fake", "repo", new RepositoryIssueRequest { SortDirection = SortDirection.Ascending }); connection.Received().GetAll <Issue>(Arg.Is <Uri>(u => u.ToString() == "repos/fake/repo/issues"), Arg.Is <Dictionary <string, string> >(d => d.Count == 4 && d["state"] == "open" && d["direction"] == "asc" && d["sort"] == "created" && d["filter"] == "assigned")); }
public async Task RequestsCorrectUrlWithApiOptions() { var connection = Substitute.For <IApiConnection>(); var client = new IssuesClient(connection); var options = new ApiOptions { PageCount = 1, StartPage = 1, PageSize = 1 }; await client.GetAllForRepository("fake", "repo", options); connection.Received().GetAll <Issue>(Arg.Is <Uri>(u => u.ToString() == "repos/fake/repo/issues"), Arg.Any <Dictionary <string, string> >(), "application/vnd.github.squirrel-girl-preview+json", options); }
public async Task SendsAppropriateParameters() { var connection = Substitute.For <IApiConnection>(); var client = new IssuesClient(connection); await client.GetAllForRepository("fake", "repo", new RepositoryIssueRequest { SortDirection = SortDirection.Ascending }); connection.Received().GetAll <Issue>(Arg.Is <Uri>(u => u.ToString() == "repos/fake/repo/issues"), Arg.Is <Dictionary <string, string> >(d => d.Count == 4 && d["state"] == "open" && d["direction"] == "asc" && d["sort"] == "created" && d["filter"] == "assigned"), "application/vnd.github.squirrel-girl-preview", Args.ApiOptions); }
public async Task EnsuresArgumentsNotNull() { var client = new IssuesClient(Substitute.For <IApiConnection>()); var options = new ApiOptions(); var request = new RepositoryIssueRequest(); await Assert.ThrowsAsync <ArgumentNullException>(() => client.GetAllForRepository(null, "name")); await Assert.ThrowsAsync <ArgumentNullException>(() => client.GetAllForRepository(null, "name", options)); await Assert.ThrowsAsync <ArgumentNullException>(() => client.GetAllForRepository(null, "name", request)); await Assert.ThrowsAsync <ArgumentNullException>(() => client.GetAllForRepository(null, "name", request, options)); await Assert.ThrowsAsync <ArgumentException>(() => client.GetAllForRepository("", "name")); await Assert.ThrowsAsync <ArgumentException>(() => client.GetAllForRepository("", "name", options)); await Assert.ThrowsAsync <ArgumentException>(() => client.GetAllForRepository("", "name", request)); await Assert.ThrowsAsync <ArgumentException>(() => client.GetAllForRepository("", "name", request, options)); await Assert.ThrowsAsync <ArgumentNullException>(() => client.GetAllForRepository("owner", null)); await Assert.ThrowsAsync <ArgumentNullException>(() => client.GetAllForRepository("owner", null, options)); await Assert.ThrowsAsync <ArgumentNullException>(() => client.GetAllForRepository("owner", null, request)); await Assert.ThrowsAsync <ArgumentNullException>(() => client.GetAllForRepository("owner", null, request, options)); await Assert.ThrowsAsync <ArgumentException>(() => client.GetAllForRepository("owner", "")); await Assert.ThrowsAsync <ArgumentException>(() => client.GetAllForRepository("owner", "", options)); await Assert.ThrowsAsync <ArgumentException>(() => client.GetAllForRepository("owner", "", request)); await Assert.ThrowsAsync <ArgumentException>(() => client.GetAllForRepository("owner", "", request, options)); await Assert.ThrowsAsync <ArgumentNullException>(() => client.GetAllForRepository("owner", "name", (ApiOptions)null)); await Assert.ThrowsAsync <ArgumentNullException>(() => client.GetAllForRepository("owner", "name", (RepositoryIssueRequest)null)); await Assert.ThrowsAsync <ArgumentNullException>(() => client.GetAllForRepository("owner", "name", null, options)); await Assert.ThrowsAsync <ArgumentNullException>(() => client.GetAllForRepository("owner", "name", request, null)); }
public void SendsAppropriateParameters() { var connection = Substitute.For<IApiConnection>(); var client = new IssuesClient(connection); client.GetAllForRepository("fake", "repo", new RepositoryIssueRequest { SortDirection = SortDirection.Ascending }); connection.Received().GetAll<Issue>(Arg.Is<Uri>(u => u.ToString() == "repos/fake/repo/issues"), Arg.Is<Dictionary<string, string>>(d => d.Count == 4 && d["state"] == "open" && d["direction"] == "asc" && d["sort"] == "created" && d["filter"] == "assigned")); }
public void RequestsCorrectUrl() { var connection = Substitute.For<IApiConnection>(); var client = new IssuesClient(connection); client.GetAllForRepository("fake", "repo"); connection.Received().GetAll<Issue>(Arg.Is<Uri>(u => u.ToString() == "repos/fake/repo/issues"), Arg.Any<Dictionary<string, string>>()); }
public async Task EnsuresArgumentsNotNull() { var connection = Substitute.For<IApiConnection>(); var client = new IssuesClient(connection); await Assert.ThrowsAsync<ArgumentNullException>(() => client.GetAllForRepository(null, "name", new RepositoryIssueRequest())); await Assert.ThrowsAsync<ArgumentException>(() => client.GetAllForRepository("", "name", new RepositoryIssueRequest())); await Assert.ThrowsAsync<ArgumentNullException>(() => client.GetAllForRepository("owner", null, new RepositoryIssueRequest())); await Assert.ThrowsAsync<ArgumentException>(() => client.GetAllForRepository("owner", "", new RepositoryIssueRequest())); await Assert.ThrowsAsync<ArgumentNullException>(() => client.GetAllForRepository("owner", "name", null)); }
public async Task EnsuresArgumentsNotNull() { var client = new IssuesClient(Substitute.For<IApiConnection>()); var options = new ApiOptions(); var request = new RepositoryIssueRequest(); await Assert.ThrowsAsync<ArgumentNullException>(() => client.GetAllForRepository(null, "name")); await Assert.ThrowsAsync<ArgumentNullException>(() => client.GetAllForRepository(null, "name", options)); await Assert.ThrowsAsync<ArgumentNullException>(() => client.GetAllForRepository(null, "name", request)); await Assert.ThrowsAsync<ArgumentNullException>(() => client.GetAllForRepository(null, "name", request, options)); await Assert.ThrowsAsync<ArgumentException>(() => client.GetAllForRepository("", "name")); await Assert.ThrowsAsync<ArgumentException>(() => client.GetAllForRepository("", "name", options)); await Assert.ThrowsAsync<ArgumentException>(() => client.GetAllForRepository("", "name", request)); await Assert.ThrowsAsync<ArgumentException>(() => client.GetAllForRepository("", "name", request, options)); await Assert.ThrowsAsync<ArgumentNullException>(() => client.GetAllForRepository("owner", null)); await Assert.ThrowsAsync<ArgumentNullException>(() => client.GetAllForRepository("owner", null, options)); await Assert.ThrowsAsync<ArgumentNullException>(() => client.GetAllForRepository("owner", null, request)); await Assert.ThrowsAsync<ArgumentNullException>(() => client.GetAllForRepository("owner", null, request, options)); await Assert.ThrowsAsync<ArgumentException>(() => client.GetAllForRepository("owner", "")); await Assert.ThrowsAsync<ArgumentException>(() => client.GetAllForRepository("owner", "", options)); await Assert.ThrowsAsync<ArgumentException>(() => client.GetAllForRepository("owner", "", request)); await Assert.ThrowsAsync<ArgumentException>(() => client.GetAllForRepository("owner", "", request, options)); await Assert.ThrowsAsync<ArgumentNullException>(() => client.GetAllForRepository("owner", "name", (ApiOptions)null)); await Assert.ThrowsAsync<ArgumentNullException>(() => client.GetAllForRepository("owner", "name", (RepositoryIssueRequest)null)); await Assert.ThrowsAsync<ArgumentNullException>(() => client.GetAllForRepository("owner", "name", null, options)); await Assert.ThrowsAsync<ArgumentNullException>(() => client.GetAllForRepository("owner", "name", request, null)); }
public async Task SendsAppropriateParametersWithRepositoryIdWithApiOptions() { var connection = Substitute.For<IApiConnection>(); var client = new IssuesClient(connection); var options = new ApiOptions { PageCount = 1, StartPage = 1, PageSize = 1 }; await client.GetAllForRepository(1, new RepositoryIssueRequest { SortDirection = SortDirection.Ascending }, options); connection.Received().GetAll<Issue>(Arg.Is<Uri>(u => u.ToString() == "repositories/1/issues"), Arg.Is<Dictionary<string, string>>(d => d.Count == 4 && d["state"] == "open" && d["direction"] == "asc" && d["sort"] == "created" && d["filter"] == "assigned"), "application/vnd.github.squirrel-girl-preview", options); }
public async Task RequestsCorrectUrlWithRepositoryIdWithApiOptions() { var connection = Substitute.For<IApiConnection>(); var client = new IssuesClient(connection); var options = new ApiOptions { PageCount = 1, StartPage = 1, PageSize = 1 }; await client.GetAllForRepository(1, options); connection.Received().GetAll<Issue>(Arg.Is<Uri>(u => u.ToString() == "repositories/1/issues"), Arg.Any<Dictionary<string, string>>(), "application/vnd.github.squirrel-girl-preview", options); }
public async Task RequestsCorrectUrl() { var connection = Substitute.For<IApiConnection>(); var client = new IssuesClient(connection); await client.GetAllForRepository("fake", "repo"); connection.Received().GetAll<Issue>(Arg.Is<Uri>(u => u.ToString() == "repos/fake/repo/issues"), Arg.Any<Dictionary<string, string>>(), "application/vnd.github.squirrel-girl-preview", Args.ApiOptions); }