feat(grpc): …OnSession seams on HistorianGrpcTagClient (browse + metadata)
DRY split mirroring HistorianGrpcReadOrchestrator.RunRawQueryOnSession: browse + GetTagInfos(metadata) gain externally-supplied connection+session seams; per-call wrappers delegate. Behaviour-preserving (pending.md A1 broadening). Claude-Session: https://claude.ai/code/session_012SDSQ3AcaXqPcBtDESBRii
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
using System.Reflection;
|
||||
using AVEVA.Historian.Client.Grpc;
|
||||
using Xunit;
|
||||
|
||||
namespace AVEVA.Historian.Client.Tests;
|
||||
|
||||
public class TagClientOnSessionSeamTests
|
||||
{
|
||||
[Theory]
|
||||
[InlineData("BrowseTagNamesOnSession")]
|
||||
[InlineData("GetTagInfosRawOnSession")]
|
||||
[InlineData("GetTagMetadataOnSession")]
|
||||
public void TagClient_ExposesOnSessionSeam(string name)
|
||||
{
|
||||
MethodInfo? m = typeof(HistorianGrpcTagClient).GetMethod(
|
||||
name, BindingFlags.NonPublic | BindingFlags.Static | BindingFlags.Public);
|
||||
Assert.NotNull(m);
|
||||
ParameterInfo[] ps = m!.GetParameters();
|
||||
Assert.Equal("HistorianGrpcConnection", ps[0].ParameterType.Name);
|
||||
Assert.Equal("Session", ps[1].ParameterType.Name);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user