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.

You can set the test driver connection in the testdriver.properties file. By default, the connection property is set to connection=HTTPS, which is set for new test client projects and works in single server test environments, such as cisDev. However, if you want to test in a multiple-server test environment and you want to receive debugging information from all of the servers, you must set the connection property to connection=GridConnection to receive the debug events.

Table 1. Test driver properties
Property Description Example value
bomProjectPath Path to the root directory of the BOM project to use when you run test component files.  
catalogServerEndpoints Provides a list of WebSphere® eXtreme Scale scale catalog servers. The list is in the form host:port, host:port.

Applies only when you set the connection property to connection=GridConnection.

server1:2909
connection Sets the test driver connection to use either HTTPS or GridConnection. By default, the connection property is set to HTTPS.  
connectTimeout The time in seconds that the test driver instance waits for the test environment connection to become available. 30
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.  
disableSSLHostnameVerification Set the value of the property to true to disable verification of the SSL credentials.  
gridPassword The password for the data grid user name to enable authentication.

Applies only when you set the connection property to connection=GridConnection.

 
gridSecurityEnabled Set the value of the property to true to enable data grid security.

Applies only when you set the connection property to connection=GridConnection.

 
gridUsername A user name with administrator access for authentication to the data grid.

Applies only when you set the connection property to connection=GridConnection.

 
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
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.  
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.  
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.  
port The HTTPS port for the host. 9443
solutionName Specifies the solution to be tested. If the solution name property is not specified, the solution name must be specified when calling TestDriver.connect(String). Provide the solution name as the property value. For example: OilServiceSolution
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 "TLSv1.2" is used.  
testClientProjectPath Path to the root directory of the test client project where test component files are located. By default, this property is set to the working directory of your test client application.  
trustStoreLocation Specifies the location of the truststore. This value is required, unless disableSSLHostnameVerification is true  
trustStorePassword The truststore password. This value is optional. If the password is not specified, the trust store is not verified.  
username A user name with administrator access for authentication to the server. The value must match the userName property in the server.xml file.  

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
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.
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
debugNote The value of the property is a string that is passed to the server. The note is included in the debug information.  
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. Use this property to configure a cluster environment.

Applies only when you set the connection property to connection=GridConnection.

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

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\\ODMInsights881\\runtime\\wlp\\usr\\servers\\cisDev\\resources\\security\\key.jks
trustStorePassword=tester
disableSSLHostnameVerification=true

The testdriver client is running on localhost, which also has a catalog server. In this topology, there is also two other catalog servers on server1 and server2. The catalogServerEndpoints property in testdriver.properties must list all of the catalog servers in the topology. server1 also hosts the runtime server, which is specified in the host property.