Monitor Client Trigger

Use the Triggering Model if certain items are to be reported only if some other item triggers. Use proper monitoring mode for these items. Use SetTriggering Service to link these items to the trigger item.


Questions? Contact us
Generated: 22/11/2021 at 17:22:12 p.m.
Monitor Client Trigger - 17 Test Cases
Test Case Id Test Type Keywords Test Case Description Test Requirements Expected Result

001

SetTriggering  Monitor use of the method for correct usage, and to verify that multiple operations are batched into a single service call where possible.
Client reports the modification success.
The ClientHandles are correct per node being modified.

002

SetTriggering  Within one subscription define 1 triggering item (item #a) that will link to 1 triggered item (item #b).
One service call is made.

003

SetTriggering  Attach one monitoredItem to a triggered node (specify 1 linksToAdd)
The correct server-assigned MonitoredItemIds are used per item.

004

SetTriggering  Attach multiple monitoredItem sto a triggered node (specify 5 or more linksToAdd)
One service call is made.
The correct server-assigned MonitoredItemIds are used per item.

005

SetTriggering  Attach multiple monitoredItem to a triggered node (specify 5 or more linksToAdd) where the MonitoringMode status of the nodes are varied, i.e.:
* Item[0] = Disabled.
* Item[1] = Sampling.
* Item[2] = Reporting.
One service call is made.
The client allows for this scenario because it should not matter what the current monitoring state of the items are.

006

SetTriggering  Remove one triggered node (specify 1 linksToDelete).
The correct MonitoredItemIds are specified.

007

SetTriggering  Remove multiple nodes from a triggered node (specify 5 or more items in linksToDelete).
One service call is made and the correct MonitoredItemIds are specified.

008

SetTriggering  Remove all but 1 triggered nodes (specify multiple linksToDelete).
One service call is made.

009

SetTriggering  Remove all nodes from a trigger, thus deleting the trigger.
One service call is made.

010

SetTriggering  For an existing triggering configuration, add and remove 1 node (1 item in linksToAdd and 1 item in linksToDelete).
This test requires pre-configuration of a triggering node to be pre-configured with a linked node.
One service call is made.

011

SetTriggering  For an existing triggering configuration where multiple triggered items have been configured. Specify 2 or more nodes to add (linksToAdd) and specify 2 or more nodes to remove (linksToDelete).
This test requires pre-configuration of a triggering node to be pre-configured with linked nodes.
One service call is made.

012

SetTriggering  For an existing triggering configuration where multiple triggered items have been configured. Specify 2 or more nodes to add (linksToAdd) and remove all of the existing triggers (linksToDelete).
This test requires pre-configuration of a triggering node to be pre-configured with linked nodes.
One service call is made.

Err-001

Inject the following error codes:
1. ServiceResult = Bad_NothingToDo.
2. ServiceResult = Bad_TooManyOperations.
3. ServiceResult = Bad_SubscriptionIdInvalid.
4. ServiceResult = Bad_MonitoringModeInvalid
Client reports the error to the end-user and does no further processing of the results.

Err-002

Inject the following operation level results error code:
1. serviceResult is Good.
addResults[0] is Bad_MonitoredItemIdInvalid.
2. serviceResult is Good.
addResults[all] is Bad_MonitoredItemIdInvalid
3. serviceResult is Good.
Every other (odd) addResult is Bad_MonitoredItemIdInvalid.
4. serviceResult is Good.
All addResults are Bad_MonitoredItemIdInvalid.
addDiagnosticsInfo is empty.
5. serviceResult is Good.
All addResults are Bad_MonitoredItemIdInvalid.
addDiagnosticsInfo is smaller (by 1) than the number of linksToAdd requested.
6. serviceResult is Good.
All addResults are Bad_MonitoredItemIdInvalid.
addDiagnosticsInfo is larger (by 1) than the number of linksToAdd requested.
a to c: Client reports any items in error, but continues to process the remaining results.
d to f: Client reports any items in error, but continues to process the remaining results. Client logs a warning that the server-provided diagnostics are inconsistent.

Err-003

Inject the following Test cases:
1. serviceResult is Good.
removeResults[0] is Bad_MonitoredItemIdInvalid.
2. serviceResult is Good.
removeResults[*] is Bad_MonitoredItemIdInvalid.
3. serviceResult is Good.
Every other (odd) removeResult is Bad_MonitoredItemIdInvalid.
4. serviceResult is Good.
All removeResults are Bad_MonitoredItemIdInvalid.
removeDiagnosticsInfo is empty.
a to c: Client reports any items in error, but continues to process the remaining results.
d. Client reports any items in error, but continues to process the remaining results. Client logs a warning that the server-provided diagnostics are inconsistent.

Err-004

Inject the following test cases:
1. serviceResult is Good.
addResults[0] and removeResults[0] are Bad_MonitoredItemIdInvalid.
2. serviceResult is Good.
Every odd addResults and removeResults are Bad_MonitoredItemIdInvalid.
3. serviceResult is Good.
All addResults and removeResults are Bad_MonitoredItemIdInvalid.
4. serviceResult is Good.
All removeResults are Bad_MonitoredItemIdInvalid.
removeDiagnosticsInfo is smaller (by 1) than the number of linksToAdd requested.
5. serviceResult is Good.
All removeResults are Bad_MonitoredItemIdInvalid.
removeDiagnosticsInfo is larger (by 1) than the number of linksToAdd requested.
6. serviceResult is Good.
All addResults and removeResults are Bad_MonitoredItemIdInvalid.
addDiagnosticsInfo and removeDiagnostics are empty.
7. serviceResult is Good.
All addResults and removeResults are Bad_MonitoredItemIdInvalid.
addDiagnosticsInfo count is 1 bigger than the linksToAdd requested, and removeDiagnostics count is 1 less than linksToRemove requested.



Client reports any items in error, but continues to process the remaining results.

Err-005

CTT SetTriggering  Unavailable  Client permits (via configuration or user-interface) the ability to define links between subscriptions. i.e.
Triggering item = subscriptionA.itemA
Triggered item = subscriptionB.itemA
This is not allowed. The client should not permit this and therefore should capture the error and report it to the end-user without sending the request to the UA Server.