fix: allow safe fresh-clone DryRun builds

This commit is contained in:
2026-07-24 14:03:29 +09:00
parent b050f2f06c
commit 68a41194c9
15 changed files with 420 additions and 40 deletions

View File

@@ -62,6 +62,32 @@ public sealed class PlayoutOptionsLoaderTests
Assert.Null(options.MaximumAutomaticRefreshesPerTakeIn);
}
[Fact]
public void Load_SourceOnlyIgnoresLocalProfileOperatorRootsAndEnvironment()
{
using var environment = ClearedEnvironment()
.Set("MBN_STOCK_PLAYOUT_MODE", "Live")
.Set("MBN_STOCK_PLAYOUT_HOST", "configured-live-host")
.Set("MBN_STOCK_PLAYOUT_SCENE_DIRECTORY", "C:\\configured-live-scenes")
.Set(
PlayoutOptionsLoader.LiveAuthorizationEnvironmentVariable,
PlayoutOptionsLoader.RequiredLiveAuthorizationValue);
using var file = TemporaryJsonFile.Create("{ intentionally-invalid-json");
var options = PlayoutOptionsLoader.Load(
file.Path,
operatorSceneDirectory: "C:\\operator-scenes",
operatorBackgroundDirectory: "C:\\operator-backgrounds",
forceSafeDryRun: true);
Assert.Equal(PlayoutMode.DryRun, options.Mode);
Assert.Equal("127.0.0.1", options.Host);
Assert.Null(options.SceneDirectory);
Assert.Null(options.LegacyBackgroundDirectory);
Assert.False(options.TrustedLiveOutputEnabled);
Assert.Empty(options.TestSceneAllowlist);
}
[Fact]
public void ApplyExecutableAssetDefaults_UsesCutsBesideExecutable()
{