GDS Application Directory

Supports the Directory Object with all Methods like RegisterApplication and QueryServers.


Questions? Contact us
Generated: 49/12/2019 at 11:49:08 a.m.
GDS Application Directory - 65 Test Cases
Test Case Id Test Type Keywords Test Case Description Expected Result

001

CTT Unavailable  UA 1.03  Invoke FindApplications and specify the applicationUri of an application that is known by the GDS (e.g. UACTT).
The call completes successfully. The resulting 'applications[]' parameter includes one result/record. The record matches the request (compare the applicationUri).

002

CTT Unavailable  UA 1.03  Invoke FindApplications and specify an applicationUri that is NOT registered with the GDS.
The call completes successfully. the resulting 'applications[]' parameter is empty/zero-length.

003

CTT Unavailable  UA 1.03  Invoke FindApplications and specify an empty value for the aplicationUri.
The call completes successfully. the resulting 'applications[]' parameter is empty/zero-length.

004

CTT Unavailable  UA 1.03  Invoke FindApplications while logged in as a user that does not have access to the method.
BadUserAccessDenied.

005

CTT Unavailable  UA 1.03  Using the ServerCapabilities.MaxStringLength, craft an applicationUri using random characters that match the MaxStringLength; then repeat the test with a 10% increase.
Step #
Action
Expected Result(s)

1

Server handles the request and doesn't crash. No records should be returned.

2

Test the string length of the ApplicationUri parameter by iterating through a loop that generates a random X-length string, i.e. [100, 1000, 5000, 10000, 50000, 100000]

Server handles the request and doesn't crash. No records should be returned.

006

CTT Unavailable  UA 1.03  Invoke RegisterApplication and specify a Server (in this case the CTT) with all/valid details.
Step #
Action
Expected Result(s)

1

Call is successful. A NodeId is returned.

2

Invoke FindApplications and specify the applicationUri of the record previously added.

Call is successful. The resulting 'applications[]' parameter contains one value which matches the record added in the previous step.

007

CTT Unavailable  UA 1.03  Invoke RegisterApplication and specify a Server (in this case the CTT) with all/valid details.
Step #
Action
Expected Result(s)

1

Call is successful. A NodeId is returned.

2

Repeat step 1

Call is successful. The same NodeId returned in step 1 is returned.

3

Invoke FindApplications and specify the applicationUri of the record previously added.

Call is successful. The resulting 'applications[]' parameter contains one value which matches the record added in the previous step.

008

CTT Unavailable  UA 1.03  Invoke RegisterApplication and specify a Server (in this case the CTT) with all/valid details.
Step #
Action
Expected Result(s)

1

Call is successful. A NodeId is returned.

2

Repeat step 1 several times, except with slight variations in other parts of the structure.

Call is successful. The same NodeId returned in step 1 is returned.

3

Invoke FindApplications and specify the applicationUri of the record previously added.

Call is successful. The resulting 'applications[]' parameter contains one value which matches the record added in the previous step.

009

CTT Unavailable  UA 1.03  InvokeRegisterApplication while specifying these specific application parameter values, and then call FindApplications:
Step #
Action
Expected Result(s)

1

applicationUri is empty; all other fields are valid. Execute.

BadInvalidArgument

2

applicationNames is empty; all other fields are valid. Execute.

BadInvalidArgument

3

productUri is empty; all other fields are valid. Execute.

BadInvalidArgument

4

serverCapabilityIdentifiers is empty; applicationType is Server. All other fields are valid. Execute.

BadInvalidArgument

5

discoveryUrls is empty; all other fields are valid. Execute.

BadInvalidArgument

010

CTT Unavailable  UA 1.03  InvokeRegisterApplication while specifying these specific application parameter values, and then call FindApplications:
Step #
Action
Expected Result(s)

1

applicationUri is empty; all other fields are valid. Execute.

BadInvalidArgument

2

applicationNames is empty; all other fields are valid. Execute.

BadInvalidArgument

3

productUri is empty; all other fields are valid. Execute.

BadInvalidArgument

4

serverCapabilityIdentifiers is empty; applicationType is Server. All other fields are valid. Execute.

ok. GetApplication yields the client information.

5

discoveryUrls is empty; all other fields are valid. Execute.

ok. GetApplication yields the client information.

011

CTT Unavailable  UA 1.03  Invoke RegisterApplication while specifying a server with multiple discovery endpoints; to replicate redundant servers.
Step #
Action
Expected Result(s)

1

Call is successful. A valid NodeID is returned.

2

Invoke FindApplications and specify the applicationUri of the record previously added.

Call is successful. The resulting 'applications[]' parameter contains one value which matches the record added in the previous step, and that record contains all of the discovery Urls.

012

CTT Unavailable  UA 1.03  Invoke RegisterApplication as a user that does not have permission to use the service.
BadUserAccessDenied.

013

CTT Unavailable  UA 1.03  Subscribe to the Server for auditing events.
Step #
Action
Expected Result(s)

1

Repeat test #1

2

Call Publish.

An ApplicationRegistrationChangedAuditEventType audit event is received.

014

CTT Unavailable  UA 1.03  Invoke UnregisterApplication while specifying a valid NodeId for an application that is currently registered.
Call is successful. A NodeId is returned.

015

CTT Unavailable  UA 1.03  Invoke UnregisterApplication while specifying an invalid (not valid) NodeId.
BadNotFound

016

CTT Unavailable  UA 1.03  Invoke UnregisterApplication while specifying a valid NodeId, but is not a NodeId that represents an application (e.g. specify the Server object).
BadNotFound.

017

CTT Unavailable  UA 1.03  Invoke UnregisterApplication without specifying a NodeId parameter (no parameters).
BadArgumentsMissing

018

CTT Unavailable  UA 1.03  Invoke UnregisterApplication while using a user session that does not have the necessary permissions to invoke the method.
BadUserAccessDenied.

019

CTT Unavailable  UA 1.03  In a single Call, specify multiple UnregisterApplication invocations with each representing a different Server.
All servers are successfully removed.

020

CTT Unavailable  UA 1.03  Individually register 10 applications and then invoke GetApplication for each.
Step #
Action
Expected Result(s)

1

All calls successful. GetApplication returns the details of the registered appliction matching the CTT's expectations.

2

Individually unregister all 10 applications, and then invoke GetApplication for each.

All calls successful. GetApplication returns BadNotFound for each.

3

Register the same 10 applications, this time in one call. Invoke GetApplication for each of the 10 applications, but in a single call.

All calls successful. GetApplication returns the details of the registered appliction matching the CTT's expectations.

4

Unregister the same 10 applications, this time in one call. Invoke GetApplication for each of the 10 applications, but in a single call.

All calls successful. GetApplication returns BadNotFound for each.

021

CTT Unavailable  UA 1.03  Create a subscription that is subscribing for Auditing events.
Step #
Action
Expected Result(s)

1

Repeat test #14

2

Call Publish

An audit of ApplicationRegistrationChangedAuditEventType is received.

022

CTT Unavailable  UA 1.03  Call GetApplication to get a baseline of the application details.
Step #
Action
Expected Result(s)

1

Invoke UpdateApplication while specifying valid ApplicationRecordDataType information that is unchanged (use the info received from step #1).

CTT will invoke RegisterApplication first.

2

Call GetApplication and verify the state of the application's details.

The record remains unchanged.

023

CTT Unavailable  UA 1.03  In a loop, invoke the UpdateApplication method while changing a single parameter of the structure as follows:
1. ApplicationUri
2. ApplicationType
3. ApplicationNames
4. ProductUri
5. DiscoveryUrls
6. ServerCapabilityIdentifiers.
… and call GetApplication to verify the update.
Each call to GetApplication returns details matching what is expected by the CTT (based on the information it previously sent).

024

CTT Unavailable  UA 1.03  Invoke updateApplication without specifying a parameter.
BadArgumentsMissing.

025

CTT Unavailable  UA 1.03  Invoke UpdateApplication while specifying a valid ApplicationRecordDataType, but the ApplicationId property contains a NodeId that does not match any applications (e.g. specify the "ServerObject")
BadNotFound

026

CTT Unavailable  UA 1.03  In a loop, invoke UpdateApplication (for a Server) while specifying a valid ApplicationRecordDataType object that contains an empty parameter; focus on one parameter per iteration as follows:
1. ApplicationUri
2. ApplicationNames
3. ProductUri
4. DiscoveryUrls
5. ServerCapabilityIdentifiers
BadInvalidArgument

027

CTT Unavailable  UA 1.03  In a loop, invoke UpdateApplication (for a Client) while specifying a valid ApplicationRecordDataType object that contains an empty parameter; focus on one parameter per iteration as follows:
1. ApplicationUri
2. ApplicationNames
3. ProductUri
BadInvalidArgument

028

CTT Unavailable  UA 1.03  Invoke UpdateApplication as a user that does not have permissions to the method.
BadUserAccessDenied

029

CTT Unavailable  UA 1.03  Invoke GetApplication without specifying any input parameters.
BadArgumentsMissing

030

CTT Unavailable  UA 1.03  Invoke GetApplication while specifying an applicationId that is known to NOT exist.
BadNotFound

031

CTT Unavailable  UA 1.03  Invoke GetApplication and specify the ServerObject NodeId as the applicationId.
BadNotFound

032

CTT Unavailable  UA 1.03  In a loop, invoke GetApplication while specifying a random NodeId:
ns=<random>;i=<random>
ns=<random>;s=<random>
ns=<random>;b=<random>
ns=<random>;o=<random>
BadNotFound or BadInvalidArgument

033

CTT Unavailable  UA 1.03  Invoke GetApplication as a user that does not have permission to the method.
BadUserAccessDenied

034

CTT Unavailable  UA 1.03  Obtain a list of the applications known to the GDS by browsing the Applications directory (each Variable will have a Value of type ApplicationRecordDataType).
In a loop, iterate through the list of applications each time invoking GetApplication while specifying the applicationId of the *current* application.
Application's details are returned.

035

CTT Unavailable  UA 1.03  Invoke QueryServers as a user that does not have access to the method.
BadUserAccessDenied

036

CTT Unavailable  UA 1.03  Invoke QueryServers while specifying:
startingRecordId=0
maxRecordsToReturn=0
(other parameters omitted)
All applications are returned.

037

CTT Unavailable  UA 1.03  Invoke QueryServers while specifying:
startingRecordId=0
maxRecordsToReturn=2
(other parameters omitted)
Step #
Action
Expected Result(s)

1

2 records are returned and match the expected applications.

2

In a loop, repeat the call but specifying: startingRecordId=<item #2 in prev. call> maxRecordToReturn=2

2 records are returned matching expectations, until zero records returned.

038

CTT Unavailable  UA 1.03  In a loop, test the maxRecordsToReturn parameter by specifying a value of [1..n based on the cached # of values, e.g. n/2, n-2, n+1, etc.] and a startingRecordId=0
The number of applications returned match the request, and those applications match expectations based on the cached list.

039

CTT Unavailable  UA 1.03  Invoke QueryServers while specifying startingRecordId=0; maxRecordsToReturn=0; applicationName=<known id> (do not use any wildcards)
Applications returned matching expectations.

040

CTT Unavailable  UA 1.03  Invoke QueryServers while specifying startingRecordId=0; maxRecordsToReturn=0; applicationName=<unknown id>
Empty results returned.

041

CTT Unavailable  UA 1.03  Invoke QueryServers while specifying startingRecordId=0; maxRecordsToReturn=0; applicationUri=<valid>
Applications returned matching expectations.

042

CTT Unavailable  UA 1.03  Invoke QueryServers while specifying startingRecordId=0; maxRecordsToReturn=0; applicationUri=<unknown/invalid>
Empty results returned.

043

CTT Unavailable  UA 1.03  Invoke QueryServers while specifying startingRecordId=0; maxRecordsToReturn=0; productUri=<known-valid>
Applications returned matching expectations.

044

CTT Unavailable  UA 1.03  Invoke QueryServers while specifying startingRecordId=0; maxRecordsToReturn=0; productUri=<not-known/invalid>
Empty results returned.

045

CTT Unavailable  UA 1.03  Invoke QueryServers while specifying startingRecordId=0; maxRecordsToReturn=0; serverCapabilities=<1 known capability>
Applications returned matching expectations.

046

CTT Unavailable  UA 1.03  Invoke QueryServers while specifying startingRecordId=0; maxRecordsToReturn=0; serverCapabilities=<2 known capabilities>
Applications returned matching expectations.

047

CTT Unavailable  UA 1.03  Invoke QueryServers while specifying startingRecordId=0; maxRecordsToReturn=0; applicationUri=<starts-with text that is common to two or more apps>
Applications returned matching expectations.

048

CTT Unavailable  UA 1.03  Invoke QueryServers while specifying startingRecordId=0; maxRecordsToReturn=0; applicationUri=<ends-with text that is common to two or more apps>, e.g. "%abc" Applications returned matching expectations.

049

CTT Unavailable  UA 1.03  Invoke QueryServers while specifying startingRecordId=0; maxRecordsToReturn=0; applicationUri=<contains text that is common to two or more apps>, e.g. "%abc%" Applications returned matching expectations.

050

CTT Unavailable  UA 1.03  Invoke QueryServers while specifying startingRecordId=0; maxRecordsToReturn=0; applicationUri=<contains a percent symbol>, e.g. "[%]"
Application(s) returned matching expectations.

051

CTT Unavailable  UA 1.03  Invoke QueryServers while specifying startingRecordId=0; maxRecordsToReturn=0; applicationUri=<starts-with any character but 2nd letter is common>, e.g. "_a%"
Applications returned matching expectations.

052

CTT Unavailable  UA 1.03  Invoke QueryServers while specifying startingRecordId=0; maxRecordsToReturn=0; applicationUri=<ends-with with any character but 2nd from last is common to two or more apps>, e.g. "%a_"
Applications returned matching expectations.

053

CTT Unavailable  UA 1.03  Invoke QueryServers while specifying startingRecordId=0; maxRecordsToReturn=0; applicationUri=<contains a character in the 3rd position and is common to two or more apps>, e.g. "__a%" Applications returned matching expectations.

054

CTT Unavailable  UA 1.03  Invoke QueryServers while specifying startingRecordId=0; maxRecordsToReturn=0; applicationUri=<contains a character in the 3rd position from the end and is common to two or more apps>, e.g. "%a__" Applications returned matching expectations.

055

CTT Unavailable  UA 1.03  Invoke QueryServers while specifying startingRecordId=0; maxRecordsToReturn=0; applicationUri=<contains an underscore symbol>, e.g. "[_]" Application(s) returned matching expectations.

056

CTT Unavailable  UA 1.03  Invoke QueryServers while specifying startingRecordId=0; maxRecordsToReturn=0; applicationUri=<contains a character in a word that is common to two or more apps>, e.g. "%_erver%" Applications returned matching expectations.

057

CTT Unavailable  UA 1.03  Invoke QueryServers while specifying startingRecordId=0; maxRecordsToReturn=0; applicationUri=<contains a special character such as %> e.g. "%\%%" (where '%' appears anywhere) Applications returned matching expectations.

058

CTT Unavailable  UA 1.03  Invoke QueryServers while specifying startingRecordId=0; maxRecordsToReturn=0; applicationUri=<contains a special such as underscore> e.g. "%\_%" (where '_' appears anywhere) Applications returned matching expectations.

059

CTT Unavailable  UA 1.03  Invoke QueryServers while specifying startingRecordId=0; maxRecordsToReturn=0; applicationUri=<contains a special such as backslash> e.g. "%\\%" (where '\' appears anywhere) Applications returned matching expectations.

060

CTT Unavailable  UA 1.03  Invoke QueryServers while specifying startingRecordId=0; maxRecordsToReturn=0; applicationUri=<starts with one of several potential characters>", e.g. "[a-c]%" anything starting with a, b, or c. Applications returned matching expectations.

061

CTT Unavailable  UA 1.03  Invoke QueryServers while specifying startingRecordId=0; maxRecordsToReturn=0; applicationUri=<ends with one of several potential characters>", e.g. "%[a-c]" anything ending with a, b, or c. Applications returned matching expectations.

062

CTT Unavailable  UA 1.03  Invoke QueryServers while specifying startingRecordId=0; maxRecordsToReturn=0; applicationUri=<not starting with one of several potential characters>", e.g. "[^a-c]%" anything not starting with a, b, or c. Applications returned matching expectations.

063

CTT Unavailable  UA 1.03  Invoke QueryServers while specifying startingRecordId=0; maxRecordsToReturn=0; applicationUri=<not ending with one of several potential characters>", e.g. "%[^a-c]" anything not ending with a, b, or c. Applications returned matching expectations.

064

CTT Unavailable  UA 1.03  Invoke QueryServers while specifying startingRecordId=0; maxRecordsToReturn=0; applicationUri=<not containing with one of several potential characters>", e.g. "%[^j-l]%" anything not containing j, k, or l. Applications returned matching expectations.

065

CTT Unavailable  UA 1.03  Invoke QueryServers while specifying startingRecordId=0; maxRecordsToReturn=0; applicationUri=contains an invalid ^ location, e.g. "%[a^j-l]%" Applications returned matching expectations, meaning the string contains "a, ^, j, k, or l"