Method Call

Support the Call Service to call (invoke) a Method which includes support for Method Parameters.


Questions? Contact us
Generated: 30/20/2020 at 15:30:46 p.m.
Method Call - 27 Test Cases
Test Case Id Test Type Keywords Test Case Description Test Requirements Expected Result

001

CTT Call()  Call a method that does not use any parameters, e.g.
void method();
Service result = `Good`.

002

CTT Call()  Call a method that supports only [in] parameters, e.g.
void method( in [] );
Service/Operation results are `Good`.

003

CTT Call()  Call a method that contains [out] parameters only, e.g.
void method( out [] );
Service/operation results are `Good`.
The [out] parameters contain values that match the expectations of the tester.

004

CTT Call()  Call a method that requires input parameters, and provides output values, e.g.
void method( in [], out [] );
Service/operation results are `Good`.
The [out] parameters match the expectations of the tester.

005

Call()  Select a node with multiple Methods.
Step #
Action
Expected Result(s)

1

Invoke ALL methods in the SAME service call, passing-in whatever parameters are needed.

All service/operation results are `Good`.

2

Invoke the middle 2 methods in the same service call.

All service/operation results are `Good`.

006

CTT Call()  UA 1.03  Invoke the same method multiple times in the same Call request, but each one has different parameter values.
Methods must accept in parameters. <p>
The call is accepted and all results are OK.</p>

007

CTT Unavailable  Call()  UA 1.03  Invoke a method that requires an ecrypted channel; invoke via an encrypted channel.
<p>
Service/operation result: good</p>

016

CTT Optional  Call()  Call the Server.GetMonitoredItems method while specifying the SubscriptionId of the current subscription. Subscription with multiple monitored items exists. Method call is successful and returns the same client handles as currently exist within the subscription.

017

CTT Unavailable  UA 1.04  For a given method that contains the DefaultInputValues, read the content of the property. CTT: Add a setting to store a NodeId for a method with optional parameters. The number of elements in the DefaultInputValues property matches the same number of elements in the InputArguments property array. Some elements within the array may contain NULL values; these represent the mandatory parameters.

018

CTT Unavailable  UA 1.04  For a given method that contains the DefaultInputValues, Invoke the method call passing in mandatory parameters (any parameter that does not have an associated ""null"" value in the DefaultInputValues property), i.e.

InputArguments = [ int, bool, float ]
DefaultInputValues = [ null, false, 0.0 ]

Invoke Call( methodName( 0 ) )
Note: the call invokes the method passing in the mandatory integer with a value of 0. The 2 other parameters are not specified and will therefore use the specified default values.
The method invocation is successful. Service result is Good, the operation result is also Good.

019

CTT Unavailable  UA 1.04  For a given method that contains the DefaultInputValues, Invoke the method call passing in mandatory parameters (any parameter that does not have an associated ""null"" value in the DefaultInputValues property), i.e.

InputArguments = [ int, bool, float ]
DefaultInputValues = [ null, false, 0.0 ]

Invoke Call( methodName( 0, true ) )
Note: the call invokes the method passing in the mandatory integer with a value of 0 and the optional bool with value True. Any remaining parameters are not specified and will therefore use the specified default values.
The method invocation is successful. Service result is Good, the operation result is also Good.

Err-001

CTT Call()  Invoke the Call() service on an invalid NodeId. Service result is `Good`.
Operation result is `Bad_NodeIdInvalid`.

Err-002

CTT Call()  Invoke call service on a valid node, but invalid methodId. Service result is `Good`.
Operation result is `Bad_MethodInvalid`.

Err-003

CTT Unavailable  Call()  Omit one or more required input arguments. Service result is `Good`.
Operation result is `BadArgumentsMissing`.

Err-004

CTT Unavailable  Call()  Invoke method using string argument where integer type is required or vice-versa. <p>
Service result is `Good`. Operation result is `Bad_InvalidArgument` and the InputArgumentResults is `BadTypeMismatch`.</p>

Err-005

Lab Unavailable  Call()  Identify method nodes with restricted access for certain users.
Step #
Action
Expected Result(s)

1

Invoke the call service as permitted user.

Service/operation result is `Good`.

2

Invoke the call service as restricted user.

Service result is `Good`. Operation result is `Bad_UserAccessDenied`.

Err-006

CTT Unavailable  Call()  Select a node with multiple methods.
Invoke error tests (Err-001 through Err-004) on some or all methods in the same service call.
Same expectations as described in Err-001 through Err-004.

Err-007

CTT Unavailable  Call()  UA 1.03  Invoke a method on an unknown object NodeId
<p>
Service result: Good; Operation result: BadNodeIdUnknown</p>

Err-008

CTT Unavailable  Call()  UA 1.03  Invoke a call where the object NodeId is valid, and the method NodeId is valid but for a different object.
<p>
Service result: Good; Operation result: BadMethodInvalid</p>

Err-009

CTT Unavailable  Call()  UA 1.03  Invoke a call where the object NodeId is valid, and the method NodeId is an invalid NodeId.
<p>
Service result: Good; Operation result: BadMethodInvalid</p>

Err-010

CTT Unavailable  Call()  UA 1.03  Invoke a method that requires parameters. Specify more parameters than required.
<p>
Service result: Good; Operation result: BadTooManyArguments</p>

Err-011

CTT Unavailable  Call()  UA 1.03  Invoke a method where the user does not have access.
<p>
Service result: Good; Operation result: BadUserAccessDenied</p>

Err-012

CTT Unavailable  Call()  UA 1.03  Invoke a method that requires an ecrypted channel, but invoke it using an insecure channel.
<p>
Service result: Good; Operation result: BadSecurityModeInsufficient</p>

Err-013

Lab Call()  UA 1.03  Invoke a method that takes at least one parameter that restricts the range of values it can accept, e.g. Int32 value >10 && <20. Specify a value outside of this range.
<p>
Service result: Good; Operation result: BadOutOfRange</p>

Err-014

Lab Call()  UA 1.03  Invoke a method that has some interaction with a device; except that device is offline/unavailable.
This test can only occur when the Server is separated from the final target of the method invocation, such as a PC to PLC scenario. <p>
Service result: Good; Operation result: BadNoCommunication</p>

020

Lab CTT Unavailable  UA 1.04  For a given method that exists, invoke it ONLY if its Executable attribute is not set. Method must exist and NOT have the Executable attribute set. Perhaps define a CTT setting for this. Service result is Good.
Operation result is BadNotExecutable.

021

Lab CTT Unavailable  UA 1.04  For a given method that exists and has input arguments defined, invoke the call and specify a value that is outside the range allowed by the parameter/argument. Will require additional CTT settings to configure the method and specify which argument has a range associated with it. Service result is Good.
If the server rejects the call then the operation result is BadOutOfRange; otherwise do the test manually.