/// <summary> /// Gets a list of the pull request review comments in a specified repository. /// </summary> /// <remarks>http://developer.github.com/v3/pulls/comments/#list-comments-in-a-repository</remarks> /// <param name="owner">The owner of the repository</param> /// <param name="name">The name of the repository</param> /// <param name="request">The sorting <see cref="PullRequestReviewCommentRequest">parameters</see></param> /// <returns>The list of <see cref="PullRequestReviewComment"/>s for the specified repository</returns> public Task<IReadOnlyList<PullRequestReviewComment>> GetAllForRepository(string owner, string name, PullRequestReviewCommentRequest request) { Ensure.ArgumentNotNullOrEmptyString(owner, "owner"); Ensure.ArgumentNotNullOrEmptyString(name, "name"); Ensure.ArgumentNotNull(request, "request"); return ApiConnection.GetAll<PullRequestReviewComment>(ApiUrls.PullRequestReviewCommentsRepository(owner, name), request.ToParametersDictionary()); }
/// <summary> /// Gets a list of the pull request review comments in a specified repository. /// </summary> /// <remarks>http://developer.github.com/v3/pulls/comments/#list-comments-in-a-repository</remarks> /// <param name="repositoryId">The Id of the repository</param> /// <param name="request">The sorting <see cref="PullRequestReviewCommentRequest">parameters</see></param> public Task<IReadOnlyList<PullRequestReviewComment>> GetAllForRepository(int repositoryId, PullRequestReviewCommentRequest request) { Ensure.ArgumentNotNull(request, "request"); return GetAllForRepository(repositoryId, request, ApiOptions.None); }
/// <summary> /// Gets a list of the pull request review comments in a specified repository. /// </summary> /// <remarks>http://developer.github.com/v3/pulls/comments/#list-comments-in-a-repository</remarks> /// <param name="repositoryId">The Id of the repository</param> /// <param name="request">The sorting <see cref="PullRequestReviewCommentRequest">parameters</see></param> /// <param name="options">Options for changing the API response</param> public Task<IReadOnlyList<PullRequestReviewComment>> GetAllForRepository(int repositoryId, PullRequestReviewCommentRequest request, ApiOptions options) { Ensure.ArgumentNotNull(request, "request"); Ensure.ArgumentNotNull(options, "options"); return ApiConnection.GetAll<PullRequestReviewComment>(ApiUrls.PullRequestReviewCommentsRepository(repositoryId), request.ToParametersDictionary(), AcceptHeaders.ReactionsPreview, options); }
public async Task EnsuresDefaultValues() { var request = new PullRequestReviewCommentRequest(); Assert.Equal(SortDirection.Ascending, request.Direction); Assert.Null(request.Since); Assert.Equal(PullRequestReviewCommentSort.Created, request.Sort); }
/// <summary> /// Gets a list of the pull request review comments in a specified repository. /// </summary> /// <remarks>http://developer.github.com/v3/pulls/comments/#list-comments-in-a-repository</remarks> /// <param name="owner">The owner of the repository</param> /// <param name="name">The name of the repository</param> /// <param name="request">The sorting <see cref="PullRequestReviewCommentRequest">parameters</see></param> public Task<IReadOnlyList<PullRequestReviewComment>> GetAllForRepository(string owner, string name, PullRequestReviewCommentRequest request) { Ensure.ArgumentNotNullOrEmptyString(owner, "owner"); Ensure.ArgumentNotNullOrEmptyString(name, "name"); Ensure.ArgumentNotNull(request, "request"); return GetAllForRepository(owner, name, request, ApiOptions.None); }
public void RequestsCorrectUrl() { var connection = Substitute.For<IApiConnection>(); var client = new PullRequestReviewCommentsClient(connection); var request = new PullRequestReviewCommentRequest { Direction = SortDirection.Descending, Since = new DateTimeOffset(2013, 11, 15, 11, 43, 01, 00, new TimeSpan()), Sort = PullRequestReviewCommentSort.Updated, }; client.GetAllForRepository("fakeOwner", "fakeRepoName", request); connection.Received().GetAll<PullRequestReviewComment>(Arg.Is<Uri>(u => u.ToString() == "repos/fakeOwner/fakeRepoName/pulls/comments"), Arg.Is<Dictionary<string, string>>(d => d.Count == 3 && d["direction"] == "desc" && d["since"] == "2013-11-15T11:43:01Z" && d["sort"] == "updated")); }
public async Task EnsuresArgumentsNotNull() { var client = new PullRequestReviewCommentsClient(Substitute.For<IApiConnection>()); var request = new PullRequestReviewCommentRequest(); await Assert.ThrowsAsync<ArgumentNullException>(() => client.GetAllForRepository(null, "name", request)); await Assert.ThrowsAsync<ArgumentException>(() => client.GetAllForRepository("", "name", request)); await Assert.ThrowsAsync<ArgumentNullException>(() => client.GetAllForRepository("owner", null, request)); await Assert.ThrowsAsync<ArgumentException>(() => client.GetAllForRepository("owner", "", request)); await Assert.ThrowsAsync<ArgumentNullException>(() => client.GetAllForRepository("owner", "name", null)); }
public async Task ReturnsCorrectCountOfPullRequestReviewCommentWithStartForRepositoryParametrizedWithRepositoryId() { var pullRequest = await CreatePullRequest(_context); const int position = 1; var commentsToCreate = new List<string> { "Comment 1", "Comment 2", "Comment 3" }; await CreateComments(commentsToCreate, position, _context.RepositoryName, pullRequest.Sha, pullRequest.Number); var options = new ApiOptions { PageSize = 2, PageCount = 1, StartPage = 2 }; var pullRequestReviewCommentRequest = new PullRequestReviewCommentRequest { Direction = SortDirection.Descending }; var pullRequestComments = await _client.GetAllForRepository(_context.Repository.Id, pullRequestReviewCommentRequest, options); Assert.Equal(1, pullRequestComments.Count); }
public async Task ReturnsDistinctResultsBasedOnStartPageForRepositoryParametrizedWithRepositoryId() { var pullRequest = await CreatePullRequest(_context); const int position = 1; var commentsToCreate = new List<string> { "Comment 1", "Comment 2", "Comment 3" }; var pullRequestReviewCommentRequest = new PullRequestReviewCommentRequest { Direction = SortDirection.Descending }; await CreateComments(commentsToCreate, position, _context.RepositoryName, pullRequest.Sha, pullRequest.Number); var startOptions = new ApiOptions { PageSize = 1, PageCount = 1 }; var firstPage = await _client.GetAllForRepository(_context.Repository.Id, pullRequestReviewCommentRequest, startOptions); var skipStartOptions = new ApiOptions { PageSize = 1, PageCount = 1, StartPage = 2 }; var secondPage = await _client.GetAllForRepository(Helper.UserName, _context.RepositoryName, pullRequestReviewCommentRequest, skipStartOptions); Assert.NotEqual(firstPage[0].Id, secondPage[0].Id); }
public async Task RequestsCorrectUrlWithApiOptionsWithRepositoryId() { var connection = Substitute.For<IApiConnection>(); var client = new PullRequestReviewCommentsClient(connection); var request = new PullRequestReviewCommentRequest { Direction = SortDirection.Descending, Since = new DateTimeOffset(2013, 11, 15, 11, 43, 01, 00, new TimeSpan()), Sort = PullRequestReviewCommentSort.Updated }; var options = new ApiOptions { PageCount = 1, StartPage = 1, PageSize = 1 }; await client.GetAllForRepository(1, request, options); connection.Received().GetAll<PullRequestReviewComment>(Arg.Is<Uri>(u => u.ToString() == "repositories/1/pulls/comments"), Arg.Is<Dictionary<string, string>>(d => d.Count == 3 && d["direction"] == "desc" && d["since"] == "2013-11-15T11:43:01Z" && d["sort"] == "updated"), "application/vnd.github.squirrel-girl-preview", options); }
public async Task CanGetForRepositoryDescendingSortWithRepositoryId() { var pullRequest = await CreatePullRequest(_context); const int position = 1; var commentsToCreate = new[] { "Comment One", "Comment Two", "Comment Three", "Comment Four" }; await CreateComments(commentsToCreate, position, _context.RepositoryName, pullRequest.Sha, pullRequest.Number); var pullRequestReviewCommentRequest = new PullRequestReviewCommentRequest { Direction = SortDirection.Descending }; var pullRequestComments = await _client.GetAllForRepository(_context.Repository.Id, pullRequestReviewCommentRequest); Assert.Equal(pullRequestComments.Select(x => x.Body), commentsToCreate.Reverse()); }
public Task <IReadOnlyList <PullRequestReviewComment> > GetAllForRepository(long repositoryId, PullRequestReviewCommentRequest request, ApiOptions options) { Ensure.ArgumentNotNull(request, nameof(request)); Ensure.ArgumentNotNull(options, nameof(options)); return(ApiConnection.GetAll <PullRequestReviewComment>(ApiUrls.PullRequestReviewCommentsRepository(repositoryId), request.ToParametersDictionary(), AcceptHeaders.ReactionsPreview, options)); }
public Task <IReadOnlyList <PullRequestReviewComment> > GetAllForRepository(string owner, string name, PullRequestReviewCommentRequest request, ApiOptions options) { Ensure.ArgumentNotNullOrEmptyString(owner, nameof(owner)); Ensure.ArgumentNotNullOrEmptyString(name, nameof(name)); Ensure.ArgumentNotNull(request, nameof(request)); Ensure.ArgumentNotNull(options, nameof(options)); return(ApiConnection.GetAll <PullRequestReviewComment>(ApiUrls.PullRequestReviewCommentsRepository(owner, name), request.ToParametersDictionary(), AcceptHeaders.ReactionsPreview, options)); }
public Task <IReadOnlyList <PullRequestReviewComment> > GetAllForRepository(long repositoryId, PullRequestReviewCommentRequest request) { Ensure.ArgumentNotNull(request, nameof(request)); return(GetAllForRepository(repositoryId, request, ApiOptions.None)); }
public Task <IReadOnlyList <PullRequestReviewComment> > GetAllForRepository(string owner, string name, PullRequestReviewCommentRequest request) { Ensure.ArgumentNotNullOrEmptyString(owner, nameof(owner)); Ensure.ArgumentNotNullOrEmptyString(name, nameof(name)); Ensure.ArgumentNotNull(request, nameof(request)); return(GetAllForRepository(owner, name, request, ApiOptions.None)); }
/// <summary> /// Gets a list of the pull request review comments in a specified repository. /// </summary> /// <remarks>http://developer.github.com/v3/pulls/comments/#list-comments-in-a-repository</remarks> /// <param name="owner">The owner of the repository</param> /// <param name="name">The name of the repository</param> /// <param name="request">The sorting <see cref="PullRequestReviewCommentRequest">parameters</see></param> /// <returns>The list of <see cref="PullRequestReviewComment"/>s for the specified repository</returns> public Task <IReadOnlyList <PullRequestReviewComment> > GetForRepository(string owner, string name, PullRequestReviewCommentRequest request) { Ensure.ArgumentNotNullOrEmptyString(owner, "owner"); Ensure.ArgumentNotNullOrEmptyString(name, "name"); Ensure.ArgumentNotNull(request, "request"); return(ApiConnection.GetAll <PullRequestReviewComment>(ApiUrls.PullRequestReviewCommentsRepository(owner, name), request.ToParametersDictionary())); }