示例#1
0
        public async Task GetAlbumAsync_NotNull()
        {
            var mockUrl      = "https://api.imgur.com/3/account/sarah/album/yMgB7";
            var mockResponse = new HttpResponseMessage(HttpStatusCode.OK)
            {
                Content = new StringContent(MockAccountEndpointResponses.GetAlbum)
            };

            var client   = new ImgurClient("123", "1234");
            var endpoint = new AccountEndpoint(client, new HttpClient(new MockHttpMessageHandler(mockUrl, mockResponse)));
            var album    = await endpoint.GetAlbumAsync("yMgB7", "sarah").ConfigureAwait(false);

            Assert.NotNull(album);
            Assert.Equal("yMgB7", album.Id);
            Assert.Equal("Day 2 at Camp Imgur", album.Title);
            Assert.Equal(null, album.Description);
            Assert.Equal(new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc).AddSeconds(1439066984), album.DateTime);
            Assert.Equal("BOdd9Qd", album.Cover);
            Assert.Equal(5184, album.CoverWidth);
            Assert.Equal(3456, album.CoverHeight);
            Assert.Equal("sarah", album.AccountUrl);
            Assert.Equal(9571, album.AccountId);
            Assert.Equal(AlbumPrivacy.Public, album.Privacy);
            Assert.Equal(AlbumLayout.Blog, album.Layout);
            Assert.Equal(413310, album.Views);
            Assert.Equal("http://imgur.com/a/yMgB7", album.Link);
            Assert.Equal(false, album.Favorite);
            Assert.Equal(false, album.Nsfw);
            Assert.Equal("pics", album.Section);
            Assert.Equal(6, album.ImagesCount);
        }
        //renvoie le nombre de favoris de l'utilsateur
        public async Task <int> GetFavoritesCount()
        {
            int count      = 0;
            var client_fav = new ImgurClient(client_id, imgur_token);
            var endpoint   = new AccountEndpoint(client_fav);
            var favourites = await endpoint.GetAccountFavoritesAsync();

            for (int i = 0; i < favourites.Count(); i++)
            {
                if (favourites.ElementAt(i).GetType().ToString() == "Imgur.API.Models.Impl.GalleryImage")
                {
                    count++;
                }
                else if (favourites.ElementAt(i).GetType().ToString() == "Imgur.API.Models.Impl.GalleryAlbum")
                {
                    GalleryAlbum galleryAlbum = (GalleryAlbum)(favourites.ElementAt(i));
                    foreach (var image in galleryAlbum.Images)
                    {
                        count++;
                    }
                }
            }

            return(count);
        }
        //renvoie les images des favoris de l'utilsateur

        /**
         * Return favorite pictures of the user
         */
        public async Task <ImageContainer> createImageContainerFromFavorites()
        {
            ImageContainer imageContainer = new ImageContainer();
            var            client_fav     = new ImgurClient(client_id, imgur_token);
            var            endpoint       = new AccountEndpoint(client_fav);
            var            favourites     = await endpoint.GetAccountFavoritesAsync();

            for (int i = 0; i < favourites.Count(); i++)
            {
                if (favourites.ElementAt(i).GetType().ToString() == "Imgur.API.Models.Impl.GalleryImage")
                {
                    GalleryImage galleryImage = (GalleryImage)(favourites.ElementAt(i));
                    Windows.UI.Xaml.Controls.Image imgImgur = new Windows.UI.Xaml.Controls.Image();
                    imgImgur.Source = new BitmapImage(new Uri(galleryImage.Link, UriKind.Absolute));
                    imgImgur.Name   = galleryImage.Id;
                    imageContainer.AddImageSource(imgImgur);
                }
                else if (favourites.ElementAt(i).GetType().ToString() == "Imgur.API.Models.Impl.GalleryAlbum")
                {
                    GalleryAlbum galleryAlbum = (GalleryAlbum)(favourites.ElementAt(i));
                    Windows.UI.Xaml.Controls.Image imgImgur = new Windows.UI.Xaml.Controls.Image();
                    foreach (var image in galleryAlbum.Images)
                    {
                        imgImgur.Source = new BitmapImage(new Uri(image.Link, UriKind.Absolute));
                        imgImgur.Name   = image.Id;
                        imageContainer.AddImageSource(imgImgur);
                    }
                }
            }

            return(imageContainer);
        }
示例#4
0
 public async Task DeleteCommentAsync_WithDefaultUsernameAndOAuth2Null_ThrowsArgumentNullException()
 {
     var fakeOAuth2TokenHandler = new FakeOAuth2TokenHandler();
     var client   = new ImgurClient("123", "1234", fakeOAuth2TokenHandler.GetOAuth2TokenCodeResponse());
     var endpoint = new AccountEndpoint(client);
     await endpoint.DeleteCommentAsync("yMgB7", null);
 }
示例#5
0
        public async Task GetCommentAsync_IsNotNull()
        {
            var fakeHttpMessageHandler = new FakeHttpMessageHandler();
            var fakeResponse           = new HttpResponseMessage(HttpStatusCode.OK)
            {
                Content = new StringContent(AccountEndpointResponses.GetCommentResponse)
            };

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

            var client   = new ImgurClient("123", "1234");
            var endpoint = new AccountEndpoint(client, new HttpClient(fakeHttpMessageHandler));
            var comment  = await endpoint.GetCommentAsync("yMgB7", "sarah");

            Assert.IsNotNull(comment);
            Assert.AreEqual(487008510, comment.Id);
            Assert.AreEqual("DMcOm2V", comment.ImageId);
            Assert.AreEqual(
                "Gyroscope detectors measure inertia.. the stabilization is done entirely by brushless motors. There are stabilizers which actually use 1/2",
                comment.CommentText);
            Assert.AreEqual("Scabab", comment.Author);
            Assert.AreEqual(4194299, comment.AuthorId);
            Assert.AreEqual(false, comment.OnAlbum);
            Assert.AreEqual(null, comment.AlbumCover);
            Assert.AreEqual(24, comment.Ups);
            Assert.AreEqual(0, comment.Downs);
            Assert.AreEqual(24, comment.Points);
            Assert.AreEqual(new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc).AddSeconds(1443969120), comment.DateTime);
            Assert.AreEqual(486983435, comment.ParentId);
            Assert.AreEqual(false, comment.Deleted);
            Assert.AreEqual(Vote.Down, comment.Vote);
            Assert.AreEqual(comment.Platform, "desktop");
        }
示例#6
0
        public static async Task <IAccount> GetAccountAsync()
        {
            var endpoint = new AccountEndpoint(Client);
            var account  = await endpoint.GetAccountAsync();

            return(account);
        }
        public async Task DeleteAlbumAsync_WithValidReponse_ThrowsImgurException()
        {
            var client   = new MashapeClient(ClientId, ClientSecret, MashapeKey, await GetOAuth2Token());
            var endpoint = new AccountEndpoint(client);

            var deleted = await endpoint.DeleteAlbumAsync("lzpoZ7a5IPrxvVe");
        }
        public async Task SendVerificationEmailAsync_IsTrue()
        {
            var client   = new ImgurClient(ClientId, ClientSecret, await GetOAuth2Token());
            var endpoint = new AccountEndpoint(client);

            var sent = await endpoint.SendVerificationEmailAsync();
        }
        public async Task SendVerificationEmailAsync_IsTrue()
        {
            var client   = new MashapeClient(ClientId, ClientSecret, MashapeKey, OAuth2Token);
            var endpoint = new AccountEndpoint(client);

            await endpoint.SendVerificationEmailAsync();
        }
 public async Task DeleteImageAsync_WithUsernameNull_ThrowsArgumentNullException()
 {
     var fakeOAuth2TokenHandler = new FakeOAuth2TokenHandler();
     var client   = new ImgurClient("123", "1234", fakeOAuth2TokenHandler.GetOAuth2TokenCodeResponse());
     var endpoint = new AccountEndpoint(client);
     await endpoint.DeleteImageAsync("hbzm7Ge", null);
 }
示例#11
0
        public async Task TestGetBadAccount()
        {
            var imgurClient     = AuthenticationHelpers.CreateClientAuthenticatedImgurClient();
            var accountEndpoint = new AccountEndpoint(imgurClient);
            ImgurResponse <Account> imgurResponse = null;

            try
            {
                imgurResponse = await accountEndpoint.GetAccountDetailsAsync("black-dicks (this account doesn't exist, perfect for le test)");
            }
            catch (ImgurResponseFailedException exception)
            {
                // Assert the Response
                Assert.IsNotNull(exception.ImgurResponse.Data);
                Assert.AreEqual(exception.ImgurResponse.Success, false);
                Assert.AreEqual(exception.ImgurResponse.Status, HttpStatusCode.BadRequest);

                // Assert the Data
                Assert.AreEqual(exception.ImgurResponse.Data.ErrorDescription, "A username is required.");
                Assert.AreEqual(exception.ImgurResponse.Data.Method, "GET");
                Assert.AreEqual(exception.ImgurResponse.Data.Request, "/3/account/black-dicks (this account doesn't exist, perfect for le test)");
            }

            Assert.IsNull(imgurResponse);
        }
示例#12
0
        public async Task GetAccountSettingsAsync_AreEqual()
        {
            var fakeHttpMessageHandler = new FakeHttpMessageHandler();
            var fakeResponse           = new HttpResponseMessage(HttpStatusCode.OK)
            {
                Content = new StringContent(AccountEndpointResponses.GetAccountSettingsResponse)
            };

            fakeHttpMessageHandler.AddFakeResponse(new Uri("https://api.imgur.com/3/account/me/settings"), fakeResponse);

            var fakeOAuth2Handler = new FakeOAuth2TokenHandler();
            var client            = new ImgurClient("123", "1234", fakeOAuth2Handler.GetOAuth2TokenCodeResponse());
            var endpoint          = new AccountEndpoint(client, new HttpClient(fakeHttpMessageHandler));
            var accountSettings   = await endpoint.GetAccountSettingsAsync();

            Assert.AreEqual(true, accountSettings.AcceptedGalleryTerms);
            Assert.AreEqual("*****@*****.**", accountSettings.ActiveEmails.First());
            Assert.AreEqual(AlbumPrivacy.Secret, accountSettings.AlbumPrivacy);
            Assert.AreEqual(45454554, accountSettings.BlockedUsers.First().BlockedId);
            Assert.AreEqual("Bob", accountSettings.BlockedUsers.First().BlockedUrl);
            Assert.AreEqual("*****@*****.**", accountSettings.Email);
            Assert.AreEqual(false, accountSettings.HighQuality);
            Assert.AreEqual(true, accountSettings.MessagingEnabled);
            Assert.AreEqual(false, accountSettings.PublicImages);
            Assert.AreEqual(true, accountSettings.ShowMature);
        }
 public async Task GetAccountGalleryFavoritesAsync_WithDefaultUsernameAndOAuth2Null_ThrowsArgumentNullException
     ()
 {
     var client   = new ImgurClient("123", "1234");
     var endpoint = new AccountEndpoint(client);
     await endpoint.GetAccountGalleryFavoritesAsync();
 }
示例#14
0
        public async Task GetImageAsync_NotNull()
        {
            var mockUrl      = "https://api.imgur.com/3/account/sarah/image/hbzm7Ge";
            var mockResponse = new HttpResponseMessage(HttpStatusCode.OK)
            {
                Content = new StringContent(MockAccountEndpointResponses.GetImage)
            };

            var client   = new ImgurClient("123", "1234");
            var endpoint = new AccountEndpoint(client, new HttpClient(new MockHttpMessageHandler(mockUrl, mockResponse)));
            var image    = await endpoint.GetImageAsync("hbzm7Ge", "sarah").ConfigureAwait(false);

            Assert.NotNull(image);
            Assert.Equal(
                "For three days at Camp Imgur, the Imgur flag flew proudly over our humble redwood camp, greeting Imgurians each morning.",
                image.Title);
            Assert.Equal(null, image.Description);
            Assert.Equal(new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc).AddSeconds(1443651980), image.DateTime);
            Assert.Equal("image/gif", image.Type);
            Assert.Equal(true, image.Animated);
            Assert.Equal(406, image.Width);
            Assert.Equal(720, image.Height);
            Assert.Equal(23386145, image.Size);
            Assert.Equal(329881, image.Views);
            Assert.Equal(7714644898745, image.Bandwidth);
            Assert.Equal(null, image.Vote);
            Assert.Equal(false, image.Favorite);
            Assert.Equal(null, image.Nsfw);
            Assert.Equal(null, image.Section);
            Assert.Equal("http://i.imgur.com/hbzm7Ge.gifv", image.Gifv);
            Assert.Equal("http://i.imgur.com/hbzm7Ge.mp4", image.Mp4);
            Assert.Equal("http://i.imgur.com/hbzm7Geh.gif", image.Link);
            Assert.Equal(true, image.Looping);
        }
示例#15
0
        public async Task GetAccountSubmissionsAsync_Any_IsTrue()
        {
            var client   = new MashapeClient(ClientId, ClientSecret, MashapeKey);
            var endpoint = new AccountEndpoint(client);

            var submissions = await endpoint.GetAccountSubmissionsAsync("sarah");

            Assert.IsTrue(submissions.Any());
        }
示例#16
0
        public async Task GetAccountGalleryFavoritesAsync_Any_IsTrue()
        {
            var client   = new MashapeClient(ClientId, ClientSecret, MashapeKey);
            var endpoint = new AccountEndpoint(client);

            var favourites = await endpoint.GetAccountGalleryFavoritesAsync("sarah");

            Assert.IsTrue(favourites.Any());
        }
示例#17
0
        public async Task GetAccountAsync_WithUsername_AreEqual()
        {
            var client   = new MashapeClient(ClientId, ClientSecret, MashapeKey);
            var endpoint = new AccountEndpoint(client);

            var account = await endpoint.GetAccountAsync("sarah");

            Assert.AreEqual("sarah", account.Url.ToLower());
        }
示例#18
0
        public async Task GetCommentIdsAsync_WithValidReponse_AreEqual()
        {
            var client   = new MashapeClient(ClientId, ClientSecret, MashapeKey);
            var endpoint = new AccountEndpoint(client);

            var comments = await endpoint.GetCommentIdsAsync("sarah");

            Assert.AreEqual(50, comments.Count());
        }
示例#19
0
        public async Task GetCommentAsync_WithValidReponse_AreEqual()
        {
            var client   = new MashapeClient(ClientId, ClientSecret, MashapeKey);
            var endpoint = new AccountEndpoint(client);

            var comment = await endpoint.GetCommentAsync("300731088", "sarah");

            Assert.IsNotNull(comment);
        }
示例#20
0
        public async Task GetAlbumCountAsync_WithValidReponse_AreEqual()
        {
            var client   = new MashapeClient(ClientId, ClientSecret, MashapeKey);
            var endpoint = new AccountEndpoint(client);

            var albums = await endpoint.GetAlbumCountAsync("sarah");

            Assert.IsTrue(albums > 100);
        }
        public async Task GetAlbumIdsAsync_WithValidReponse_AreEqual()
        {
            var client   = new ImgurClient(ClientId, ClientSecret);
            var endpoint = new AccountEndpoint(client);

            var albums = await endpoint.GetAlbumIdsAsync("sarah");

            Assert.AreEqual(50, albums.Count());
        }
        public async Task GetCommentCountAsync_WithValidReponse_AreEqual()
        {
            var client   = new ImgurClient(ClientId, ClientSecret);
            var endpoint = new AccountEndpoint(client);

            var commentCount = await endpoint.GetCommentCountAsync("sarah");

            Assert.IsTrue(commentCount > 100);
        }
        public async Task GetCommentsAsync_WithValidReponse_AreEqual()
        {
            var client   = new ImgurClient(ClientId, ClientSecret);
            var endpoint = new AccountEndpoint(client);

            var comments = await endpoint.GetCommentsAsync("sarah", CommentSortOrder.Best);

            Assert.AreEqual(50, comments.Count());
        }
        public async Task GetCommentsAsync_AreEqual()
        {
            var client   = new MashapeClient(ClientId, ClientSecret, MashapeKey);
            var endpoint = new AccountEndpoint(client);

            var comments = await endpoint.GetCommentsAsync("sarah", CommentSortOrder.Best);

            Assert.AreEqual(50, comments.Count());
        }
        public async Task GetCommentCountAsync_AreEqual()
        {
            var client   = new MashapeClient(ClientId, ClientSecret, MashapeKey);
            var endpoint = new AccountEndpoint(client);

            var commentCount = await endpoint.GetCommentCountAsync("sarah");

            Assert.IsTrue(commentCount > 100);
        }
示例#26
0
        public async Task GetGalleryProfileAsync_AnyTrophies_IsTrue()
        {
            var client   = new MashapeClient(ClientId, ClientSecret, MashapeKey);
            var endpoint = new AccountEndpoint(client);

            var profile = await endpoint.GetGalleryProfileAsync("sarah");

            Assert.IsTrue(profile.Trophies.Any());
        }
示例#27
0
        public async Task GetAlbumAsync_WithValidReponse_AreEqual()
        {
            var client   = new MashapeClient(ClientId, ClientSecret, MashapeKey);
            var endpoint = new AccountEndpoint(client);

            var album = await endpoint.GetAlbumAsync("SbU9Y", "sarah");

            Assert.IsNotNull(album);
        }
示例#28
0
        public async Task GetAlbumCountAsync_GreaterThan100()
        {
            var client   = new MashapeClient(ClientId, ClientSecret, MashapeKey);
            var endpoint = new AccountEndpoint(client);

            var albums = await endpoint.GetAlbumCountAsync("sarah");

            Assert.IsTrue(albums > 100);
        }
示例#29
0
        public async Task GetAlbumsAsync_AreEqual()
        {
            var client   = new MashapeClient(ClientId, ClientSecret, MashapeKey);
            var endpoint = new AccountEndpoint(client);

            var albums = await endpoint.GetAlbumsAsync("sarah");

            Assert.AreEqual(50, albums.Count());
        }
        public async Task VerifyEmailAsync_IsTrue()
        {
            var client   = new MashapeClient(ClientId, ClientSecret, MashapeKey, OAuth2Token);
            var endpoint = new AccountEndpoint(client);

            var verified = await endpoint.VerifyEmailAsync();

            Assert.IsTrue(verified);
        }