feat(m9/T32c): schema-library CRUD commands + handlers + Central UI page + read-accessor

This commit is contained in:
Joseph Doherty
2026-06-18 12:32:31 -04:00
parent 71d5722692
commit 71a2bca4df
13 changed files with 1363 additions and 0 deletions
@@ -92,6 +92,25 @@ public class ManagementCommandRegistryTests
ManagementCommandRegistry.Resolve("ListInstanceNativeAlarmSourceOverrides"));
}
/// <summary>
/// M9-T32c: the schema-library CRUD commands must auto-register by reflection
/// (no manual registry entry) so the HTTP / ClusterClient boundary can route them.
/// </summary>
[Fact]
public void Resolve_SchemaLibraryCommands_AllRegistered()
{
Assert.Equal(typeof(ListSharedSchemasCommand),
ManagementCommandRegistry.Resolve("ListSharedSchemas"));
Assert.Equal(typeof(GetSharedSchemaCommand),
ManagementCommandRegistry.Resolve("GetSharedSchema"));
Assert.Equal(typeof(CreateSharedSchemaCommand),
ManagementCommandRegistry.Resolve("CreateSharedSchema"));
Assert.Equal(typeof(UpdateSharedSchemaCommand),
ManagementCommandRegistry.Resolve("UpdateSharedSchema"));
Assert.Equal(typeof(DeleteSharedSchemaCommand),
ManagementCommandRegistry.Resolve("DeleteSharedSchema"));
}
/// <summary>A *Command record outside the Management namespace, for the negative test.</summary>
private record UnregisteredFakeCommand(int Id);
}