public async Task PostMultiple() { var random = new Random(); var count = random.Next(2, 5); var files = new List <string>(count); var preProcessor = Substitute.For <IPreprocessor>(); var content = new MultipartContent(); var dir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().GetName().CodeBase); var f = dir.Substring(6, dir.Length - 6) + @"\icon.png"; var bytes = File.ReadAllBytes(f); for (var i = 0; i < count; i++) { var fileName = Guid.NewGuid().ToString(); var fileContent = new ByteArrayContent(bytes); fileContent.Headers.ContentType = new MediaTypeHeaderValue("image/jpeg"); fileContent.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment") { FileName = fileName }; preProcessor.Process(bytes, "image/jpeg", fileName); content.Add(fileContent); files.Add(fileName); } var store = Substitute.For <IDataStore>(); var api = new ImageApi(preProcessor, store) { Request = new HttpRequestMessage(), }; api.Request.Content = content; var response = await api.Post(); Assert.IsNotNull(response); Assert.AreEqual(HttpStatusCode.Created, response.StatusCode); Assert.IsNotNull(response.Content); foreach (var file in files) { preProcessor.Received().Process(bytes, "image/jpeg", file); } }
public async Task PostEmpty() { var preProcessor = Substitute.For <IPreprocessor>(); var imaging = Substitute.For <IImaging>(); var store = Substitute.For <IDataStore>(); var api = new ImageApi(preProcessor, store) { Request = new HttpRequestMessage(), }; api.Request.Content = new MultipartContent(); var response = await api.Post(); Assert.IsNotNull(response); Assert.AreEqual(HttpStatusCode.Created, response.StatusCode); }
public async Task PostInvalid() { var random = new Random(); var bytes = new byte[128]; random.NextBytes(bytes); var preProcessor = Substitute.For <IPreprocessor>(); var store = Substitute.For <IDataStore>(); var api = new ImageApi(preProcessor, store) { Request = new HttpRequestMessage(), }; api.Request.Content = new ByteArrayContent(bytes); var response = await api.Post(); Assert.IsNotNull(response); Assert.AreEqual(HttpStatusCode.UnsupportedMediaType, response.StatusCode); }
public async Task Post() { var dir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().GetName().CodeBase); var file = dir.Substring(6, dir.Length - 6) + @"\icon.png"; var bytes = File.ReadAllBytes(file); var fileContent = new ByteArrayContent(bytes); fileContent.Headers.ContentType = new MediaTypeHeaderValue("image/jpeg"); fileContent.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment") { FileName = "myFilename.jpg" }; var preProcessor = Substitute.For <IPreprocessor>(); preProcessor.Process(bytes, "image/jpeg", "myFilename.jpg"); var store = Substitute.For <IDataStore>(); var api = new ImageApi(preProcessor, store) { Request = new HttpRequestMessage(), }; var content = new MultipartContent(); content.Add(fileContent); api.Request.Content = content; var response = await api.Post(); Assert.IsNotNull(response); Assert.AreEqual(HttpStatusCode.Created, response.StatusCode); Assert.IsNotNull(response.Content); preProcessor.Received().Process(bytes, "image/jpeg", "myFilename.jpg"); }
public async Task Post() { var bytes = File.ReadAllBytes(Environment.CurrentDirectory + @"\icon.png"); var fileContent = new ByteArrayContent(bytes); fileContent.Headers.ContentType = new MediaTypeHeaderValue("image/jpeg"); fileContent.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment") { FileName = "myFilename.jpg" }; var preProcessor = Substitute.For<IPreprocessor>(); preProcessor.Process(bytes, "image/jpeg", "myFilename.jpg"); var store = Substitute.For<IDataStore>(); var api = new ImageApi(preProcessor, store) { Request = new HttpRequestMessage(), }; var content = new MultipartContent(); content.Add(fileContent); api.Request.Content = content; var response = await api.Post(); Assert.IsNotNull(response); Assert.AreEqual(HttpStatusCode.Created, response.StatusCode); Assert.IsNotNull(response.Content); preProcessor.Received().Process(bytes, "image/jpeg", "myFilename.jpg"); }
public async Task PostEmpty() { var preProcessor = Substitute.For<IPreprocessor>(); var imaging = Substitute.For<IImaging>(); var store = Substitute.For<IDataStore>(); var api = new ImageApi(preProcessor, store) { Request = new HttpRequestMessage(), }; api.Request.Content = new MultipartContent(); var response = await api.Post(); Assert.IsNotNull(response); Assert.AreEqual(HttpStatusCode.Created, response.StatusCode); }
public async Task PostInvalid() { var random = new Random(); var bytes = new byte[128]; random.NextBytes(bytes); var preProcessor = Substitute.For<IPreprocessor>(); var store = Substitute.For<IDataStore>(); var api = new ImageApi(preProcessor, store) { Request = new HttpRequestMessage(), }; api.Request.Content = new ByteArrayContent(bytes); var response = await api.Post(); Assert.IsNotNull(response); Assert.AreEqual(HttpStatusCode.UnsupportedMediaType, response.StatusCode); }
public async Task PostMultiple() { var random = new Random(); var count = random.Next(2, 5); var files = new List<string>(count); var preProcessor = Substitute.For<IPreprocessor>(); var content = new MultipartContent(); var bytes = File.ReadAllBytes(Environment.CurrentDirectory + @"\icon.png"); for (var i = 0; i < count; i++) { var fileName = Guid.NewGuid().ToString(); var fileContent = new ByteArrayContent(bytes); fileContent.Headers.ContentType = new MediaTypeHeaderValue("image/jpeg"); fileContent.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment") { FileName = fileName }; preProcessor.Process(bytes, "image/jpeg", fileName); content.Add(fileContent); files.Add(fileName); } var store = Substitute.For<IDataStore>(); var api = new ImageApi(preProcessor, store) { Request = new HttpRequestMessage(), }; api.Request.Content = content; var response = await api.Post(); Assert.IsNotNull(response); Assert.AreEqual(HttpStatusCode.Created, response.StatusCode); Assert.IsNotNull(response.Content); foreach (var file in files) { preProcessor.Received().Process(bytes, "image/jpeg", file); } }