public void PullRequestReviewCommentReplyCreateEnsuresArgumentsValue() { string body = "body"; int inReplyTo = 1; var comment = new PullRequestReviewCommentReplyCreate(body, inReplyTo); Assert.Equal(body, comment.Body); Assert.Equal(inReplyTo, comment.InReplyTo); }
/// <summary> /// Creates a comment on a pull request review as a reply to another comment. /// </summary> /// <remarks>http://developer.github.com/v3/pulls/comments/#create-a-comment</remarks> /// <param name="owner">The owner of the repository</param> /// <param name="name">The name of the repository</param> /// <param name="number">The pull request number</param> /// <param name="comment">The comment</param> /// <returns>The created <see cref="PullRequestReviewComment"/></returns> public async Task <PullRequestReviewComment> CreateReply(string owner, string name, int number, PullRequestReviewCommentReplyCreate comment) { Ensure.ArgumentNotNullOrEmptyString(owner, "owner"); Ensure.ArgumentNotNullOrEmptyString(name, "name"); Ensure.ArgumentNotNull(comment, "comment"); var endpoint = ApiUrls.PullRequestReviewComments(owner, name, number); var response = await ApiConnection.Connection.Post <PullRequestReviewComment>(endpoint, comment, null, null).ConfigureAwait(false); if (response.HttpResponse.StatusCode != HttpStatusCode.Created) { throw new ApiException("Invalid Status Code returned. Expected a 201", response.HttpResponse.StatusCode); } return(response.Body); }
/// <summary> /// Creates a comment on a pull request review as a reply to another comment. /// </summary> /// <remarks>http://developer.github.com/v3/pulls/comments/#create-a-comment</remarks> /// <param name="owner">The owner of the repository</param> /// <param name="name">The name of the repository</param> /// <param name="number">The pull request number</param> /// <param name="comment">The comment</param> /// <returns>The created <see cref="PullRequestReviewComment"/></returns> public async Task<PullRequestReviewComment> CreateReply(string owner, string name, int number, PullRequestReviewCommentReplyCreate comment) { Ensure.ArgumentNotNullOrEmptyString(owner, "owner"); Ensure.ArgumentNotNullOrEmptyString(name, "name"); Ensure.ArgumentNotNull(comment, "comment"); var response = await ApiConnection.Connection.Post<PullRequestReviewComment>(ApiUrls.PullRequestReviewComments(owner, name, number), comment, null, null).ConfigureAwait(false); if (response.HttpResponse.StatusCode != HttpStatusCode.Created) { throw new ApiException("Invalid Status Code returned. Expected a 201", response.HttpResponse.StatusCode); } return response.Body; }
public async Task CanCreateReply() { var pullRequest = await CreatePullRequest(_context); const string body = "Reply me!"; const int position = 1; var createdComment = await CreateComment(body, position, pullRequest.Sha, pullRequest.Number); var reply = new PullRequestReviewCommentReplyCreate("Replied", createdComment.Id); var createdReply = await _client.CreateReply(Helper.UserName, _context.RepositoryName, pullRequest.Number, reply); var createdReplyFromGitHub = await _client.GetComment(Helper.UserName, _context.RepositoryName, createdReply.Id); AssertComment(createdReplyFromGitHub, reply.Body, position); }
/// <summary> /// Creates a comment on a pull request review as a reply to another comment. /// </summary> /// <remarks>http://developer.github.com/v3/pulls/comments/#create-a-comment</remarks> /// <param name="repositoryId">The Id of the repository</param> /// <param name="number">The pull request number</param> /// <param name="comment">The comment</param> public async Task<PullRequestReviewComment> CreateReply(int repositoryId, int number, PullRequestReviewCommentReplyCreate comment) { Ensure.ArgumentNotNull(comment, "comment"); var endpoint = ApiUrls.PullRequestReviewComments(repositoryId, number); var response = await ApiConnection.Connection.Post<PullRequestReviewComment>(endpoint, comment, null, null).ConfigureAwait(false); if (response.HttpResponse.StatusCode != HttpStatusCode.Created) { throw new ApiException("Invalid Status Code returned. Expected a 201", response.HttpResponse.StatusCode); } return response.Body; }
/// <summary> /// Creates a comment on a pull request review as a reply to another comment. /// </summary> /// <remarks>http://developer.github.com/v3/pulls/comments/#create-a-comment</remarks> /// <param name="repositoryId">The Id of the repository</param> /// <param name="number">The pull request number</param> /// <param name="comment">The comment</param> public async Task<PullRequestReviewComment> CreateReply(long repositoryId, int number, PullRequestReviewCommentReplyCreate comment) { Ensure.ArgumentNotNull(comment, nameof(comment)); var endpoint = ApiUrls.PullRequestReviewComments(repositoryId, number); var response = await ApiConnection.Connection.Post<PullRequestReviewComment>(endpoint, comment, null, null).ConfigureAwait(false); if (response.HttpResponse.StatusCode != HttpStatusCode.Created) { throw new ApiException("Invalid Status Code returned. Expected a 201", response.HttpResponse.StatusCode); } return response.Body; }
public async Task EnsuresArgumentsNotNull() { var connection = Substitute.For<IApiConnection>(); var client = new PullRequestReviewCommentsClient(connection); string body = "Comment content"; int inReplyTo = 7; var comment = new PullRequestReviewCommentReplyCreate(body, inReplyTo); await Assert.ThrowsAsync<ArgumentNullException>(() => client.CreateReply(null, "fakeRepoName", 1, comment)); await Assert.ThrowsAsync<ArgumentException>(() => client.CreateReply("", "fakeRepoName", 1, comment)); await Assert.ThrowsAsync<ArgumentNullException>(() => client.CreateReply("fakeOwner", null, 1, comment)); await Assert.ThrowsAsync<ArgumentException>(() => client.CreateReply("fakeOwner", "", 1, comment)); await Assert.ThrowsAsync<ArgumentNullException>(() => client.CreateReply("fakeOwner", "fakeRepoName", 1, null)); }
public void PostsToCorrectUrl() { var connection = Substitute.For<IApiConnection>(); var client = new PullRequestReviewCommentsClient(connection); var comment = new PullRequestReviewCommentReplyCreate("Comment content", 5); client.CreateReply("fakeOwner", "fakeRepoName", 13, comment); connection.Connection.Received().Post<PullRequestReviewComment>(Arg.Is<Uri>(u => u.ToString() == "repos/fakeOwner/fakeRepoName/pulls/13/comments"), comment, null, null); }