public async Task TestImgur() { string error = null; Image urlImage = null; Image streamImage = null; CreateAlbum album = null; try { urlImage = await imgur.UploadImageAnonymous("https://github.com/fluidicon.png", "name", "title", "description"); using (Stream ms = ResourceRetriever.GetStream("images/vs-icon.png")) { streamImage = await imgur.UploadImageAnonymous(ms, "name", "title", "description"); } bool updated = await imgur.UpdateImageAnonymous(streamImage.Deletehash, "updated title", "a new description"); //Album album = await imgur.CreateAlbumAnonymous(new string[] { streamImage.Deletehash }, "album title", "album description", AlbumPrivacy.Public, AlbumLayout.Horizontal, streamImage.Id); bool result = await imgur.UpdateAlbumAnonymous(album.DeleteHash, new string[] { streamImage.Deletehash, urlImage.Deletehash }, "updated album title", "update album description", AlbumPrivacy.Hidden, AlbumLayout.Blog, streamImage.Id); bool addImagesResult = await imgur.AddImagesToAlbumAnonymous(album.DeleteHash, new string[] { streamImage.Deletehash, urlImage.Deletehash }); bool removeImagesResult = await imgur.RemoveImagesFromAlbumAnonymous(album.DeleteHash, new string[] { urlImage.Id }); } catch (Exception e) { error = e.Message; } finally { if (urlImage != null) { await imgur.DeleteImageAnonymous(urlImage.Deletehash); } if (streamImage != null) { await imgur.DeleteImageAnonymous(streamImage.Deletehash); } if (album != null) { await imgur.DeleteAlbumAnonymous(album.DeleteHash); } } Assert.IsNull(error, error); }
public async Task TestDeleteImage() { var mockHttp = new MockHttpMessageHandler(); mockHttp.When(HttpMethod.Post, baseUrl + "image/some-delete-hash") .Respond(HttpStatusCode.OK, MediaTypeNames.Application.Json, ResourceRetriever.GetJsonString("responses/delete-image-ok.json")); imgur = new Imgur(apiKey, mockHttp); bool success = await imgur.DeleteImageAnonymous("some-delete-hash"); Assert.IsTrue(success); }
public async Task TestGetImage() { var mockHttp = new MockHttpMessageHandler(); mockHttp.When(baseUrl + "image/some-image-id") .Respond(MediaTypeNames.Application.Json, ResourceRetriever.GetJsonString("responses/get-image-ok.json")); imgur = new Imgur(apiKey, mockHttp); Image image = await imgur.GetImage("some-image-id"); Assert.AreEqual("some-image-id", image.Id); }
public async Task TestCreateAlbum() { var mockHttp = new MockHttpMessageHandler(); mockHttp.When(HttpMethod.Post, baseUrl + "album") .Respond(HttpStatusCode.OK, MediaTypeNames.Application.Json, ResourceRetriever.GetJsonString("responses/create-album-ok.json")); imgur = new Imgur(apiKey, mockHttp); CreateAlbum album = await imgur.CreateAlbumAnonymous(new string[] { "delete-hash-1" }, "title", "description", AlbumPrivacy.None, AlbumLayout.Blog, "image-id"); Assert.AreEqual("some-delete-hash", album.DeleteHash); Assert.AreEqual("some-id", album.Id); }
public async Task TestUploadImageStream() { var mockHttp = new MockHttpMessageHandler(); mockHttp.When(HttpMethod.Post, baseUrl + "upload") .Respond(HttpStatusCode.OK, MediaTypeNames.Application.Json, ResourceRetriever.GetJsonString("responses/upload-image-stream-ok.json")); imgur = new Imgur(apiKey, mockHttp); Image image = await imgur.UploadImageAnonymous(ResourceRetriever.GetStream("images/vs-icon.png"), "name", "title", "description"); Assert.AreEqual("some-id", image.Id); Assert.AreEqual("title", image.Title); Assert.AreEqual("some-delete-hash", image.Deletehash); Assert.AreEqual("https://i.imgur.com/some-id.png", image.Link); Assert.AreEqual("image/png", image.Type); }
public async Task TestGetNotExistingImage() { var mockHttp = new MockHttpMessageHandler(); mockHttp.When(baseUrl + "image/non-existing-id") .Respond(HttpStatusCode.NotFound, MediaTypeNames.Application.Json, ResourceRetriever.GetJsonString("responses/image-not-found.json")); imgur = new Imgur(apiKey, mockHttp); try { Image img = await imgur.GetImage("non-existing-id"); Assert.Fail(); } catch (ResponseException ex) { Assert.IsTrue(ex.Message.Contains("Unable to find an image with the id")); } }