50 lines
1.6 KiB
C#
50 lines
1.6 KiB
C#
using LCU.Api.Internal.FileOperations.Services.FileActionServices;
|
|
using LCU.Library.Internal.FileOperationsModels.Models;
|
|
using LCU.Library.Internal.LCUServiceFactory.Configurations;
|
|
using System;
|
|
using System.IO;
|
|
using Xunit;
|
|
|
|
namespace LCU.Api.Internal.FileOperationsTests.Services
|
|
{
|
|
public class WriteBinaryFileServiceTest : IDisposable
|
|
{
|
|
private readonly string _tempDirectory;
|
|
private readonly WriteBinaryFileService _writeBinaryFileService;
|
|
|
|
public WriteBinaryFileServiceTest()
|
|
{
|
|
_tempDirectory = Path.Combine(Path.GetTempPath(), Guid.NewGuid().ToString());
|
|
Directory.CreateDirectory(_tempDirectory);
|
|
_writeBinaryFileService = new WriteBinaryFileService(new ServicesFactoryConfiguration());
|
|
}
|
|
|
|
[Fact]
|
|
public void PerformRequest_WritesBinaryBytes()
|
|
{
|
|
var expectedBytes = new byte[] { 0x52, 0x49, 0x46, 0x46, 0x24, 0x00, 0x00, 0x00 };
|
|
var request = new WriteFileRequest
|
|
{
|
|
DestinationPath = _tempDirectory,
|
|
FileName = "sample",
|
|
Extension = ".wav",
|
|
FileData = Convert.ToBase64String(expectedBytes),
|
|
Overwrite = true
|
|
};
|
|
|
|
var result = _writeBinaryFileService.PerformRequest(request);
|
|
|
|
Assert.True(result.IsSuccessful);
|
|
Assert.Equal(expectedBytes, File.ReadAllBytes(request.FullFilePath));
|
|
}
|
|
|
|
public void Dispose()
|
|
{
|
|
if (Directory.Exists(_tempDirectory))
|
|
{
|
|
Directory.Delete(_tempDirectory, true);
|
|
}
|
|
}
|
|
}
|
|
}
|