diff --git a/tests/Server/ZB.MOM.WW.OtOpcUa.OpcUaServer.IntegrationTests/Sdk2AggregateCompatibilityTests.cs b/tests/Server/ZB.MOM.WW.OtOpcUa.OpcUaServer.IntegrationTests/Sdk2AggregateCompatibilityTests.cs
index e04f59db..87d1fd57 100644
--- a/tests/Server/ZB.MOM.WW.OtOpcUa.OpcUaServer.IntegrationTests/Sdk2AggregateCompatibilityTests.cs
+++ b/tests/Server/ZB.MOM.WW.OtOpcUa.OpcUaServer.IntegrationTests/Sdk2AggregateCompatibilityTests.cs
@@ -11,9 +11,14 @@ namespace ZB.MOM.WW.OtOpcUa.OpcUaServer.IntegrationTests;
/// Compares all preserved aggregate factories with independently generated SDK 1.5.378.182 vectors.
public sealed class Sdk2AggregateCompatibilityTests
{
- [Fact]
- public void All_37_factories_preserve_the_6144_baseline_vectors()
+ [Theory]
+ [InlineData(false)]
+ [InlineData(true)]
+ public async Task All_37_factories_preserve_the_6144_baseline_vectors(bool throughRuntimeManager)
{
+ await using var rig = throughRuntimeManager
+ ? await ServerEventRig.StartAsync("AggregateBaseline", encrypted: false, TestContext.Current.CancellationToken)
+ : null;
var baseline = JsonSerializer.Deserialize(File.ReadAllText(Path.Combine(AppContext.BaseDirectory, "Fixtures", "opcua-1.5.378.182-aggregates.json")), new JsonSerializerOptions { PropertyNameCaseInsensitive = true })!;
var telemetry = DefaultTelemetry.Create(_ => { });
var epoch = new DateTime(baseline.EpochTicks, DateTimeKind.Utc);
@@ -30,7 +35,10 @@ public sealed class Sdk2AggregateCompatibilityTests
UseSlopedExtrapolation = profile?.UseSlopedExtrapolation ?? false,
UseServerCapabilitiesDefaults = profile?.UseServerCapabilitiesDefaults ?? false,
};
- var calculator = CompatibilityAggregateFactory.Create(id, start, end, baseline.IntervalMilliseconds, vector.Stepped, config, telemetry);
+ var calculator = throughRuntimeManager
+ ? rig!.Server.CurrentInstance.AggregateManager.CreateCalculator(id, start, end, baseline.IntervalMilliseconds, vector.Stepped, config)
+ : CompatibilityAggregateFactory.Create(id, start, end, baseline.IntervalMilliseconds, vector.Stepped, config, telemetry);
+ calculator.ShouldNotBeNull($"Runtime registration must serve {vector.Aggregate}.");
var output = new List(); var accepted = new List(); string? error = null;
try
{