test(#551): pin browse-commit parity for MTConnect + MQTT, and record the Sql row-selector gap
Verified against the live mapper: every browsable driver's browse-committed TagConfig passes the gate the commit now runs, EXCEPT Sql — its branch emits a WideRow blob with no rowSelector, which SqlTagConfigModel and SqlEquipmentTagParser both refuse. That tag was never readable; the gate only moves the failure from the deploy gate to the commit. Reported for its own fix rather than special-cased here.
This commit is contained in:
@@ -318,9 +318,18 @@ public sealed class RawTagConfigGateTests
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Every blob <see cref="RawBrowseCommitMapper.BuildTagConfig"/> emits for a browsable driver must
|
/// Browse-commit goes through <see cref="IRawTreeService.ImportTagsAsync"/>, so every blob
|
||||||
/// survive the gate the commit now passes through — otherwise browse-commit would author rows the
|
/// <see cref="RawBrowseCommitMapper.BuildTagConfig"/> emits must survive the gate — otherwise the
|
||||||
/// import refuses.
|
/// commit would author rows the import refuses.
|
||||||
|
/// <para>
|
||||||
|
/// <b><c>Sql</c> is deliberately absent, and that is a FINDING, not an oversight.</b> Its branch
|
||||||
|
/// emits <c>{"model":"WideRow","table":…,"columnName":…}</c> with no <c>rowSelector</c>, which
|
||||||
|
/// <c>SqlTagConfigModel.Validate</c> refuses and <c>SqlEquipmentTagParser</c> refuses too — so a
|
||||||
|
/// browse-committed Sql tag has never been readable, it merely failed later (at the deploy gate,
|
||||||
|
/// or silently at the driver) instead of at commit. Pinning today's behaviour either way would
|
||||||
|
/// encode a defect; it is reported for its own fix (the browse session should state a row
|
||||||
|
/// selector, or Sql should commit through the typed editor).
|
||||||
|
/// </para>
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="driverType">The browsable driver type.</param>
|
/// <param name="driverType">The browsable driver type.</param>
|
||||||
[Theory]
|
[Theory]
|
||||||
@@ -329,6 +338,8 @@ public sealed class RawTagConfigGateTests
|
|||||||
[InlineData(DriverTypeNames.AbLegacy)]
|
[InlineData(DriverTypeNames.AbLegacy)]
|
||||||
[InlineData(DriverTypeNames.TwinCAT)]
|
[InlineData(DriverTypeNames.TwinCAT)]
|
||||||
[InlineData(DriverTypeNames.OpcUaClient)]
|
[InlineData(DriverTypeNames.OpcUaClient)]
|
||||||
|
[InlineData(DriverTypeNames.MTConnect)]
|
||||||
|
[InlineData(DriverTypeNames.Mqtt)]
|
||||||
[InlineData(DriverTypeNames.Galaxy)]
|
[InlineData(DriverTypeNames.Galaxy)]
|
||||||
public void A_browse_committed_config_passes_the_gate(string driverType)
|
public void A_browse_committed_config_passes_the_gate(string driverType)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user