Refine XML docs for historian, OPC UA, and tests
This commit is contained in:
@@ -31,6 +31,9 @@ namespace ZB.MOM.WW.LmxOpcUa.Tests.Integration
|
||||
};
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Verifies that writable Galaxy security classifications publish OPC UA variables with read-write access.
|
||||
/// </summary>
|
||||
[Fact]
|
||||
public async Task ReadWriteAttribute_HasCurrentReadOrWrite_AccessLevel()
|
||||
{
|
||||
@@ -52,6 +55,9 @@ namespace ZB.MOM.WW.LmxOpcUa.Tests.Integration
|
||||
finally { await fixture.DisposeAsync(); }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Verifies that secured and view-only Galaxy classifications publish OPC UA variables with read-only access.
|
||||
/// </summary>
|
||||
[Fact]
|
||||
public async Task ReadOnlyAttribute_HasCurrentRead_AccessLevel()
|
||||
{
|
||||
@@ -73,6 +79,9 @@ namespace ZB.MOM.WW.LmxOpcUa.Tests.Integration
|
||||
finally { await fixture.DisposeAsync(); }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Verifies that the bridge rejects writes against Galaxy attributes whose security classification is read-only.
|
||||
/// </summary>
|
||||
[Fact]
|
||||
public async Task Write_ToReadOnlyAttribute_IsRejected()
|
||||
{
|
||||
@@ -90,6 +99,9 @@ namespace ZB.MOM.WW.LmxOpcUa.Tests.Integration
|
||||
finally { await fixture.DisposeAsync(); }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Verifies that writes succeed for Galaxy attributes whose security classification permits operator updates.
|
||||
/// </summary>
|
||||
[Fact]
|
||||
public async Task Write_ToReadWriteAttribute_Succeeds()
|
||||
{
|
||||
|
||||
@@ -27,6 +27,9 @@ namespace ZB.MOM.WW.LmxOpcUa.Tests.Integration
|
||||
};
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Verifies that historized Galaxy attributes advertise OPC UA historizing support and history-read access.
|
||||
/// </summary>
|
||||
[Fact]
|
||||
public async Task HistorizedAttribute_HasHistorizingTrue_AndHistoryReadAccess()
|
||||
{
|
||||
@@ -49,6 +52,9 @@ namespace ZB.MOM.WW.LmxOpcUa.Tests.Integration
|
||||
finally { await fixture.DisposeAsync(); }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Verifies that non-historized Galaxy attributes do not claim OPC UA history support.
|
||||
/// </summary>
|
||||
[Fact]
|
||||
public async Task NormalAttribute_HasHistorizingFalse_AndNoHistoryReadAccess()
|
||||
{
|
||||
|
||||
@@ -11,6 +11,9 @@ namespace ZB.MOM.WW.LmxOpcUa.Tests.Integration
|
||||
{
|
||||
public class IncrementalSyncTests
|
||||
{
|
||||
/// <summary>
|
||||
/// Verifies that adding a new Galaxy object and attribute causes the corresponding OPC UA node subtree to appear after sync.
|
||||
/// </summary>
|
||||
[Fact]
|
||||
public async Task Sync_AddObject_NewNodeAppears()
|
||||
{
|
||||
@@ -56,6 +59,9 @@ namespace ZB.MOM.WW.LmxOpcUa.Tests.Integration
|
||||
finally { await fixture.DisposeAsync(); }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Verifies that removing a Galaxy object tears down the corresponding OPC UA subtree without affecting siblings.
|
||||
/// </summary>
|
||||
[Fact]
|
||||
public async Task Sync_RemoveObject_NodeDisappears()
|
||||
{
|
||||
@@ -87,6 +93,9 @@ namespace ZB.MOM.WW.LmxOpcUa.Tests.Integration
|
||||
finally { await fixture.DisposeAsync(); }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Verifies that adding a Galaxy attribute creates a new OPC UA variable during incremental rebuild.
|
||||
/// </summary>
|
||||
[Fact]
|
||||
public async Task Sync_AddAttribute_NewVariableAppears()
|
||||
{
|
||||
@@ -114,6 +123,9 @@ namespace ZB.MOM.WW.LmxOpcUa.Tests.Integration
|
||||
finally { await fixture.DisposeAsync(); }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Verifies that subscriptions on unchanged objects continue receiving data after unrelated subtree rebuilds.
|
||||
/// </summary>
|
||||
[Fact]
|
||||
public async Task Sync_UnchangedObject_SubscriptionSurvives()
|
||||
{
|
||||
@@ -148,6 +160,9 @@ namespace ZB.MOM.WW.LmxOpcUa.Tests.Integration
|
||||
finally { await fixture.DisposeAsync(); }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Verifies that a rebuild request with no repository changes leaves the published namespace intact.
|
||||
/// </summary>
|
||||
[Fact]
|
||||
public async Task Sync_NoChanges_NothingHappens()
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user