Updating
This commit is contained in:
+10
-1
@@ -63,6 +63,15 @@ public class DirectFileOperationsController : ControllerBase
|
|||||||
return await HandleRequestResponse(request, FileOperationType.WriteFile, _writeFileService);
|
return await HandleRequestResponse(request, FileOperationType.WriteFile, _writeFileService);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[HttpPost("WriteBinaryFile")]
|
||||||
|
[ProducesResponseType(200)]
|
||||||
|
[ProducesResponseType(typeof(ReturnResponse), 400)]
|
||||||
|
[ProducesResponseType(500)]
|
||||||
|
public async Task<IActionResult> WriteBinaryFile([FromBody] WriteFileRequest request)
|
||||||
|
{
|
||||||
|
return await HandleRequestResponse(request, FileOperationType.WriteFile, _writeFileService);
|
||||||
|
}
|
||||||
|
|
||||||
[HttpPost("CreateDirectory")]
|
[HttpPost("CreateDirectory")]
|
||||||
[ProducesResponseType(200)]
|
[ProducesResponseType(200)]
|
||||||
[ProducesResponseType(typeof(ReturnResponse), 400)]
|
[ProducesResponseType(typeof(ReturnResponse), 400)]
|
||||||
@@ -143,4 +152,4 @@ public class DirectFileOperationsController : ControllerBase
|
|||||||
return StatusCode(StatusCodes.Status500InternalServerError);
|
return StatusCode(StatusCodes.Status500InternalServerError);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+11
-1
@@ -243,6 +243,16 @@ public class FileOperationsController : ControllerBase
|
|||||||
return await HandleRequestResponse(request, FileOperationType.WriteFile, _writeFileDataService);
|
return await HandleRequestResponse(request, FileOperationType.WriteFile, _writeFileDataService);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// POST api/WriteBinaryFileData
|
||||||
|
[HttpPost("WriteBinaryFileData")]
|
||||||
|
[ProducesResponseType(201)]
|
||||||
|
[ProducesResponseType(typeof(List<string>), 400)]
|
||||||
|
[ProducesResponseType(500)]
|
||||||
|
public async Task<IActionResult> WriteBinaryFileData([FromBody] WriteFileRequest request)
|
||||||
|
{
|
||||||
|
return await HandleRequestResponse(request, FileOperationType.WriteFile, _writeFileDataService);
|
||||||
|
}
|
||||||
|
|
||||||
[HttpPost("DeleteDirectory")]
|
[HttpPost("DeleteDirectory")]
|
||||||
[ProducesResponseType(201)]
|
[ProducesResponseType(201)]
|
||||||
[ProducesResponseType(typeof(List<string>), 400)]
|
[ProducesResponseType(typeof(List<string>), 400)]
|
||||||
@@ -289,4 +299,4 @@ public class FileOperationsController : ControllerBase
|
|||||||
return StatusCode(StatusCodes.Status500InternalServerError);
|
return StatusCode(StatusCodes.Status500InternalServerError);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -224,4 +224,4 @@ void AddMassTransitServices(ref IServiceCollection services,
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
services.AddMassTransitHostedService();
|
services.AddMassTransitHostedService();
|
||||||
}
|
}
|
||||||
|
|||||||
+7
@@ -44,6 +44,13 @@ namespace LCU.Api.Internal.FileOperations.Services.FileActionServices
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
if (string.Equals(request.Extension?.TrimStart('.'), "wav", StringComparison.OrdinalIgnoreCase))
|
||||||
|
{
|
||||||
|
var fileBytes = Convert.FromBase64String(request.FileData);
|
||||||
|
File.WriteAllBytes(request.FullFilePath, fileBytes);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
File.WriteAllText(request.FullFilePath, request.FileData);
|
File.WriteAllText(request.FullFilePath, request.FileData);
|
||||||
}
|
}
|
||||||
catch (Exception exception)
|
catch (Exception exception)
|
||||||
|
|||||||
@@ -119,4 +119,4 @@
|
|||||||
"ReceiveEndpointType": "exchange",
|
"ReceiveEndpointType": "exchange",
|
||||||
"PrefetchLimit": 1
|
"PrefetchLimit": 1
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+29
-1
@@ -46,6 +46,34 @@ public class DirectFileOperationsControllerTest
|
|||||||
_mockAppendFileService.Object);
|
_mockAppendFileService.Object);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Fact]
|
||||||
|
public async Task WriteBinaryFilePost_Ok()
|
||||||
|
{
|
||||||
|
var request = new WriteFileRequest
|
||||||
|
{
|
||||||
|
FileData = Convert.ToBase64String(new byte[] { 0x52, 0x49, 0x46, 0x46 }),
|
||||||
|
DestinationPath = "SomePath",
|
||||||
|
Extension = ".wav",
|
||||||
|
FileName = "FileName"
|
||||||
|
};
|
||||||
|
|
||||||
|
var validRequestResponse = new RequestResponse() { MessageStack = new List<string>(), IsSuccessful = true };
|
||||||
|
_mockWriteFileService.Setup(service => service.PreQueueValidation(It.IsAny<WriteFileRequest>())).Returns(validRequestResponse);
|
||||||
|
_mockDirectFileOperationsService.Setup(service =>
|
||||||
|
service.HandleDirectFileOperationsRequest(It.IsAny<WriteFileRequest>(), FileOperationType.WriteFile))
|
||||||
|
.ReturnsAsync(validRequestResponse)
|
||||||
|
.Verifiable();
|
||||||
|
|
||||||
|
var result = await _controller.WriteBinaryFile(request);
|
||||||
|
var okResult = result as OkObjectResult;
|
||||||
|
|
||||||
|
Assert.NotNull(okResult);
|
||||||
|
Assert.Equal(200, okResult.StatusCode);
|
||||||
|
_mockWriteFileService.Verify(service => service.PreQueueValidation(It.IsAny<WriteFileRequest>()), Times.Once);
|
||||||
|
_mockDirectFileOperationsService.Verify(service =>
|
||||||
|
service.HandleDirectFileOperationsRequest(It.IsAny<WriteFileRequest>(), FileOperationType.WriteFile), Times.Once);
|
||||||
|
}
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
public async Task MoveFilePost_OK()
|
public async Task MoveFilePost_OK()
|
||||||
{
|
{
|
||||||
@@ -240,4 +268,4 @@ public class DirectFileOperationsControllerTest
|
|||||||
_mockDirectFileOperationsService.Verify(service =>
|
_mockDirectFileOperationsService.Verify(service =>
|
||||||
service.HandleDirectFileOperationsRequest(It.IsAny<AppendFileRequest>(), FileOperationType.AppendFile), Times.Once);
|
service.HandleDirectFileOperationsRequest(It.IsAny<AppendFileRequest>(), FileOperationType.AppendFile), Times.Once);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+22
-1
@@ -75,6 +75,27 @@ public class FileOperationsControllerTest
|
|||||||
_mockDirectFileService.Object);
|
_mockDirectFileService.Object);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Fact]
|
||||||
|
public async Task WriteBinaryFileDataPost_OK()
|
||||||
|
{
|
||||||
|
var request = new WriteFileRequest
|
||||||
|
{
|
||||||
|
FileData = Convert.ToBase64String(new byte[] { 0x52, 0x49, 0x46, 0x46 }),
|
||||||
|
DestinationPath = "SomePath",
|
||||||
|
Extension = ".wav",
|
||||||
|
FileName = "FileName"
|
||||||
|
};
|
||||||
|
|
||||||
|
var validRequestResponse = new RequestResponse() { MessageStack = new List<string>(), IsSuccessful = true };
|
||||||
|
_mockWriteFileDataService.Setup(service => service.PreQueueValidation(It.IsAny<WriteFileRequest>())).Returns(validRequestResponse);
|
||||||
|
|
||||||
|
var result = await _controller.WriteBinaryFileData(request);
|
||||||
|
var okResult = result as OkResult;
|
||||||
|
|
||||||
|
Assert.NotNull(okResult);
|
||||||
|
Assert.Equal(200, okResult.StatusCode);
|
||||||
|
}
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
public void GetFile_OK()
|
public void GetFile_OK()
|
||||||
{
|
{
|
||||||
@@ -299,4 +320,4 @@ public class FileOperationsControllerTest
|
|||||||
Assert.NotNull(okResult);
|
Assert.NotNull(okResult);
|
||||||
Assert.Equal(200, okResult.StatusCode);
|
Assert.Equal(200, okResult.StatusCode);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -22,4 +22,4 @@ public enum FileOperationType
|
|||||||
ExtractIndexFileData = 18,
|
ExtractIndexFileData = 18,
|
||||||
DeleteEmptyDirectory = 19,
|
DeleteEmptyDirectory = 19,
|
||||||
ValidateFileSizeInRange = 20
|
ValidateFileSizeInRange = 20
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user