Test driver properties

A test driver helps you perform solution testing and debugging, manage entities, determine the system and solution status, and create and submit events to Insight Server. To ensure that a test driver instance can connect to a server, create a testdriver.properties file and add properties and to modify the behavior of the test driver.

Properties for all test driver instances

There are several ways to set the properties that control the behavior of test driver instances:
  • Add properties to the testdriver.properties file.
  • Call the getproperties and setproperty methods.
  • Pass the properties using the TestDriver constructor.

The testdriver.properties file contains connectivity and server properties to set up and run the test driver. The testdriver.properties file must be located in the directory where the Java™ application starts, which is called the current directory, or in a location defined by the TESTDRIVER_HOME environment variable.

Table 1. Test driver properties
Property Description Example value
solutionName Specifies the solution where the test driver instance runs. This property is required. The other properties are optional, or use values based on the server properties if a test driver property is not supplied. Provide the solution name as the property value. For example: OilServiceSolution
catalogServerEndpoints Provides a list of WebSphere® eXtreme Scale scale catalog servers that listen for debug connections from the test driver. The list is in the form host:port, host:port. server1:2909
host The name of the Insight Server https host. If the runtime server is not running on localhost, you must supply the hostname of the runtime server. localhost
port The https port for the host. 9443
connectTimeout The time in seconds that the test driver instance waits for a solution gateway connection to become available. 30
username A user name with administrator access for authentication to the server. The value must match the userName property in the server.xml file.  
password The password for the administrator user name for authentication to the server. The value must match the userPassword property in the server.xml file.  
trustStorePassword The password for remote Secure Sockets Layer (SSL) authentication.  
trustStoreLocation Specifies the location of the truststore. If you do not specify a value, the default keystore location is used:

InstallDir\\runtime\\wlp\\usr\\servers\\cisDev\\resources\\security\\key.jks

 
disableSSLHostnameVerification Set the value of the property to true to disable verification of the SSL credentials.  
disableServerCertificateVerification This parameter is used to disable server certificate verification. If you set this parameter to true, the client does not check whether the certificate presented by the server is trusted. If the server is not trusted, authentication credentials and other user information might be passed on through the JMX connection. This parameter is optional. If not specified, it will use the value in the properties file specified by the --propertiesFile option. If no value is specified on the command line or in the properties file, it will default to false.  
logLevel If this property is set, and the TESTDRIVER_HOME environment variable is defined, a log file is created in the specified location. Set the level of log messages stored in the file, for example: OFF, SEVERE, WARNING, INFO, FINE, FINER, FINEST.  
keyStoreLocation The location of the keystore. If you do not specify a value, this parameter uses the value in the properties file specified by the --propertiesFile option. If no value is specified on the command line or in the properties file, no keystore is used.  
keyStorePassword The keystore password. If you do not specify a value, this parameter uses the value in the properties file specified by the --propertiesFile option. If no value is specified on the command line or in the properties file, you are asked to provide a password interactively.  
sslProtocol The SSL protocol for the connection. If you do not specify a value, this parameter uses the value in the properties file specified by the --propertiesFile option. If no value is specified on the command line or in the properties file, the value "TLS" is used.  
gridSecurityEnabled Set the value of the property to true to enable data grid security.  
gridUsername A user name with administrator access for authentication to the data grid.  
gridPassword The password for the data grid user name to enable authentication.  

Properties for receiving and storing debug information

To perform receive and store debug information for problem determination and debugging, you can use the methods in the TestDriver API to create a test driver instance, which connects to an Insight Server using a specific port or ports and sends the server a solution identifier and list of solution agents. The server sends debug information to the test driver instance, which collects the information in memory or writes it to a file.

Table 2. Properties for retrieving and storing debug information
Property Description Example value
debugServers The property value provides a list of servers where the test driver instance connects and receives debug information. The list is in the form host:port, host:port. localhost:6543
debugServersTimeout The test driver attempts to communicate with the debug servers for the specified length of time. The timeout value represents the time interval in seconds. 10
debugAgentList The property value is a comma-separated list of agents that send debug information to the test driver instance. Alternately, you can use a wildcard (*) as the property value to indicate that all agents in the solution send information to the test driver. Unless specific agents are listed, information from all agents is captured.
debugNote The value of the property is a string that is passed to the server. The note is included in the debug information.  
debugMaxEventQueueSize Sets the maximum size of the debug information cache for the IADebugReceiver class. When the maximum amount of information is stored, the oldest information is removed from the cache. 1000

Authentication for test driver connections

To set up security and user authentication to perform testing on remote servers, you must provide an SSL keystore and truststore. You can then connect successfully to the target remote server to perform the required testing. The Decision Server Insights development server (cisDev) includes a default user ID and password:
ia.test.user=tester 
ia.test.password={xor}KzosKzot
The decoded value of the password is tester, and is used as the password for both the tester user ID and the keystore.

Example test driver properties

solutionName=OilServiceSolution
catalogServerEndpoints=localhost:2809,server1:2909,server2:2810
host=server1
port=9443
username=tester
password=tester
trustStoreLocation=C\:\\IBM\\ODMInsights871\\runtime\\wlp\\usr\\servers\\cisDev\\resources\\security\\key.jks
trustStorePassword=tester
disableSSLHostnameVerification=true