fix(authoring): CSV import accepts variable-length arrays; Plain MQTT isArray warns at authoring (lmxopcua#770)
CSV: IsArray with blank/0 ArrayLength is the variable-length shape browse-commit and the composer produce, so its own export now re-imports. Plain MQTT: MqttTagDefinitionFactory.Inspect (the driver's parse, consulted by the authoring inspector) now advises when isArray is set on a Plain-shaped tag; Sparkplug-shaped blobs stay quiet. Live Sparkplug array test and SDK reflection items remain open. Claude-Session: https://claude.ai/code/session_01GT67AEHd2Acv1YPwGfXEoV
This commit is contained in:
@@ -72,6 +72,18 @@ public sealed class MqttTagDefinitionFactoryTests
|
||||
=> MqttTagDefinitionFactory.FromTagConfig(
|
||||
"""{"topic":"a/b","payloadFormat":"Json","dataType":"Double"}""", RawPath, out _).ShouldBeFalse();
|
||||
|
||||
[Fact]
|
||||
public void Inspect_IsArrayOnPlainTag_Warns_lmxopcua_770()
|
||||
{
|
||||
var warnings = MqttTagDefinitionFactory.Inspect("""{"topic":"a/b","payloadFormat":"Json","isArray":true}""");
|
||||
warnings.ShouldHaveSingleItem().ShouldContain("isArray");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Inspect_IsArrayOnSparkplugTag_StaysQuiet()
|
||||
=> MqttTagDefinitionFactory.Inspect(
|
||||
"""{"groupId":"G","edgeNodeId":"E","metricName":"M","topic":"leftover","isArray":true}""").ShouldBeEmpty();
|
||||
|
||||
[Fact]
|
||||
public void Inspect_WildcardTopic_ReturnsWarning()
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user