public async Task UploadFile_When_Success_Using_Super_User_Returns_PathFile() { var fixture = new Fixture(); var url = $"http://localhost"; _httpClient.DefaultRequestHeaders.Add("Authorization", $"Bearer {TestsHelper.GetSuperUserAuthenticationToken()}"); var uploadFileRequest = new UploadFileRequest { PathFile = $"/{fixture.Create<string>()}.pdf", Content = fixture.Create <byte[]>() }; _amazonS3.Setup(s => s.PutObjectAsync(It.IsAny <PutObjectRequest>(), It.IsAny <CancellationToken>())) .ReturnsAsync(new PutObjectResponse { }); var result = await _httpClient.PostAsync(url, CreateUploadFileRequestContent(uploadFileRequest)); Assert.NotNull(result); Assert.Equal(HttpStatusCode.OK, result.StatusCode); var resultContent = await result.Content.ReadAsStringAsync(); Assert.Equal($"/{ROOT_FOLDER}{uploadFileRequest.PathFile}", resultContent); }
public async Task UploadFile_When_File_Already_Exist_And_Not_Override_Returns_BadRequest_With_Error_Message() { var fixture = new Fixture(); var url = $"http://localhost"; _httpClient.DefaultRequestHeaders.Add("Authorization", $"Bearer {TestsHelper.GetSuperUserAuthenticationToken()}"); var uploadFileRequest = new UploadFileRequest { PathFile = $"/{fixture.Create<string>()}.png", Override = false, Content = fixture.Create <byte[]>() }; _amazonS3.Setup(s => s.GetObjectAsync(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <CancellationToken>())) .ReturnsAsync(new GetObjectResponse { Key = $"/{ROOT_FOLDER}{uploadFileRequest.PathFile}" }); var result = await _httpClient.PostAsync(url, CreateUploadFileRequestContent(uploadFileRequest)); Assert.NotNull(result); Assert.Equal(HttpStatusCode.BadRequest, result.StatusCode); var resultContent = await result.Content.ReadAsStringAsync(); Assert.Equal(StorageProviderError.FileAlreadyExist.ToString(), resultContent.Replace("\"", string.Empty)); }
public async Task UploadFile_When_Missing_File_Content_Returns_BadRequest_With_Error_Message() { var fixture = new Fixture(); var url = $"http://localhost"; _httpClient.DefaultRequestHeaders.Add("Authorization", $"Bearer {TestsHelper.GetSuperUserAuthenticationToken()}"); var uploadFileRequest = new UploadFileRequest { PathFile = $"/{fixture.Create<string>()}.xls", }; var result = await _httpClient.PostAsync(url, CreateUploadFileRequestContent(uploadFileRequest)); Assert.NotNull(result); Assert.Equal(HttpStatusCode.BadRequest, result.StatusCode); var resultContent = await result.Content.ReadAsStringAsync(); Assert.Equal(StorageProviderError.MissingFileContent.ToString(), resultContent.Replace("\"", string.Empty)); }
public async Task UploadFile_When_Storage_Provider_Fails_Returns_InternalServerError() { var fixture = new Fixture(); var url = $"http://localhost"; _httpClient.DefaultRequestHeaders.Add("Authorization", $"Bearer {TestsHelper.GetSuperUserAuthenticationToken()}"); var uploadFileRequest = new UploadFileRequest { PathFile = $"/{fixture.Create<string>()}.xls", Content = fixture.Create <byte[]>() }; _amazonS3.Setup(s => s.PutObjectAsync(It.IsAny <PutObjectRequest>(), It.IsAny <CancellationToken>())) .ThrowsAsync(new Exception()); var result = await _httpClient.PostAsync(url, CreateUploadFileRequestContent(uploadFileRequest)); Assert.NotNull(result); Assert.Equal(HttpStatusCode.InternalServerError, result.StatusCode); }