feat(client): AddComment + comment CLI, drop Galaxy-era alarm fallback, serialize CLI tests (#598); Client.Shared off obsolete sync SDK APIs (#621)

Claude-Session: https://claude.ai/code/session_01Ef2ozxS7QPanGT8uoATbTe
This commit is contained in:
Joseph Doherty
2026-10-08 06:53:57 -04:00
parent 3baa332d6b
commit 48bd266e19
18 changed files with 363 additions and 211 deletions
@@ -264,6 +264,20 @@ public sealed class FakeOpcUaClientService : IOpcUaClientService
return Task.FromResult(ConfirmAlarmResult);
}
/// <summary>Gets the list of (conditionNodeId, eventId, comment) tuples from AddCommentAsync calls.</summary>
public List<(string ConditionNodeId, byte[] EventId, string Comment)> AddCommentCalls { get; } = [];
/// <summary>Gets or sets the status code returned by AddCommentAsync.</summary>
public StatusCode AddCommentResult { get; set; } = StatusCodes.Good;
/// <inheritdoc />
public Task<StatusCode> AddCommentAsync(string conditionNodeId, byte[] eventId, string comment,
CancellationToken ct = default)
{
AddCommentCalls.Add((conditionNodeId, eventId, comment));
return Task.FromResult(AddCommentResult);
}
/// <summary>Gets the list of (conditionNodeId, kind, durationSeconds) tuples from ShelveAlarmAsync calls.</summary>
public List<(string ConditionNodeId, ShelveKind Kind, double DurationSeconds)> ShelveAlarmCalls { get; } = [];