tests: add integration test for audio extractor

This commit is contained in:
Stevan Freeborn
2025-07-28 17:59:27 -05:00
parent 30f2032cef
commit 5ee040f2d0
7 changed files with 59 additions and 0 deletions
@@ -0,0 +1,27 @@
namespace StreamShorts.Library.Tests.Integration.Media.Audio;
public class AudioExtractorTests
{
private readonly AudioExtractor _sut = new();
[Fact]
public async Task ExtractMp3FromMp4Async_WhenCalled_ItShouldExtractAudio()
{
using var testVideo = TestData.GetTestVideo();
using var extractedAudio = TestData.GetExtractedAudio();
var result = await _sut.ExtractMp3FromMp4Async(testVideo);
var audioBytes = await ConvertStreamToBytesAsync(extractedAudio);
var resultBytes = await ConvertStreamToBytesAsync(result);
resultBytes.Should().Equal(audioBytes);
}
private static async Task<byte[]> ConvertStreamToBytesAsync(Stream stream)
{
using var ms = new MemoryStream();
await stream.CopyToAsync(ms);
return ms.ToArray();
}
}