Files
monorepo/LCU.API.Internal.FileOperations/LCU.Api.Internal.FileOperationsTests/Services/WriteBinaryFileServiceTest.cs
T
2026-05-04 15:38:57 +00:00

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);
}
}
}
}