private UploadImageStreamRequest ( string url, Stream image, string albumId = null, string title = null, string description = null ) : |
||
url | string | |
image | Stream | |
albumId | string | |
title | string | |
description | string | |
return |
public void UploadStreamBinaryRequest_WithUrlNull_ThrowsArgumentNullException() { var requestBuilder = new ImageRequestBuilder(); using (var fs = new FileStream("banana.gif", FileMode.Open)) { requestBuilder.UploadImageStreamRequest(null, fs); } }
public void UploadStreamBinaryRequest_WithImageNull_ThrowsArgumentNullException() { var client = new ImgurClient("123", "1234"); var requestBuilder = new ImageRequestBuilder(); var url = $"{client.EndpointUrl}image"; using (var fs = new FileStream("banana.gif", FileMode.Open)) { requestBuilder.UploadImageStreamRequest(url, null); } }
public void UploadStreamBinaryRequest_WithUrlNull_ThrowsArgumentNullException() { var requestBuilder = new ImageRequestBuilder(); using (var ms = new MemoryStream(new byte[9])) { // ReSharper disable once AccessToDisposedClosure var exception = Record.Exception(() => requestBuilder.UploadImageStreamRequest(null, ms)); Assert.NotNull(exception); Assert.IsType<ArgumentNullException>(exception); var argNullException = (ArgumentNullException) exception; Assert.Equal(argNullException.ParamName, "url"); } }
public async Task UploadStreamBinaryRequest_AreEqual() { var client = new ImgurClient("123", "1234"); var requestBuilder = new ImageRequestBuilder(); var url = $"{client.EndpointUrl}image"; using (var fs = new FileStream("banana.gif", FileMode.Open)) { var imageLength = fs.Length; var request = requestBuilder.UploadImageStreamRequest(url, fs, "TheAlbum", "TheTitle", "TheDescription"); Assert.IsNotNull(request); Assert.AreEqual("https://api.imgur.com/3/image", request.RequestUri.ToString()); Assert.AreEqual(HttpMethod.Post, request.Method); var content = (MultipartFormDataContent) request.Content; var imageContent = (StreamContent) content.FirstOrDefault(x => x.Headers.ContentDisposition.Name == "image"); var album = (StringContent) content.FirstOrDefault(x => x.Headers.ContentDisposition.Name == "album"); var type = (StringContent) content.FirstOrDefault(x => x.Headers.ContentDisposition.Name == "type"); var title = (StringContent) content.FirstOrDefault(x => x.Headers.ContentDisposition.Name == "title"); var description = (StringContent) content.FirstOrDefault(x => x.Headers.ContentDisposition.Name == "description"); Assert.IsNotNull(imageContent); Assert.IsNotNull(type); Assert.IsNotNull(album); Assert.IsNotNull(title); Assert.IsNotNull(description); var image = await imageContent.ReadAsByteArrayAsync(); Assert.AreEqual(imageLength, image.Length); Assert.AreEqual("file", await type.ReadAsStringAsync()); Assert.AreEqual("TheAlbum", await album.ReadAsStringAsync()); Assert.AreEqual("TheTitle", await title.ReadAsStringAsync()); Assert.AreEqual("TheDescription", await description.ReadAsStringAsync()); } }
public void UploadStreamBinaryRequest_WithImageNull_ThrowsArgumentNullException() { var client = new ImgurClient("123", "1234"); var requestBuilder = new ImageRequestBuilder(); var mockUrl = $"{client.EndpointUrl}image"; var exception = Record.Exception(() => requestBuilder.UploadImageStreamRequest(mockUrl, null)); Assert.NotNull(exception); Assert.IsType<ArgumentNullException>(exception); var argNullException = (ArgumentNullException) exception; Assert.Equal(argNullException.ParamName, "image"); }