예제 #1
0
        public async Task ListFollowersAsync_ByUserName_Test()
        {
            /* arrange */

            await Disqus.Users
            .FollowAsync(DisqusAccessToken.Create(TestData.AccessToken), TestData.ModeratorUserName)
            .ConfigureAwait(false);

            var request = DisqusUserListFollowersRequest
                          .New()
                          .User(TestData.ModeratorUserName)
                          .Limit(10)
                          .Order(DisqusOrder.Asc);

            /* act */

            var response = await Disqus.Users
                           .ListFollowersAsync(request)
                           .ConfigureAwait(false);

            /* assert */

            Assert.That(response.Code, Is.EqualTo(DisqusApiResponseCode.Success));
            Assert.That(response.Response, Is.Not.Empty);

            /* tear down */

            await Disqus.Users
            .UnfollowAsync(DisqusAccessToken.Create(TestData.AccessToken), TestData.UserId)
            .ConfigureAwait(false);
        }
        public async Task UpdateAsync_Test()
        {
            /* arrange */

            string forumName        = "Test Forum";
            string forumDescription = "Test Description";
            string forumGuidelines  = "Test Guidelines";
            string forumLanguage    = "en";

            var request = DisqusForumUpdateRequest
                          .New(TestData.Forum)
                          .Name(forumName)
                          .Attach(DisqusForumAttach.ForumForumCategory)
                          .Guidelines(forumGuidelines)
                          .Description(forumDescription);

            /* act */

            var response = await Disqus.Forums.UpdateAsync(DisqusAccessToken.Create(TestData.AccessToken), request).ConfigureAwait(false);

            /* assert */

            Assert.That(response.Code, Is.EqualTo(DisqusApiResponseCode.Success));;
            Assert.That(response.Response.Name, Is.EqualTo(forumName));
            Assert.That(response.Response.RawDescription, Is.EqualTo(forumDescription));
            Assert.That(response.Response.RawGuidelines, Is.EqualTo(forumGuidelines));
            Assert.That(response.Response.Language, Is.EqualTo(forumLanguage));
        }
        public async Task AddModeratorAsync_ByUsername_Test()
        {
            /* arrange */

            bool canAdminister = true;
            bool canEdit       = true;

            var request = DisqusForumAddModeratorRequest
                          .New(TestData.Forum, TestData.UserName)
                          .CanAdminister(canAdminister)
                          .CanEdit(canEdit);

            /* act */

            var response = await Disqus.Forums
                           .AddModeratorAsync(DisqusAccessToken.Create(TestData.AccessToken), request)
                           .ConfigureAwait(false);

            /* assert */

            Assert.That(response, Is.Not.Null);
            Assert.That(response.Code, Is.EqualTo(DisqusApiResponseCode.Success));
            Assert.That(response.Response, Is.Not.Null);
            Assert.That(response.Response.User.Username, Is.EqualTo(TestData.UserName));
        }
        public async Task RemoveModeratorAsync_ByUserName_Test()
        {
            /* arrange */

            var addModeratorRequest = DisqusForumAddModeratorRequest
                                      .New(TestData.Forum, TestData.ModeratorUserName);

            var moderator = await Disqus.Forums
                            .AddModeratorAsync(DisqusAccessToken.Create(TestData.AccessToken), addModeratorRequest)
                            .ConfigureAwait(false);

            var request = DisqusForumRemoveModeratorRequest
                          .New()
                          .User(moderator.Response.User.Username);

            /* act */

            var response = await Disqus.Forums
                           .RemoveModeratorAsync(DisqusAccessToken.Create(TestData.AccessToken), request)
                           .ConfigureAwait(false);

            /* assert */

            Assert.That(response, Is.Not.Null);
            Assert.That(response.Code, Is.EqualTo(DisqusApiResponseCode.Success));
            Assert.That(response.Response.Id, Is.Null);
        }
예제 #5
0
        public async Task ListAsync_Test()
        {
            /* arrange */

            string testEmail = "*****@*****.**";

            var addBlacklistEntryRequest = DisqusBlacklistAddRequest
                                           .New(TestData.Forum)
                                           .Email(testEmail);

            await Disqus.Blacklists.AddAsync(DisqusAccessToken.Create(TestData.AccessToken), addBlacklistEntryRequest).ConfigureAwait(false);

            var request = DisqusBlacklistListRequest
                          .New(TestData.Forum)
                          .Related(DisqusBlacklistEntryRelated.Forum);

            /* act */

            var response = await Disqus.Blacklists.ListAsync(DisqusAccessToken.Create(TestData.AccessToken), request).ConfigureAwait(false);

            /* assert */

            Assert.That(response, Is.Not.Null);
            Assert.That(response.Code, Is.EqualTo(DisqusApiResponseCode.Success));
            Assert.That(response.Response, Is.Not.Empty);

            /* teardown */

            var removeBlacklistEntryRequest = DisqusBlacklistRemoveRequest
                                              .New(TestData.Forum)
                                              .Email(testEmail);

            await Disqus.Blacklists.RemoveAsync(DisqusAccessToken.Create(TestData.AccessToken), removeBlacklistEntryRequest).ConfigureAwait(false);
        }
예제 #6
0
        public async Task UpdateProfile_Test()
        {
            /* arrange */

            string about    = Guid.NewGuid().ToString("N");
            string location = Guid.NewGuid().ToString("N");
            string url      = string.Format("http://{0}.com", Guid.NewGuid().ToString("N"));

            var request = DisqusUserUpdateProfileRequest
                          .New()
                          .Name(TestData.UserName)
                          .About(about)
                          .Location(location)
                          .Url(url);

            /* act */

            var response = await Disqus.Users
                           .UpdateProfileAsync(DisqusAccessToken.Create(TestData.AccessToken), request)
                           .ConfigureAwait(false);

            /* assert */

            Assert.That(response, Is.Not.Null);
            Assert.That(response.Code, Is.Not.Null);
            Assert.That(response.Response.Name, Is.EqualTo(TestData.UserName));
            Assert.That(response.Response.Location, Is.EqualTo(location));
            Assert.That(response.Response.About, Is.EqualTo(about));
            Assert.That(response.Response.Url, Is.EqualTo(url));
        }
        public async Task DetailsAsync_Tests(string forum, DisqusForumAttach attach, DisqusForumRelated related, string accessToken)
        {
            /* arrange */

            var request = DisqusForumDetailsRequest
                          .New(forum)
                          .Attach(attach)
                          .Related(related);

            /* act */

            DisqusResponse <DisqusForum> response;

            if (string.IsNullOrEmpty(accessToken))
            {
                response = await Disqus.Forums
                           .DetailsAsync(request)
                           .ConfigureAwait(false);
            }
            else
            {
                var disqusAccessToken = DisqusAccessToken.Create(accessToken);

                response = await Disqus.Forums
                           .DetailsAsync(disqusAccessToken, request)
                           .ConfigureAwait(false);
            }

            /* assert */

            Assert.That(response, Is.Not.Null);
            Assert.That(response.Code, Is.EqualTo(DisqusApiResponseCode.Success));

            Assert.That(response.Response.Author, related != DisqusForumRelated.None ? Is.Not.Null : Is.Null);
        }
        public async Task CreateAsync_Test()
        {
            var response = await Disqus.TrustedDomains.CreateAsync(DisqusAccessToken.Create(TestData.AccessToken), TestData.Forum, TestData.TrustedDomain).ConfigureAwait(false);

            Assert.That(response, Is.Not.Null);
            Assert.That(response.Code, Is.EqualTo(DisqusApiResponseCode.Success));
            Assert.That(response.Response.Domain, Is.EqualTo(TestData.TrustedDomain));
        }
        public async Task InterestingForumsAsync_Tests()
        {
            var response = await Disqus.Forums.InterestingForumsAsync(DisqusAccessToken.Create(TestData.AccessToken), 5).ConfigureAwait(false);

            Assert.That(response, Is.Not.Null);
            Assert.That(response.Code, Is.EqualTo(DisqusApiResponseCode.Success));
            Assert.That(response.Response, Is.Not.Empty);
        }
        public async Task DisableAdsAsync_Tests()
        {
            var response = await Disqus.Forums.DisableAdsAsync(DisqusAccessToken.Create(TestData.AccessToken), TestData.Forum).ConfigureAwait(false);

            Assert.That(response, Is.Not.Null);
            Assert.That(response.Code, Is.EqualTo(DisqusApiResponseCode.Success));
            Assert.That(response.Response.Id, Is.EqualTo(TestData.Forum));
        }
        public async Task UnfollowForumAsync_Test()
        {
            var response = await Disqus.Forums
                           .UnfollowAsync(DisqusAccessToken.Create(TestData.AccessToken), TestData.Forum)
                           .ConfigureAwait(false);

            Assert.That(response.Code, Is.EqualTo(DisqusApiResponseCode.Success));
            Assert.That(response.Response, Is.Empty);
        }
        public async Task RemoveDefaultAvatarAsync_Test()
        {
            /* act */

            var response = await Disqus.Forums
                           .RemoveDefaultAvatarAsync(DisqusAccessToken.Create(TestData.AccessToken), TestData.Forum)
                           .ConfigureAwait(false);

            /* assert */

            Assert.That(response.Code, Is.EqualTo(DisqusApiResponseCode.Success));
        }
예제 #13
0
        public async Task RemoveFollowerAsync_ByUserName_Test()
        {
            /* act */

            var response = await Disqus.Users
                           .RemoveFollowerAsync(DisqusAccessToken.Create(TestData.AccessToken), TestData.UserName)
                           .ConfigureAwait(false);

            /* assert */

            Assert.That(response.Code, Is.EqualTo(DisqusApiResponseCode.Success));
            Assert.That(response.Response, Is.Empty);
        }
예제 #14
0
        public async Task VoteAsync_Test()
        {
            /* act */

            var response = await Disqus.Posts
                           .VoteAsync(DisqusAccessToken.Create(TestData.AccessToken), TestData.PostId, DisqusVote.Vote)
                           .ConfigureAwait(false);

            /* assert */

            Assert.That(response, Is.Not.Null);
            Assert.That(response.Code, Is.EqualTo(DisqusApiResponseCode.Success));
            Assert.That(response.Response.Post.Likes, Is.EqualTo(1));
        }
예제 #15
0
        public async Task CloseAsync_Test()
        {
            /* arrange */

            var request = DisqusThreadCloseRequest
                          .New(DisqusThreadLookupType.Id, TestData.ThreadId);

            /* act */

            var response = await Disqus.Threads.CloseAsync(DisqusAccessToken.Create(TestData.AccessToken), request).ConfigureAwait(false);

            /* assert */

            Assert.That(response.Code, Is.EqualTo(DisqusApiResponseCode.Success));
        }
        public async Task ListAsync_Test()
        {
            /* arrange */

            await Disqus.TrustedDomains.CreateAsync(DisqusAccessToken.Create(TestData.AccessToken), TestData.Forum, TestData.TrustedDomain).ConfigureAwait(false);

            /* act */

            var response = await Disqus.TrustedDomains.ListAsync(DisqusAccessToken.Create(TestData.AccessToken), TestData.Forum).ConfigureAwait(false);

            /* assert */
            Assert.That(response, Is.Not.Null);
            Assert.That(response.Code, Is.EqualTo(DisqusApiResponseCode.Success));
            Assert.That(response.Response, Is.Not.Empty);
        }
예제 #17
0
        public async Task ListAsync_Test()
        {
            /* arrange */

            /* act */

            var response = await Disqus.Organizations
                           .ListAdminsAsync(DisqusAccessToken.Create(TestData.AccessToken), TestData.OrganizationId)
                           .ConfigureAwait(false);

            /* assert */

            Assert.That(response.Code, Is.EqualTo(DisqusApiResponseCode.Success));
            Assert.That(response.Response, Is.Not.Empty);
        }
예제 #18
0
        public async Task ExportForumAsync_Test()
        {
            /* arrange */

            var request = DisqusExportExportForumRequest
                          .New(TestData.Forum);

            /* act */

            var response = await Disqus.Exports.ExportForumAsync(DisqusAccessToken.Create(TestData.AccessToken), request).ConfigureAwait(false);

            /* assert */

            Assert.That(response, Is.Not.Null);
            Assert.That(response.Code, Is.EqualTo(DisqusApiResponseCode.Success));
        }
예제 #19
0
        public async Task CheckUsernameAsync_Test()
        {
            /* arrange */

            string testUsername = Guid.NewGuid().ToString("N").Substring(0, 10);

            /* act */

            var response = await Disqus.Users
                           .CheckUsernameAsync(DisqusAccessToken.Create(TestData.AccessToken), testUsername)
                           .ConfigureAwait(false);

            /* assert */

            Assert.That(response.Code, Is.EqualTo(DisqusApiResponseCode.Success));
            Assert.That(response.Response, Is.EqualTo(testUsername));
        }
예제 #20
0
        public async Task List_Async()
        {
            /* arrange */

            string forum = "disqus";

            /* act */

            var response = await Disqus.Imports
                           .ListAsync(DisqusAccessToken.Create(TestData.AccessToken), forum)
                           .ConfigureAwait(false);

            /* assert */

            Assert.That(response.Code, Is.EqualTo(DisqusApiResponseCode.Success));
            Assert.That(response.Response, Is.Not.Empty);
        }
예제 #21
0
        public async Task UpdateAsync_Test()
        {
            /* arrange */

            string postMessage = "updated message";

            /* act */

            var response = await Disqus.Posts
                           .UpdateAsync(DisqusAccessToken.Create(TestData.AccessToken), TestData.PostId, postMessage)
                           .ConfigureAwait(false);

            /* assert */

            Assert.That(response, Is.Not.Null);
            Assert.That(response.Code, Is.EqualTo(DisqusApiResponseCode.Success));
            Assert.That(response.Response.RawMessage, Is.EqualTo(postMessage));
        }
예제 #22
0
        public async Task CreateAsync_Test()
        {
            /* arrange */

            var request = DisqusPostCreateRequest
                          .New("test message")
                          .Thread(TestData.ThreadId);

            /* act */

            var response = await Disqus.Posts.CreateAsync(DisqusAccessToken.Create(TestData.AccessToken), request).ConfigureAwait(false);

            /* assert */

            Assert.That(response, Is.Not.Null);
            Assert.That(response.Code, Is.EqualTo(DisqusApiResponseCode.Success));
            Assert.That(response.Response.Thread.Id, Is.EqualTo(TestData.ThreadId));
        }
예제 #23
0
        public async Task ListActivityAsync_Test()
        {
            /* arrange */

            var request = DisqusUserListActivityRequest
                          .New();

            /* act */

            var response = await Disqus.Users
                           .ListActivityAsync(DisqusAccessToken.Create(TestData.AccessToken), request)
                           .ConfigureAwait(false);

            /* assert */

            Assert.That(response.Code, Is.EqualTo(DisqusApiResponseCode.Success));
            Assert.That(response.Response, Is.Not.Empty);
        }
        public async Task ListThreadsAsync_Test()
        {
            /* arrange */

            var request = DisqusTrendListThreadsRequest
                          .New()
                          .Related(DisqusThreadRelated.Author | DisqusThreadRelated.Forum | DisqusThreadRelated.Category);

            /* act */

            var response = await Disqus.Trends.ListThreadsAsync(DisqusAccessToken.Create(TestData.AccessToken), request).ConfigureAwait(false);

            /* assert */

            Assert.That(response, Is.Not.Null);
            Assert.That(response.Code, Is.EqualTo(DisqusApiResponseCode.Success));
            Assert.That(response.Response, Is.Not.Empty);
        }
예제 #25
0
        public async Task RemoveAdminAsync_ByUserName_Test()
        {
            /* arrange */

            var request = DisqusOrganizationRemoveAdminRequest
                          .New(TestData.OrganizationId, TestData.ModeratorUserName);

            /* act */

            var response = await Disqus.Organizations
                           .RemoveAdminAsync(DisqusAccessToken.Create(TestData.AccessToken), request)
                           .ConfigureAwait(false);

            /* assert */

            Assert.That(response.Code, Is.EqualTo(DisqusApiResponseCode.Success));
            Assert.That(response.Response.Username, Is.EqualTo(TestData.ModeratorUserName));
        }
        public async Task ValidateAsync_Test()
        {
            /* arrange */

            var request = DisqusForumValidateRequest
                          .New(TestData.Forum)
                          .AdsPositionTopEnabled(true)
                          .AdsProductLinksEnabled(true);

            /* act */

            var response = await Disqus.Forums
                           .ValidateAsync(DisqusAccessToken.Create(TestData.AccessToken), request)
                           .ConfigureAwait(false);

            /* assert */

            Assert.That(response.Code, Is.EqualTo(DisqusApiResponseCode.Success));
        }
예제 #27
0
        public async Task SetRoleAsync_ByUserId_Test()
        {
            /* arrange */

            var request = DisqusOrganizationSetRoleRequest
                          .New(TestData.OrganizationId, TestData.UserId)
                          .IsAdmin()
                          .IsModerator();

            /* act */

            var response = await Disqus.Organizations
                           .SetRoleAsync(DisqusAccessToken.Create(TestData.AccessToken), request)
                           .ConfigureAwait(false);

            /* assert */

            Assert.That(response.Code, Is.EqualTo(DisqusApiResponseCode.Success));
            Assert.That(response.Response.Id, Is.EqualTo(TestData.UserId));
        }
예제 #28
0
        public async Task RestoreAsync_Test()
        {
            /* arrange */

            await Disqus.Posts
            .RemoveAsync(DisqusAccessToken.Create(TestData.AccessToken), TestData.PostId)
            .ConfigureAwait(false);

            /* act */

            var response = await Disqus.Posts
                           .RestoreAsync(DisqusAccessToken.Create(TestData.AccessToken), TestData.PostId)
                           .ConfigureAwait(false);

            /* assert */

            Assert.That(response, Is.Not.Null);
            Assert.That(response.Code, Is.EqualTo(DisqusApiResponseCode.Success));
            Assert.That(response.Response, Is.Not.Empty);
        }
예제 #29
0
        public async Task RemoveAsync_Test()
        {
            /* arrange */

            var createPostRequest = DisqusPostCreateRequest
                                    .New(Guid.NewGuid().ToString("N"))
                                    .Thread(TestData.ThreadId);

            var createdPost = await Disqus.Posts.CreateAsync(DisqusAccessToken.Create(TestData.AccessToken), createPostRequest).ConfigureAwait(false);

            /* act */

            var response = await Disqus.Posts.RemoveAsync(DisqusAccessToken.Create(TestData.AccessToken), createdPost.Response.Id).ConfigureAwait(false);

            /* assert */

            Assert.That(response, Is.Not.Null);
            Assert.That(response.Code, Is.EqualTo(DisqusApiResponseCode.Success));
            Assert.That(response.Response, Is.Not.Empty);
        }
예제 #30
0
        public async Task Details_Async()
        {
            /* arrange */

            string forum = "disqus";
            string group = "74817";

            /* act */

            var response = await Disqus.Imports
                           .DetailsAsync(DisqusAccessToken.Create(TestData.AccessToken), forum, group)
                           .ConfigureAwait(false);

            /* assert */

            Assert.That(response.Code, Is.EqualTo(DisqusApiResponseCode.Success));
            Assert.That(response.Response, Is.Not.Null);
            Assert.That(response.Response.Forum, Is.EqualTo(forum));
            Assert.That(response.Response.Id, Is.EqualTo(group));
        }