Add AquaSynth local CultNet daemon
This commit is contained in:
parent
8c5f6d604a
commit
6e93513e8e
8 changed files with 484 additions and 5 deletions
|
|
@ -1,4 +1,5 @@
|
|||
using AquaSynth.Faust;
|
||||
using GameCult.Caching;
|
||||
|
||||
namespace AquaSynth.Dsl.Tests;
|
||||
|
||||
|
|
@ -96,6 +97,36 @@ public sealed class AquaSynthDaemonServiceTests
|
|||
Assert.True(File.Exists(Path.Combine(storeRoot, "streams", "stream-sine-stream.cc")));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task CultNetDaemonConsumesCommandDocumentsAndPublishesReceiptDocuments()
|
||||
{
|
||||
var storeRoot = NewStoreRoot();
|
||||
await using var daemon = await AquaSynthCultNetDaemon.StartAsync(new AquaSynthCultNetDaemonOptions(storeRoot));
|
||||
|
||||
var receipt = await daemon.SubmitSampleAsync(new AquaSynthInstrumentSampleCommand(
|
||||
"cultnet-invalid-sample",
|
||||
"test.cultnet.invalid",
|
||||
"test_cultnet_invalid",
|
||||
"this is not aqua syntax",
|
||||
DurationSeconds: 0.1f));
|
||||
|
||||
Assert.Equal("failed", receipt.Status);
|
||||
Assert.Equal("cultnet-invalid-sample", receipt.CommandId);
|
||||
Assert.NotNull(await daemon.Database.GetAsync<AquaSynthInstrumentSampleCommand>(
|
||||
AquaSynthCultNetDaemon.CommandKey("cultnet-invalid-sample")));
|
||||
Assert.NotNull(await daemon.Database.GetAsync<AquaSynthPatchCompileReceipt>(
|
||||
AquaSynthCultNetDaemon.CompileReceiptKey("cultnet-invalid-sample")));
|
||||
Assert.NotNull(await daemon.Database.GetAsync<AquaSynthRenderSampleReceipt>(
|
||||
AquaSynthCultNetDaemon.RenderReceiptKey("cultnet-invalid-sample")));
|
||||
|
||||
var provider = await daemon.Database.GetAsync<AquaSynthCultNetProviderState>(
|
||||
new CultRecordKey("global:aquasynth.cultnet_provider"));
|
||||
Assert.NotNull(provider);
|
||||
Assert.Contains(AquaSynthDaemonSchemas.InstrumentSampleCommand, provider.CommandSchemas);
|
||||
Assert.StartsWith(storeRoot, provider.CachePath, StringComparison.OrdinalIgnoreCase);
|
||||
Assert.True(Directory.Exists(Path.GetDirectoryName(provider.CachePath)));
|
||||
}
|
||||
|
||||
private static string NewStoreRoot()
|
||||
{
|
||||
var path = Path.Combine(Path.GetTempPath(), "aquasynth-daemon-tests", Guid.NewGuid().ToString("N"));
|
||||
|
|
|
|||
Loading…
Reference in a new issue