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.
33 lines
2.0 KiB
C#
33 lines
2.0 KiB
C#
using Xunit;
|
|
|
|
namespace ZB.MOM.WW.OtOpcUa.Runtime.Tests.Drivers;
|
|
|
|
/// <summary>
|
|
/// Galaxy-as-ordinary-equipment-tag byte-parity: a Galaxy point (equipment-scoped tag bound to a
|
|
/// <c>GalaxyMxGateway</c> driver) surfaced into <c>EquipmentTags</c> with the same FullName /
|
|
/// EquipmentId / DriverInstanceId / AccessLevel→Writable / native-alarm intent on both the composer
|
|
/// and the artifact-decode seam.
|
|
/// <para>
|
|
/// <b>v3 DARK (Batch 1):</b> equipment-tag variable plans do not materialize — both producers emit an
|
|
/// EMPTY <c>EquipmentTags</c> set until the Batch-4 dual-namespace UNS↔Raw fan-out. Additionally, the
|
|
/// v3 schema retired the <c>Namespace</c>/<c>NamespaceKind</c> entities and the Galaxy
|
|
/// <c>ExplicitFullName</c> / namespace-Kind gate this test keyed off; Galaxy is an ordinary
|
|
/// Device-bound driver whose raw tags reach the UNS via <c>UnsTagReference</c>. The AccessLevel→Writable
|
|
/// and native-alarm parse this asserted are covered at the parse unit (<c>TagConfigIntentTests</c>) and
|
|
/// the RawTagEntry round-trip (<see cref="TagConfigCorpusParityTests"/>). Unskip + rewrite to the
|
|
/// Batch-4 UNS-projection shape when equipment-tag plans light up.
|
|
/// </para>
|
|
/// </summary>
|
|
public sealed class DeploymentArtifactAliasParityTests
|
|
{
|
|
/// <summary>Batch-4 pending: composer and artifact agree on a Galaxy equipment tag surfaced in
|
|
/// EquipmentTags (FullName + Writable + native alarm). See class remarks — dark this batch.</summary>
|
|
[Fact(Skip = DarkAddressSpaceReasons.EquipmentTagsDarkBatch4)]
|
|
public void Composer_and_artifact_agree_on_galaxy_equipment_tag()
|
|
{
|
|
// Restored + rewritten to the Batch-4 UNS-projection shape when equipment-tag variable plans
|
|
// materialize: assert a Galaxy point + a Modbus point round-trip identically (FullName, Writable
|
|
// from AccessLevel, native-alarm intent incl. historizeToAveva) across composer and artifact.
|
|
}
|
|
}
|