329144b1aa
Fix TESTS only (production already green) so the four in-scope test projects compile + pass under the v3 dark address space: - Core.Abstractions.Tests: drop AllowedNamespaceKinds/NamespaceKindCompatibility from DriverTypeMetadata; rewrite EquipmentTagRefResolver tests to the single-func RawPath-lookup contract (no parseRef/transient cache). - Core.Tests: rewrite EquipmentNodeWalkerTests to EquipmentNamespaceContent(Areas, Lines,Equipment,VirtualTags?,ScriptedAlarms?) — folders + VirtualTags + ScriptedAlarms only; raw-tag variables dark (skipped Batch-4 placeholder). Drop retired Equipment.DriverInstanceId. - Runtime.Tests: rewrite golden corpus + TagConfigCorpusParityTests to the v3 RawPath/RawTagEntry round-trip (byte + TagConfigIntent parity; EquipmentTags dark). Salvage VirtualTag + ScriptedAlarm artifact parity to the new Compose signature. Retire the equipment-tag-materialization parity files (Array/Historize/Alias) and the equipment-device-binding DeviceHost parity to documented skipped placeholders. Skip 34 dark equipment-tag routing/value/alarm/write/discovery actor tests with a shared DarkAddressSpaceReasons constant. Re-key cluster-scoped tests to v3 UNS line->area attribution. - ControlPlane.Tests: ConfigComposer round-trips re-keyed to RawFolder/Device (no Namespaces); tag-config gate resolves driver via Device; deploy-gate collision test re-keyed to UnsEffectiveNameCollision; drop retired BadCrossClusterNamespaceBinding case.
28 lines
1.5 KiB
C#
28 lines
1.5 KiB
C#
using Xunit;
|
|
|
|
namespace ZB.MOM.WW.OtOpcUa.Runtime.Tests.Drivers;
|
|
|
|
/// <summary>
|
|
/// Equipment <c>DriverInstanceId</c> / <c>DeviceId</c> binding + resolved <c>DeviceHost</c> byte-parity
|
|
/// across the two <c>EquipmentNode</c> producers (composer + artifact decode).
|
|
/// <para>
|
|
/// <b>v3 RETIRED:</b> equipment no longer binds a driver/device — <c>EquipmentNode</c> is
|
|
/// <c>(EquipmentId, DisplayName, UnsLineId)</c> only, <c>Equipment</c> dropped
|
|
/// <c>DriverInstanceId</c>/<c>DeviceId</c>, and devices bind to drivers (tags bind to devices) while
|
|
/// equipment references raw tags via <c>UnsTagReference</c>. The device-endpoint resolution this test
|
|
/// characterized (fold the sole device's <c>DeviceConfig</c> host into the driver config so a follower
|
|
/// node dials the same endpoint) is now proven by
|
|
/// <see cref="DeploymentArtifactRawPathTests.ParseDriverInstances_computes_nested_RawPath_and_merges_device_endpoint"/>.
|
|
/// Kept as a skipped marker so the retired coverage is discoverable, not silently deleted.
|
|
/// </para>
|
|
/// </summary>
|
|
public sealed class DeploymentArtifactDeviceHostParityTests
|
|
{
|
|
/// <summary>Retired: equipment↔device host binding removed in v3; superseded by
|
|
/// DeploymentArtifactRawPathTests device-endpoint merge. See class remarks.</summary>
|
|
[Fact(Skip = DarkAddressSpaceReasons.EquipmentDeviceBindingRetired)]
|
|
public void Composer_and_artifact_agree_on_equipment_node_device_host()
|
|
{
|
|
}
|
|
}
|