feat: add strict legacy probe override schema

This commit is contained in:
codex
2026-08-05 16:33:13 +03:00
parent 9c49ebf1e2
commit 8764348a75
2 changed files with 48 additions and 0 deletions
@@ -49,6 +49,15 @@ public sealed class RosterAdaptersTests
Assert.Equal(["legacy-a"], selection.PluginIds);
}
[Fact]
public void LegacyProbeOverride_RequiresExplicitProbeModeAndStrictSchema()
{
const string valid = """{"schemaVersion":1,"mode":"LegacyConfigurationProbe","settingsXml":"C:/Settings.xml","downloadListXml":"C:/download_list.xml","compatibilityOverlay":"C:/overlay.json","selectedPattern":"Plant","evidenceOutputRoot":"C:/evidence"}""";
Assert.Equal("Plant", LegacyProbeOverrideParser.Parse(valid).SelectedPattern);
Assert.Throws<InvalidOperationException>(() => LegacyProbeOverrideParser.Parse(valid.Replace("LegacyConfigurationProbe","Production")));
Assert.Throws<InvalidOperationException>(() => LegacyProbeOverrideParser.Parse(valid[..^1] + ",\"unknown\":true}"));
}
[Fact]
public void ProjectRoster_HasPriorityOverLegacy()
{