View TranslateBrowsePath

Support TranslateBrowsePathsToNodeIds Service.


Questions? Contact us
Generated: 21/11/2021 at 17:21:20 p.m.
View TranslateBrowsePath - 41 Test Cases
Test Case Id Test Type Keywords Test Case Description Test Requirements Expected Result

001

CTT TranslateBrowsePathsToNodeIds()  One browsePaths element with valid, unique startingNode and relativePath.
Use default relativePath parameters: isInverse = false, includeSubtypes = false.
Service result = Good. Operation result = Good. targets[] has one element with the targetId = nodeId of the last node in the relativePath list, and remainingPathIndex = max UInt32.

002

CTT TranslateBrowsePathsToNodeIds()  One browsePaths element with valid, unique startingNode and relativePath.
The relativePath consists of four elements.
Use default relativePath parameters (above).
Service result = Good.
Operation results are Good.
results[] has one element with the targeted = nodeId of the last node in the relativePath list, and a remainingPathIndex = max UInt32.

003

CTT TranslateBrowsePathsToNodeIds()  One browsePaths element with valid, unique startingNode and relativePath.
The relativePath consists of ten elements.
Use default relativePath parameters (above).
Service result = Good.
Operation results are Good.
results[] has one element with the targeted = nodeId of the last node in the relativePath list, and a remainingPathIndex = max UInt32.

004

CTT TranslateBrowsePathsToNodeIds()  As in (1) but with a relativePath element that has isInverse = true. Service result = Good.
Operation result = Good.
targets[] has one element with the correct targetId and remainingPathIndex = max UInt32.

005

CTT TranslateBrowsePathsToNodeIds()  As in (1) but with a relativePath element that has includeSubtypes = true (and the referenceTypeId specified has a subtype that matches the reference of the target node). Service result = Good.
Operation result = Good.
targets[] has one element with the correct targetId and remainingPathIndex = max UInt32.

006

Lab TranslateBrowsePathsToNodeIds()  A browsePaths element with the last relativePath element resolving more than one target (i.e., there are at least two nodes with the same browseName). Service result = Good.
Operation results are Good.
Two targets[] elements are returned.
Their targetIds are correct and remainingPathIndex = max UInt32.
The node based on the startingNode is first in the targets[] list.

007

Lab TranslateBrowsePathsToNodeIds()  A browsePath element with the last relativePath element resolving ten targets (i.e., there are ten nodes with the same browseName). Service result = Good.
Operation results are Good.
Ten targets[] elements are returned.
Their targetIds are correct and remainingPathIndex = max UInt32.
The node based on the startingNode is first in the targets[] list.

008

Lab TranslateBrowsePathsToNodeIds()  A browsePath element with the first relativePath element resolving more than one target (i.e., startingNode has at least two nodes with the same browseName).
At least two of these nodes can be followed to a final target node.
Service result = Good.
Operation result = Good.
Two targets[] elements are returned. Their targetIds are correct and remainingPathIndex = max UInt32.

009

Lab TranslateBrowsePathsToNodeIds()  A browsePath element with a relativePath element (before the last) that refers to another server. Service result = Good.
Operation result = Uncertain_ReferenceOutOfServer.
Returns the NodeId of the external node and sets remainingPathIndex to the index of the first unprocessed element in relativePath.

010

Lab TranslateBrowsePathsToNodeIds()  A browsePath element with the last relativePath element referring to another server. Service result = Good.
Operation result = Uncertain_ReferenceOutOfServer.
Returns the NodeId of the external node and sets remainingPathIndex to the maximum value of the Index data type (UInt32).

011

CTT TranslateBrowsePathsToNodeIds()  As in (1) but with the relativePath`s ReferenceTypeId set to a null NodeId.
Use a null NodeId of each IdentifierType.
Service result = Good. Operation result = Good. targets[] has one element with the targetId = nodeId of the last node in the relativePath list, and remainingPathIndex = max UInt32.

012

CTT TranslateBrowsePathsToNodeIds()  Four browsePaths elements with valid, unique startingNode and relativePath.
Use default relativePath parameters (above).
Service result = Good. Operation results are Good. results[] are in the same order as browsePaths. Each result has one targets[] element with correct targetId = nodeId of the last node in the relativePath list, and a remainingPathIndex = max UInt32.

013

CTT TranslateBrowsePathsToNodeIds()  Ten browsePaths elements with valid, unique startingNode and relativePath.
Use default relativePath parameters (above).
Service result = Good. Operation results are Good. results[] are in the same order as browsePaths. Each result has one targets[] element with correct targetId and a remainingPathIndex = max UInt32.

014

CTT TranslateBrowsePathsToNodeIds()  As in (1) but with a relativePath element that has includeSubtypes = true and the referenceTypeId set to the reference type of the target node. Service result = Good. Operation result = Good. targets[] has one element with the correct targetId and remainingPathIndex = max UInt32.

015

CTT TranslateBrowsePathsToNodeIds()  As in (1) but with a relativePath element that has includeSubtypes = true and the referenceTypeId set to the `grandparent` reference type of the target node. Service result = Good. Operation result = Good. targets[] has one element with the correct targetId and remainingPathIndex = max UInt32.

016

CTT TranslateBrowsePathsToNodeIds()  Test the request of DiagnosticInfos for node that DOES exist.
Step #
Action
Expected Result(s)

1

Given one starting node and the node does not exist, and diagnostic info is requested, call TranslateBrowsePathsToNodeIds().

The server returns specified service diagnostic info.

2

Given no BrowsePaths and diagnostic info is requested, call TranslateBrowsePathsToNodeIds().

The server returns specified service diagnostic info (none).

017

CTT TranslateBrowsePathsToNodeIds()  Given one starting node and the node does not exist, and diagnostic info is not requested, call TranslateBrowsePathsToNodeIds(). Server returns no diagnostic info.

Err-001

CTT TranslateBrowsePathsToNodeIds()  Invalid startingNode, e.g. invalid syntax. Service result = Good. Operation result = Bad_NodeIdInvalid.

Err-002

CTT TranslateBrowsePathsToNodeIds()  Four browsePaths elements, two with valid startingNode and relativePath, one with non-existent stratingNode and one with invalid relativePath. Service result = Good. The two valid browsePaths elements return valid targetIds. The one non-existent startingNode returns operation level error Bad_NodeIdUnknown. The one invalid relativePath returns operation error Bad_NoMatch.

Err-003

CTT TranslateBrowsePathsToNodeIds()  browsePaths[] = null or without elements. Service result = Bad_NothingToDo

Err-004

CTT TranslateBrowsePathsToNodeIds()  Specify a startingNode that is not in the address space.
Test a node of each IdentifierType and a node with a non-existent NamespaceIndex.
Service result = Good.
Operation result = Bad_NodeIdUnknown.

Err-005

CTT TranslateBrowsePathsToNodeIds()  Invalid (empty) relativePath. Service result = Good.
Operation result = BadNothingToDo.

Err-006

CTT TranslateBrowsePathsToNodeIds()  Valid startingNode and nonexistent browseName in relativePath.
Test a browseName that is not in the namespace and a NamespaceIndex that does not exist.
Service result = Good. Operation result = Bad_NoMatch.

Err-007

CTT TranslateBrowsePathsToNodeIds()  Specify a null targetName for the last relativePath element. Service result = Good. Operation result = Bad_BrowseNameInvalid.

Err-008

CTT TranslateBrowsePathsToNodeIds()  Specify a null targetName in a relativePath element (before the last element). Service result = Good. Operation result = Bad_BrowseNameInvalid.

Err-009

Lab TranslateBrowsePathsToNodeIds()  Specify invalid NodeId`s to test for vulnerability:
String Id: null/empty, huge payload: 4096kb ?
Binary Id: huge payload, e.g. 4096kb?
Service result = Good. Operation result = Bad_NodeIdUnknown.

Err-010

Lab TranslateBrowsePathsToNodeIds()  Specify an invalid NodeId to test for a buffer overflow vulnerability leading to the execution of arbitrary code.
See Err-009 for an example.
Service result = Good. Operation result = Bad_NodeIdInvalid.

Err-011

CTT TranslateBrowsePathsToNodeIds()  A relativePath element specifies a referenceTypeId that is not available on the node. Service result = Good. Operation result = Bad_NoMatch.

Err-012

CTT TranslateBrowsePathsToNodeIds()  A relativePath element specifies an invalid NodeId for the referenceTypeId. Service result = Good. Operation result = Bad_NoMatch.

Err-013

CTT TranslateBrowsePathsToNodeIds()  A relative Path element specifies a nonexistent referenceTypeId.
Test a node of each IdentifierType and a node with a non-existent NamespaceIndex.
ServiceResult = Good. Operation result = Bad_NoMatch

Err-014

CTT TranslateBrowsePathsToNodeIds()  A relativePath element specifies an invalid targetName (i.e., too long (>512 chr$) or invalid characters (0x00 – 0x08, 0x0E – 0x1F, or 0x7F) in the name string). ServiceResult = Good.
Operation error in this case is permitted to be one of the following result codes - both are considered correct:
* Bad_BrowseNameInvalid
* Bad_NoMatch.

Err-015

CTT TranslateBrowsePathsToNodeIds()  One browsePaths element with valid, unique startingNode.
The relativePath specifies a referenceTypeId that has a subtype that matches the reference of the target node. includeSubtypes = false.
Service result = `Good`.
Operation result = `Bad_NoMatch`.

Err-016

Lab TranslateBrowsePathsToNodeIds()  A browsePath element with the relativePath elements that resolve many targets, more than the server can handle (i.e., there are many nodes with the same browseName). Server provides enough elements to exceed the EncodingLimits. Service result = `Good`.
Operation result = `Bad_TooManyMatches`.

Err-017

Lab TranslateBrowsePathsToNodeIds()  A browsePath element with a complex relativePath, more complex than the server can handle, in this case 100 relativePaths[] that, multiple times, goes forward to a node and then inverse back to the previous node.)
The test may have to run multiple times with ever increasing relativePaths[] until the server returns the correct result.
Service result = Good. Operation result = Good if the server can process the request, otherwise if the server cannot process the request then the operation result = Bad_QueryTooComplex.

Err-018

CTT TranslateBrowsePathsToNodeIds()  A relativePath element specifies for referenceTypeId a NodeId that is not a reference type. Service result = `Good`.
Operation result = `Bad_NoMatch`.

Err-019

CTT TranslateBrowsePathsToNodeIds()  A relativePath element specifies isInverse = true but the browseName is in the Forward direction. Service result = `Good`.
Operation result = `Bad_NoMatch`.

Err-020

CTT TranslateBrowsePathsToNodeIds()  A relativePath element specifies IncludeSubtypes=False and a referenceTypeId is set to null. Service result = Good; Operation result = Good.
Server returns all references for the valid path.

Err-021

CTT TranslateBrowsePathsToNodeIds()  If supported, read the ServerCapabilities object to find the max number of entries that can be specified in one call.
Invoke the call using valid parameters, but the browsePaths contains one additional request in order to exceed the max allowed in a single request.
Server result = Bad_TooManyOperations or Good (if server allows more operations than it claims).

Err-022

CTT TranslateBrowsePathsToNodeIds()  Given an empty/null authenticationToken.
Call TranslateBrowsePathsToNodeIds().
Service Result: `Bad_SecurityChecksFailed`.

Err-023

CTT TranslateBrowsePathsToNodeIds()  Given a non-existent authenticationToken, call TranslateBrowsePathsToNodeIds(). Service Result: `Bad_SecurityChecksFailed`.

Err-024

CTT TranslateBrowsePathsToNodeIds()  Given a RequestHeader.Timestamp of 0, call TranslateBrowsePathsToNodeIds(). Service Result: `Bad_InvalidTimestamp`.