public async Task Basic_Post_Get_Delete_Image() { using var stream = File.OpenRead("Assets/test.png"); var imageFile = new FormFile(stream, 0, stream.Length, null, Path.GetFileName(stream.Name)); var postResult = await _controller.PostImage(imageFile, "Media", "example_id"); Assert.IsType <CreatedAtActionResult>(postResult.Result); var createdResult = postResult.Result as CreatedAtActionResult; var createdImage = createdResult.Value as Image; var getResult = await _controller.GetImage(createdImage.Id); Assert.Equal(createdImage, getResult.Value); Assert.Equal(createdImage.ImageFile.Path, getResult.Value.ImageFile.Path); var deleteResult = await _controller.DeleteImage(createdImage.Id); Assert.Equal(createdImage, deleteResult.Value); getResult = await _controller.GetImage(createdImage.Id); Assert.Equal(Status.Deleted, getResult.Value.IsDeletedStatus); }
public void GetImageReturnsOkResult() { //Act var result = controller.GetImage(1); //Assert Assert.IsType <OkObjectResult>(result.Result); }
public void GetImage_Returns404NotFound_WhenFileDoesNotExist() { // Arrange _fileStore.Setup(fileStore => fileStore.Exists(It.IsAny <string>())) .Returns(false); // Act IActionResult response = _controller.GetImage(string.Empty, "nonexistent-file"); // Assert response.Should().BeAssignableTo <NotFoundResult>(); }
public async Task WhenCallingGetImage_Should_ReturnFileStreamResultIfImageAvailable() { var imagesLibrary = A.Fake <IImagesLibrary>(); A.CallTo(() => imagesLibrary.GetImageAsync( A <string> ._, A <string> ._, A <string> ._, A <string> ._, A <string> ._)) .ReturnsLazily(callInfo => { var testImage = new Image( callInfo.GetArgument <string>("imageName"), TestHelpers.GetTestImage()); return(Task.FromResult(testImage)); }); var sut = new ImagesController(imagesLibrary, A.Dummy <ILogger <ImagesController> >()); var result = await sut.GetImage("01_04_2019_001103"); result.Should().BeOfType <FileStreamResult>(); ((FileStreamResult)result).ContentType.Should().BeEquivalentTo("image/png"); var actualGdiImage = TestHelpers.GetGdiImageFromStream(((FileStreamResult)result).FileStream); TestHelpers.CompareImages(actualGdiImage, TestHelpers.GetTestImage()).Should().Be(CompareResult.Same); }
public async Task GetImageTest() { var ImageResult = await ImagesController.GetImage(1); var Image = ImageResult.Value as ImageDTO; Assert.IsNotNull(Image); Assert.AreEqual(Image.ImageId, 1); Assert.AreEqual(Image.ByteImage, Convert.ToBase64String(DbContent[0].ByteImage)); }
public async Task WhenCallingGetImage_Should_CallImagesLibraryToGetRequestedImage() { var imagesLibrary = A.Fake <IImagesLibrary>(); var sut = new ImagesController(imagesLibrary, A.Dummy <ILogger <ImagesController> >()); await sut.GetImage("01_04_2019_001103"); A.CallTo(() => imagesLibrary.GetImageAsync( A <string> .That.Matches(imageName => imageName == "01_04_2019_001103"), A <string> .That.Matches(imageResolution => imageResolution == null), A <string> .That.Matches(backgroundColour => backgroundColour == null), A <string> .That.Matches(watermarkText => watermarkText == null), A <string> .That.Matches(imageType => imageType == null))) .MustHaveHappenedOnceExactly(); }
WhenCallingGetImage_AndWatermarkIsSpecified_Should_CallImagesLibraryAndSpecifyRequiredWatermark() { var imagesLibrary = A.Fake <IImagesLibrary>(); var sut = new ImagesController(imagesLibrary, A.Dummy <ILogger <ImagesController> >()); await sut.GetImage("01_04_2019_001103", watermark : "Some watermark text"); A.CallTo(() => imagesLibrary.GetImageAsync( A <string> .That.Matches(imageName => imageName == "01_04_2019_001103"), A <string> .That.Matches(imageResolution => imageResolution == null), A <string> .That.Matches(backgroundColour => backgroundColour == null), A <string> .That.Matches(watermarkText => watermarkText == "Some watermark text"), A <string> .That.Matches(imageType => imageType == null))) .MustHaveHappenedOnceExactly(); }
public async Task WhenCallingGetImage_Should_ReturnNotFoundIfImageNotAvailable() { var imagesLibrary = A.Fake <IImagesLibrary>(); A.CallTo(() => imagesLibrary.GetImageAsync( A <string> ._, A <string> ._, A <string> ._, A <string> ._, A <string> ._)) .Throws <ImageNotAvailableException>(); var sut = new ImagesController(imagesLibrary, A.Dummy <ILogger <ImagesController> >()); var result = await sut.GetImage("01_04_2019_001103"); result.Should().BeOfType <NotFoundResult>(); }
public async Task WhenCallingGetImage_Should_ReturnBadRequestIfImageTypeFormatExceptionThrown() { var imagesLibrary = A.Fake <IImagesLibrary>(); A.CallTo(() => imagesLibrary.GetImageAsync( A <string> ._, A <string> ._, A <string> ._, A <string> ._, A <string> ._)) .Throws(new ImageLibraryException("", new ImageTypeFormatException())); var sut = new ImagesController(imagesLibrary, A.Dummy <ILogger <ImagesController> >()); var result = await sut.GetImage("01_04_2019_001103", imageType : "a bad image type string"); result.Should().BeOfType <BadRequestObjectResult>(); }
public async Task WhenCallingGetImage_Should_ReturnInternalServerErrorStatusIfExceptionThrown() { var imagesLibrary = A.Fake <IImagesLibrary>(); A.CallTo(() => imagesLibrary.GetImageAsync( A <string> ._, A <string> ._, A <string> ._, A <string> ._, A <string> ._)) .Throws <Exception>(); var sut = new ImagesController(imagesLibrary, A.Dummy <ILogger <ImagesController> >()); var result = await sut.GetImage("01_04_2019_001103"); result.Should().BeOfType <StatusCodeResult>(); ((StatusCodeResult)result).StatusCode.Should().Be((int)HttpStatusCode.InternalServerError); }
public void CallingGetImageReturnsImageObject() { var image = new Image { Id = ObjectId.GenerateNewId() }; var dataAccessMock = new Mock <IImageRepository>(); dataAccessMock.Setup(x => x.Get(It.IsAny <string>())).Returns(image); dataAccessMock.Setup(x => x.GetPath(It.IsAny <Image>())).Returns("ImagePath"); var controller = new ImagesController(dataAccessMock.Object, null, null); SetupImagePath(controller); var guid = Guid.NewGuid().ToString(); var result = controller.GetImage(guid); //check if its image/jpeg Assert.NotNull(result); Assert.That(result.Image.Id, Is.EqualTo(image.Id.ToString())); }
public void GetImage_ShouldCreateOne() { var results = _controller.GetImage(32, 35, 100, 100).Result as FileContentResult; Assert.IsNotNull(results); }
public void GetImage_NoUrl_ShouldNotFound() { var results = _controller.GetImage("42").Result as NotFoundResult; Assert.IsNotNull(results); }