Пример #1
0
        public void HttpClientBaseAddress_WithMashapeClient_IsMashapeUrl()
        {
            var client   = new MashapeClient("123", "1234", "12345");
            var endpoint = Substitute.ForPartsOf <EndpointBase>(client);

            Assert.AreEqual(new Uri("https://imgur-apiv3.p.mashape.com/3/"), endpoint.HttpClient.BaseAddress);
        }
        public async Task SendVerificationEmailAsync_IsTrue()
        {
            var client   = new MashapeClient(ClientId, ClientSecret, MashapeKey, OAuth2Token);
            var endpoint = new AccountEndpoint(client);

            await endpoint.SendVerificationEmailAsync();
        }
        public void OAuth2Token_SetByConstructor_AreSame()
        {
            var oAuth2Token = Substitute.For <IOAuth2Token>();
            var client      = new MashapeClient("ClientId", "ClientSecret", "MashapeKey", oAuth2Token);

            Assert.AreSame(oAuth2Token, client.OAuth2Token);
        }
Пример #4
0
        public void HttpClientBaseAddress_WithMashapeClient_IsMashapeUrl()
        {
            var client   = new MashapeClient("123", "1234", "12345");
            var endpoint = new MockEndpoint(client);

            Assert.Equal(new Uri("https://imgur-apiv3.p.mashape.com/3/"), endpoint.HttpClient.BaseAddress);
        }
Пример #5
0
        public void ProcessMashapeEndpointResponse_WithoutAuthorization_ThrowMashapeException()
        {
            var client   = new MashapeClient("123", "567567", "1234");
            var endpoint = Substitute.ForPartsOf <EndpointBase>(client);

            endpoint.ProcessEndpointResponse <RateLimit>(FakeErrors.MashapeErrorResponse);
        }
Пример #6
0
        public void OAuth2Token_SetByClientIdAndSecretConstructor_AreSame()
        {
            var oAuth2Token = MockOAuth2Token.GetOAuth2Token();
            var client      = new MashapeClient("ClientId", "ClientSecret", "MashapeKey", oAuth2Token);

            Assert.Same(oAuth2Token, client.OAuth2Token);
        }
        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");
        }
Пример #8
0
        public async Task ImgurImageAsync(ICommandContext e)
        {
            string title = e.Arguments.Pack.TakeAll();

            if (string.IsNullOrEmpty(title))
            {
                e.Channel.QueueMessage(e.Locale.GetString("miki_module_fun_image_error_no_image_found"));
                return;
            }

            var client   = new MashapeClient(ImgurClientId, ImgurKey);
            var endpoint = new GalleryEndpoint(client);
            var images   = await endpoint.SearchGalleryAsync($"title:{title}");

            List <IGalleryImage> actualImages = new List <IGalleryImage>();

            foreach (IGalleryItem item in images)
            {
                if (item as IGalleryImage != null)
                {
                    actualImages.Add(item as IGalleryImage);
                }
            }

            if (actualImages.Count > 0)
            {
                IGalleryImage i = actualImages[MikiRandom.Next(0, actualImages.Count)];

                e.Channel.QueueMessage(i.Link);
            }
            else
            {
                e.Channel.QueueMessage(e.Locale.GetString("miki_module_fun_image_error_no_image_found"));
            }
        }
Пример #9
0
        public async Task ImgurImageAsync(EventContext e)
        {
            if (string.IsNullOrEmpty(e.arguments))
            {
                return;
            }

            var client   = new MashapeClient(Global.config.ImgurClientId, Global.config.ImgurKey);
            var endpoint = new GalleryEndpoint(client);
            var images   = await endpoint.SearchGalleryAsync($"title:{e.arguments}");

            List <IGalleryImage> actualImages = new List <IGalleryImage>();

            foreach (IGalleryItem item in images)
            {
                if (item as IGalleryImage != null)
                {
                    actualImages.Add(item as IGalleryImage);
                }
            }

            if (actualImages.Count > 0)
            {
                IGalleryImage i = actualImages[MikiRandom.Next(0, actualImages.Count)];

                await e.Channel.SendMessage(i.Link);
            }
            else
            {
                await e.Channel.SendMessage(Locale.GetEntity(e.Channel.Id.ToDbLong()).GetString(Locale.ImageNotFound));
            }
        }
Пример #10
0
        public async Task ImgurImageAsync(EventContext e)
        {
            if (string.IsNullOrEmpty(e.Arguments.ToString()))
            {
                e.Channel.QueueMessageAsync(e.GetResource(LocaleTags.ImageNotFound));
                return;
            }

            var client   = new MashapeClient(ImgurClientId, ImgurKey);
            var endpoint = new GalleryEndpoint(client);
            var images   = await endpoint.SearchGalleryAsync($"title:{e.Arguments.ToString()}");

            List <IGalleryImage> actualImages = new List <IGalleryImage>();

            foreach (IGalleryItem item in images)
            {
                if (item as IGalleryImage != null)
                {
                    actualImages.Add(item as IGalleryImage);
                }
            }

            if (actualImages.Count > 0)
            {
                IGalleryImage i = actualImages[MikiRandom.Next(0, actualImages.Count)];

                e.Channel.QueueMessageAsync(i.Link);
            }
            else
            {
                e.Channel.QueueMessageAsync(e.GetResource(LocaleTags.ImageNotFound));
            }
        }
Пример #11
0
        public void UpdateRateLimit_WithMashapeClientHeaders_Equal()
        {
            var client   = new MashapeClient("123", "1234", "jhjhjhjh");
            var endpoint = new MockEndpoint(client);
            var response = new HttpResponseMessage();

            response.Headers.TryAddWithoutValidation("X-RateLimit-Requests-Limit", "123");
            response.Headers.TryAddWithoutValidation("X-RateLimit-Requests-Remaining", "345");

            endpoint.UpdateRateLimit(response.Headers);

            Assert.Equal(123, endpoint.ApiClient.RateLimit.ClientLimit);
            Assert.Equal(345, endpoint.ApiClient.RateLimit.ClientRemaining);

            response.Headers.Remove("X-RateLimit-Requests-Limit");
            response.Headers.Remove("X-RateLimit-Requests-Remaining");

            response.Headers.TryAddWithoutValidation("X-RateLimit-Requests-Limit", "122");
            response.Headers.TryAddWithoutValidation("X-RateLimit-Requests-Remaining", "344");

            endpoint.UpdateRateLimit(response.Headers);

            Assert.Equal(122, endpoint.ApiClient.RateLimit.ClientLimit);
            Assert.Equal(344, endpoint.ApiClient.RateLimit.ClientRemaining);
        }
        public async Task CreateAlbumAsync_IsNotNull()
        {
            var client   = new MashapeClient(ClientId, ClientSecret, MashapeKey, OAuth2Token);
            var endpoint = new AlbumEndpoint(client);

            var album = await endpoint.CreateAlbumAsync(
                "TheTitle", "TheDescription",
                AlbumPrivacy.Hidden, AlbumLayout.Grid,
                "uH3kfZP", new List <string> {
                "uH3kfZP", "VzbrLbO"
            });

            Assert.IsNotNull(album);
            Assert.IsNotNull(album.Id);
            Assert.IsNotNull(album.DeleteHash);

            await GetAlbumAsync_WithAlbum_AreEqual(album);
            await GetAlbumImageAsync_WithAlbum_AreEqual(album);
            await GetAlbumImagesAsync_WithAlbum_AreEqual(album);
            await UpdateAlbumAsync_WithAlbum_AreEqual(album);
            await AddAlbumImagesAsync_WithAlbum_AreEqual(album);
            await RemoveAlbumImagesAsync_WithAlbum_AreEqual(album);
            await SetAlbumImagesAsync_WithAlbum_AreEqual(album);
            await FavoriteAlbumAsync_WithImage_IsTrue(album);
            await FavoriteAlbumAsync_WithImage_IsFalse(album);
            await DeleteAlbumAsync_WithImage_IsTrue(album);
        }
Пример #13
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);
        }
Пример #14
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());
        }
Пример #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);
        }
        public async Task GetAlbumImagesAsync_WithAlbum_AreEqual(IAlbum actualAlbum)
        {
            var client   = new MashapeClient(ClientId, ClientSecret, MashapeKey);
            var endpoint = new AlbumEndpoint(client);

            var albums = await endpoint.GetAlbumImagesAsync(actualAlbum.Id);

            Assert.AreEqual(2, albums.Count());
        }
Пример #21
0
        public void OAuth2Token_SetBySetOAuth2Token_AreSame()
        {
            var oAuth2Token = MockOAuth2Token.GetOAuth2Token();
            var client      = new MashapeClient("ClientId", "MashapeKey");

            Assert.Null(client.OAuth2Token);
            client.SetOAuth2Token(oAuth2Token);
            Assert.Same(oAuth2Token, client.OAuth2Token);
        }
Пример #22
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 GetCommentCountAsync_AreEqual()
        {
            var client   = new MashapeClient(ClientId, ClientSecret, MashapeKey);
            var endpoint = new AccountEndpoint(client);

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

            Assert.IsTrue(commentCount > 100);
        }
        public async Task GetAlbumAsync_WithAlbum_AreEqual(IAlbum actualAlbum)
        {
            var client   = new MashapeClient(ClientId, ClientSecret, MashapeKey, OAuth2Token);
            var endpoint = new AlbumEndpoint(client);

            var album = await endpoint.GetAlbumAsync(actualAlbum.Id);

            Assert.AreEqual(actualAlbum.Id, album.Id);
        }
        public async Task FavoriteAlbumAsync_WithImage_IsTrue(IAlbum actualAlbum)
        {
            var client   = new MashapeClient(ClientId, ClientSecret, MashapeKey, OAuth2Token);
            var endpoint = new AlbumEndpoint(client);

            var favorited = await endpoint.FavoriteAlbumAsync(actualAlbum.Id);

            Assert.IsTrue(favorited);
        }
        public async Task UpdateAlbumAsync_WithAlbum_AreEqual(IAlbum actualAlbum)
        {
            var client   = new MashapeClient(ClientId, ClientSecret, MashapeKey, OAuth2Token);
            var endpoint = new AlbumEndpoint(client);

            var updated = await endpoint.UpdateAlbumAsync(actualAlbum.Id, "TestTitle");

            Assert.IsTrue(updated);
        }
Пример #27
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);
        }
Пример #28
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 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 DeleteImageAsync_WithImage_IsTrue(IAlbum actualAlbum)
        {
            var client   = new MashapeClient(ClientId, ClientSecret, MashapeKey);
            var endpoint = new AlbumEndpoint(client);

            var deleted = await endpoint.DeleteAlbumAsync(actualAlbum.DeleteHash);

            Assert.IsTrue(deleted);
        }