fix(opcuaclient): review — UTC-kind the missing-time sentinel + test hardening

Code-review I2: CoerceDateTime's missing-field sentinel was DateTime.MinValue
(Kind=Unspecified) — a downstream .ToUniversalTime() could shift it; now UTC-kinded.
M4: assert BrowsePath namespace==0 + the sentinel's UTC Kind.
This commit is contained in:
Joseph Doherty
2026-06-18 06:05:58 -04:00
parent e859963853
commit d48674ba31
2 changed files with 7 additions and 1 deletions
@@ -112,6 +112,7 @@ public sealed class OpcUaClientHistoryTests
clause.AttributeId.ShouldBe(Attributes.Value);
clause.BrowsePath.Count.ShouldBe(1);
clause.BrowsePath[0].Name.ShouldBe(expected[i]);
clause.BrowsePath[0].NamespaceIndex.ShouldBe((ushort)0); // BaseEventType fields live in ns 0
}
}
@@ -165,6 +166,7 @@ public sealed class OpcUaClientHistoryTests
mapped[0].EventId.ShouldBe(Convert.ToBase64String(new byte[] { 9 }));
mapped[0].SourceName.ShouldBeNull();
mapped[0].EventTimeUtc.ShouldBe(DateTime.MinValue);
mapped[0].EventTimeUtc.Kind.ShouldBe(DateTimeKind.Utc); // sentinel is UTC-kinded, not Unspecified
mapped[0].Severity.ShouldBe((ushort)0);
}
}