示例#1
0
        public async Task GetCommentAsync_True()
        {
            var mockUrl      = "https://api.imgur.com/3/comment/539556821";
            var mockResponse = new HttpResponseMessage(HttpStatusCode.OK)
            {
                Content = new StringContent(MockCommentEndpointResponses.GetComment)
            };

            var client   = new ImgurClient("123", "1234");
            var endpoint = new CommentEndpoint(client, new HttpClient(new MockHttpMessageHandler(mockUrl, mockResponse)));
            var comment  = await endpoint.GetCommentAsync(539556821).ConfigureAwait(false);

            Assert.NotNull(comment);
            Assert.Equal(539556821, comment.Id);
            Assert.Equal("n6gcXdY", comment.ImageId);
            Assert.Equal("It's called smirking. Lots of people do it.", comment.CommentText);
            Assert.Equal("WomanWiththeTattooedHands", comment.Author);
            Assert.Equal(499505, comment.AuthorId);
            Assert.Equal(false, comment.OnAlbum);
            Assert.Equal(null, comment.AlbumCover);
            Assert.Equal(379, comment.Ups);
            Assert.Equal(16, comment.Downs);
            Assert.Equal(363, comment.Points);
            Assert.Equal(new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc).AddSeconds(1450526522), comment.DateTime);
            Assert.Equal(0, comment.ParentId);
            Assert.Equal("iphone", comment.Platform);
            Assert.Equal(false, comment.Deleted);
            Assert.Equal(VoteOption.Veto, comment.Vote);
        }
示例#2
0
 public async Task VoteCommentAsync_WithIdNull_ThrowsArgumentNullException()
 {
     var fakeOAuth2Handler = new FakeOAuth2TokenHandler();
     var client            = new ImgurClient("123", "1234", fakeOAuth2Handler.GetOAuth2TokenCodeResponse());
     var endpoint          = new CommentEndpoint(client);
     await endpoint.VoteCommentAsync(null, Vote.Down);
 }
示例#3
0
 public async Task CreateReplyAsync_WithCommentNull_ThrowsArgumentNullException()
 {
     var fakeOAuth2Handler = new FakeOAuth2TokenHandler();
     var client            = new ImgurClient("123", "1234", fakeOAuth2Handler.GetOAuth2TokenCodeResponse());
     var endpoint          = new CommentEndpoint(client);
     await endpoint.CreateReplyAsync(null, "xyz", "Abc");
 }
示例#4
0
        public async Task TestReportComment()
        {
            var imgurClient = await AuthenticationHelpers.CreateOAuth2AuthenticatedImgurClient();

            var commentEndpoint = new CommentEndpoint(imgurClient);
            var comment         = await commentEndpoint.ReportCommentAsync(193420645);

            // Assert the Reponse
            Assert.AreEqual(comment.Success, true);
            Assert.AreEqual(comment.Status, HttpStatusCode.OK);
        }
示例#5
0
        public async Task TestGetCommentReplies()
        {
            var imgurClient = await AuthenticationHelpers.CreateOAuth2AuthenticatedImgurClient();

            var commentEndpoint = new CommentEndpoint(imgurClient);
            var comment         = await commentEndpoint.GetCommentRepliesAsync(193421419);

            // Assert the Reponse
            Assert.IsNotNull(comment.Data);
            Assert.AreEqual(comment.Success, true);
            Assert.AreEqual(comment.Status, HttpStatusCode.OK);
        }
示例#6
0
        public async Task GetRepliesAsync_True()
        {
            var mockUrl      = "https://api.imgur.com/3/comment/539556821/replies";
            var mockResponse = new HttpResponseMessage(HttpStatusCode.OK)
            {
                Content = new StringContent(MockCommentEndpointResponses.GetCommentReplies)
            };

            var client   = new ImgurClient("123", "1234");
            var endpoint = new CommentEndpoint(client, new HttpClient(new MockHttpMessageHandler(mockUrl, mockResponse)));
            var comments = await endpoint.GetRepliesAsync(539556821).ConfigureAwait(false);

            Assert.True(comments.Children.Count() == 7);
        }
示例#7
0
        public async Task VoteCommentAsync_True()
        {
            var mockUrl      = "https://api.imgur.com/3/comment/539556821/vote/down";
            var mockResponse = new HttpResponseMessage(HttpStatusCode.OK)
            {
                Content = new StringContent(MockCommentEndpointResponses.VoteComment)
            };

            var client   = new ImgurClient("123", "1234", MockOAuth2Token);
            var endpoint = new CommentEndpoint(client, new HttpClient(new MockHttpMessageHandler(mockUrl, mockResponse)));
            var reported = await endpoint.VoteCommentAsync(539556821, VoteOption.Down).ConfigureAwait(false);

            Assert.True(reported);
        }
示例#8
0
        public async Task VoteCommentAsync_WithOAuth2TokenNull_ThrowsArgumentNullException()
        {
            var client   = new ImgurClient("123", "1234");
            var endpoint = new CommentEndpoint(client);

            var exception =
                await
                Record.ExceptionAsync(
                    async() => await endpoint.VoteCommentAsync(539556821, VoteOption.Down).ConfigureAwait(false))
                .ConfigureAwait(false);

            Assert.NotNull(exception);
            Assert.IsType <ArgumentNullException>(exception);
        }
示例#9
0
        public async Task CreateReplyAsync_WithCommentIdNull_ThrowsArgumentNullException()
        {
            var client   = new ImgurClient("123", "1234", MockOAuth2Token);
            var endpoint = new CommentEndpoint(client);

            var exception =
                await
                Record.ExceptionAsync(
                    async() => await endpoint.CreateReplyAsync("Hello World!", "xyz", null).ConfigureAwait(false))
                .ConfigureAwait(false);

            Assert.NotNull(exception);
            Assert.IsType <ArgumentNullException>(exception);
        }
示例#10
0
        public async Task DeleteCommentAsync_True()
        {
            var mockUrl      = "https://api.imgur.com/3/comment/6767676";
            var mockResponse = new HttpResponseMessage(HttpStatusCode.OK)
            {
                Content = new StringContent(MockCommentEndpointResponses.DeleteComment)
            };

            var client   = new ImgurClient("123", "1234", MockOAuth2Token);
            var endpoint = new CommentEndpoint(client, new HttpClient(new MockHttpMessageHandler(mockUrl, mockResponse)));
            var deleted  = await endpoint.DeleteCommentAsync(6767676).ConfigureAwait(false);

            Assert.True(deleted);
        }
示例#11
0
        public async Task CreateReplyAsync_Equal()
        {
            var mockUrl      = "https://api.imgur.com/3/comment/BNMxDs";
            var mockResponse = new HttpResponseMessage(HttpStatusCode.OK)
            {
                Content = new StringContent(MockCommentEndpointResponses.CreateReply)
            };

            var client   = new ImgurClient("123", "1234", MockOAuth2Token);
            var endpoint = new CommentEndpoint(client, new HttpClient(new MockHttpMessageHandler(mockUrl, mockResponse)));
            var comment  = await endpoint.CreateReplyAsync("Hello World!", "xyz", "BNMxDs").ConfigureAwait(false);

            Assert.NotNull(comment);
            Assert.Equal(539717441, comment);
        }
示例#12
0
        public async Task GetRepliesAsync_IsTrue()
        {
            var fakeHttpMessageHandler = new FakeHttpMessageHandler();
            var fakeResponse           = new HttpResponseMessage(HttpStatusCode.OK)
            {
                Content = new StringContent(CommentEndpointResponses.GetCommentReplies)
            };

            fakeHttpMessageHandler.AddFakeResponse(new Uri("https://api.imgur.com/3/comment/539556821/replies"),
                                                   fakeResponse);

            var client   = new ImgurClient("123", "1234");
            var endpoint = new CommentEndpoint(client, new HttpClient(fakeHttpMessageHandler));
            var comments = await endpoint.GetRepliesAsync("539556821");

            Assert.IsTrue(comments.Children.Count() == 7);
        }
示例#13
0
        public async Task DeleteCommentAsync_IsTrue()
        {
            var fakeHttpMessageHandler = new FakeHttpMessageHandler();
            var fakeResponse           = new HttpResponseMessage(HttpStatusCode.OK)
            {
                Content = new StringContent(CommentEndpointResponses.DeleteCommentResponse)
            };

            fakeHttpMessageHandler.AddFakeResponse(new Uri("https://api.imgur.com/3/comment/12x5454"), fakeResponse);

            var fakeOAuth2Handler = new FakeOAuth2TokenHandler();
            var client            = new ImgurClient("123", "1234", fakeOAuth2Handler.GetOAuth2TokenCodeResponse());
            var endpoint          = new CommentEndpoint(client, new HttpClient(fakeHttpMessageHandler));
            var deleted           = await endpoint.DeleteCommentAsync("12x5454");

            Assert.IsTrue(deleted);
        }
示例#14
0
        public async Task TestGetComment()
        {
            var imgurClient = await AuthenticationHelpers.CreateOAuth2AuthenticatedImgurClient();

            var commentEndpoint = new CommentEndpoint(imgurClient);
            var comment         = await commentEndpoint.GetCommentAsync(192351802);

            // Assert the Reponse
            Assert.IsNotNull(comment.Data);
            Assert.AreEqual(comment.Success, true);
            Assert.AreEqual(comment.Status, HttpStatusCode.OK);

            // Assert the Data
            Assert.AreEqual(comment.Data.OnAlbum, false);
            Assert.AreEqual(comment.Data.AlbumCover, null);
            Assert.AreEqual(comment.Data.Author, "imgurnet");
        }
示例#15
0
        public async Task TestDeleteComment()
        {
            var imgurClient = await AuthenticationHelpers.CreateOAuth2AuthenticatedImgurClient();

            var commentEndpoint = new CommentEndpoint(imgurClient);
            var comment         = await commentEndpoint.CreateCommentAsync("test reply", "161n8BB", 193421419);

            var deleteComment = await commentEndpoint.DeleteCommentAsync(comment.Data.Id);

            // Assert the Reponse
            Assert.IsNotNull(comment.Data);
            Assert.AreEqual(comment.Success, true);
            Assert.AreEqual(comment.Status, HttpStatusCode.OK);

            // Assert the Data
            Assert.AreEqual(deleteComment.Data, true);
        }
示例#16
0
        public async Task VoteCommentAsync_IsTrue()
        {
            var fakeHttpMessageHandler = new FakeHttpMessageHandler();
            var fakeResponse           = new HttpResponseMessage(HttpStatusCode.OK)
            {
                Content = new StringContent(CommentEndpointResponses.VoteCommentResponse)
            };

            fakeHttpMessageHandler.AddFakeResponse(new Uri("https://api.imgur.com/3/comment/539556821/vote/down"),
                                                   fakeResponse);

            var fakeOAuth2Handler = new FakeOAuth2TokenHandler();
            var client            = new ImgurClient("123", "1234", fakeOAuth2Handler.GetOAuth2TokenCodeResponse());
            var endpoint          = new CommentEndpoint(client, new HttpClient(fakeHttpMessageHandler));
            var reported          = await endpoint.VoteCommentAsync("539556821", Vote.Down);

            Assert.IsTrue(reported);
        }
示例#17
0
        public async Task CreateReplyAsync_AreEqual()
        {
            var fakeHttpMessageHandler = new FakeHttpMessageHandler();
            var fakeResponse           = new HttpResponseMessage(HttpStatusCode.OK)
            {
                Content = new StringContent(CommentEndpointResponses.CreateReplyResponse)
            };

            fakeHttpMessageHandler.AddFakeResponse(new Uri("https://api.imgur.com/3/comment/BNMxDs"), fakeResponse);

            var fakeOAuth2Handler = new FakeOAuth2TokenHandler();
            var client            = new ImgurClient("123", "1234", fakeOAuth2Handler.GetOAuth2TokenCodeResponse());
            var endpoint          = new CommentEndpoint(client, new HttpClient(fakeHttpMessageHandler));
            var comment           = await endpoint.CreateReplyAsync("Hello World!", "xyz", "BNMxDs");

            Assert.IsNotNull(comment);
            Assert.AreEqual(539717441, comment.Id);
        }
示例#18
0
        public async Task GetCommentAsync_False()
        {
            var mockUrl      = "https://api.imgur.com/3/comment/539556821";
            var mockResponse = new HttpResponseMessage(HttpStatusCode.OK)
            {
                Content = new StringContent(MockCommentEndpointResponses.GetCommentNotExists)
            };

            var client   = new ImgurClient("123", "1234");
            var endpoint = new CommentEndpoint(client, new HttpClient(new MockHttpMessageHandler(mockUrl, mockResponse)));

            var exception =
                await
                Record.ExceptionAsync(
                    async() => await endpoint.GetCommentAsync(539556821).ConfigureAwait(false))
                .ConfigureAwait(false);

            Assert.NotNull(exception);
            Assert.IsType <ImgurException>(exception);
        }
示例#19
0
        public async Task <bool> PostCommentReply(int parentID, string imageId, string text)
        {
            bool success = await CommentEndpoint.PostCommentReply(parentID, imageId, text, imgurHttp);

            return(success);
        }
示例#20
0
 public async Task GetRepliesAsync_WithIdNull_ThrowsArgumentNullException()
 {
     var client   = new ImgurClient("123", "1234");
     var endpoint = new CommentEndpoint(client);
     await endpoint.GetRepliesAsync(null);
 }
示例#21
0
 public async Task ReportCommentAsync_WithOAuth2TokenNull_ThrowsArgumentNullException()
 {
     var client   = new ImgurClient("123", "1234");
     var endpoint = new CommentEndpoint(client);
     await endpoint.ReportCommentAsync("539556821", ReportReason.Spam);
 }
示例#22
0
 public async Task VoteCommentAsync_WithOAuth2TokenNull_ThrowsArgumentNullException()
 {
     var client   = new ImgurClient("123", "1234");
     var endpoint = new CommentEndpoint(client);
     await endpoint.VoteCommentAsync("539556821", Vote.Down);
 }
示例#23
0
 public async Task CreateCommentAsync_WithOAuth2TokenNull_ThrowsArgumentNullException()
 {
     var client   = new ImgurClient("123", "1234");
     var endpoint = new CommentEndpoint(client);
     await endpoint.CreateCommentAsync("Hello World", "xyz", "Abc");
 }
示例#24
0
        public async Task <Comment> GetComment(int commentId)
        {
            Comment comment = await CommentEndpoint.GetComment(commentId, imgurHttp);

            return(comment);
        }
示例#25
0
        public async Task <List <Comment> > GetCommentWithReplies(int commentId)
        {
            List <Comment> comments = await CommentEndpoint.GetCommentWithReplies(commentId, imgurHttp);

            return(comments);
        }
示例#26
0
 public async Task <int> GetAccountCommentCount(string username)
 {
     return(await CommentEndpoint.GetAccountCommentCount(username, imgurHttp));
 }
示例#27
0
 public async Task DeleteCommentAsync_WithOAuth2TokenNull_ThrowsArgumentNullException()
 {
     var client   = new ImgurClient("123", "1234");
     var endpoint = new CommentEndpoint(client);
     await endpoint.DeleteCommentAsync("12x5454");
 }
示例#28
0
 public async Task <List <Comment> > GetAccountComments(string username, int limit, string sort = "newest")
 {
     return(await CommentEndpoint.GetAccountComments(username, limit, sort, imgurHttp));
 }