Understanding Tools Used in Automated Integration Point Testing

This section describes tools that are used in automated integration point testing.

PeopleSoft Integration Broker builds the following integration point test data repository structure during the export process.

You specify the top-level directory for the repository in the integration gateway properties file using the ig.EIPInputDirectory property.

Warning! Do not alter this directory structure. This structure is required for outbound playback. If you alter this structure, PeopleSoft Integration Broker cannot locate response files.

Image: Integration point test data repository structure

This example shows the integration point test data repository structure that the system builds during the export process.

Integration point test data repository structure

In a Microsoft Windows environment, each of the box in the previous diagram would correspond to folders in Microsoft Windows Explorer.

Image: Sample Repository Structure in Microsoft Windows Explorer

The following graphic shows what the structure might look like in Microsoft Windows Explorer using actual data.

Sample integration point test data repository structure in Microsoft Windows Explorer

When a synchronous request is received during testing, the gateway manager performs a lookup in the cached data gathered from the integration point test service operation transaction property file. If the system finds a match is found, the request XPaths are traversed to build the appropriate hash that can then be used to locate the corresponding response located within the integration point certification repository. The system loads the response file and passes it back to the requestor.

For asynchronous requests, the gateway manager generates an acknowledgement as the response and passes it back to the requestor.

In addition to returning the appropriate response files during outbound playback, the gateway manager logs request and response files. When the appropriate flag is set in the integration gateway properties file, the gateway manager logs the files into the defined output directory. Response and request file have the following naming convention.

<time stamp>.<request or response>

For example:

220030519T150406.832.request

The integration gateway properties file contains an EIPTestTool Properties section, in which you set the following information for integration point test automation:

Property

Description

ig.gatewayManagerClass=com.peoplesoft.pt.

integrationgateway.eiptesttool.EIPTestTool

GatewayManager

Indicates the class name of the gateway manager to use during processing.

ig.EIPLoopBack

Determines if the integration gateway should be in record or playback mode.

Set this property equal to True for outbound playback, and set it equal to False for recording.

The default value is True.

The only acceptable values for this property are True and False. Any other values specified for this property will be ignored by the system.

ig.EIPOutputDirectory

Indicates the directory to store request and response files during recording. The default value is c:\temp\output.

You must set this property for recording service operation transactions.

Setting this property is optional for playback.

ig.EIPMsgProp.count

Indicates the number of integration point test service operation transaction properties files that are in use for test automation. The default value is 0 (zero).

ig.EIPInputDirectory

Indicates the location of the integration point test data repository that stores request and response data. The default value is c:\temp\input.

ig.EIPMsgProp.N.propFile

Indicates the name and location of an integration point service operation transaction properties file.

N denotes the index number for this property. The index starts at 1 and incrementally advances to the number specified by the ig.EIPMsgProp.count property.

ig.EIPMsgProp.N.inputDirectory

Indicates the input directory path for request or response data in situations for which an integration point service operation transaction property file uses a directory structure other than the default certification directory.

Use this property to override the ig.EIPInputDirectory property.

ig.EIPNodeMap

Indicates the location and name of the node map file to use during outbound playback (“loop back”) testing.

Note: All file paths in the integration gateway property file for EIP test tools must use back slashes in the file path.

Integration point test service operation transaction property files are XML files that contain synchronous integration point definitions broken down by product or sub-product. These files are used during message export and outbound playback.

Note: Integration point test service operation transaction properties files are required for synchronous service operation transactions only.

One integration point test service operation transaction properties file must exist for each product line or sub-product.

Integration point testing metadata is not contained in a single file, because it does not scale well and because this information needs to be cached and accessed quickly.

Each integration point entry is keyed by requesting node, destination node, and service operation version.

You specify the location of the file in the integration gateway properties file using the ig.EIPMsgProp.N.propFile property.

The integration point test service operation transaction properties file contains the following properties for synchronous integration points:

  • Requesting node.

  • Destination node.

  • Service operation name.

  • XPaths to fields in the request to be used as the unique key.

    Leave this blank to use the entire contents as the hash key.

  • Description.

The following example shows the contents of a sample integration point test service operation transaction properties file.

<?xml version="1.0"?>
<eips>
   <eip messagename="QE_SALES_ORDER_SYNC.VERSION_1" destinationnode="QE_LOCAL">
      <descr>
         <![CDATA[Outbound Synchronous QE_SALES_ORDER_SYNC from 
         QE_LOCALto QE_IBTGT]]>
      </descr>
      <xpath>
         MsgData/Transaction/QE_SALES_ORDER/QE_ACCT_ID
      </xpath>
   </eip>
</eips>

The Send Master utility features an EIP Testing (Batch EIP) project type that enables you to test batches of MIME messages from a directory, and also allows you to test different transaction values.

In addition to using the Send Master graphical user interface, you can also initiate automated testing through a Batch Project Executor command line tool.

The Message Export command line tool is a batch file that extracts transaction data from request and response data, and creates a hierarchical structure of source, service operation, and destination directories in the integration point test data repository.

The Message Export command line tool is located in the PeopleSoft web server domain: MessageExport.bat.

Usage

The standard usage of the Message Export tool is:

MessageExport [-options]

Classpath

The classpath for the Message Export is created in the MessageExport.bat file during installation.

Syntax

The syntax for using the Message Export tool is:

MessageExport -in "C:/temp/input" -out "C:/temp/output" -eip 
"c:\temp\eip\eip_prop\eip_crossnode_sync.xml" -result 
"C:/temp/output/result.txt"

Note: Use forward slashes in the directory path structure.

Parameters

The Message Export parameters that you can pass are described in the following table.

Parameter

Description

-in

Indicates the input directory, used during recording, that contains all of the request and response files generated from the EIP gateway manager.

-out

Indicates the location of the directory for the integration point test data repository.

-eip

Indicates the list of integration point service operation transaction property files, separated by semicolons.

This parameter is not required for asynchronous integration points.

-result

Indicates the name of the file that contains the results of the export process. The contents of this file is represented as XML.

-ow

(Optional.) Overwrites files if they already exist.

-cd

(Optional.) Creates the output directory if PeopleSoft Integration Broker does not find it.

-rn

(Optional.) Specifies the requesting node. You can specify one value only.

All other requesting node values in the input directory will be ignored.

-dn

(Optional.) Specifies the destination node. You can specify one value only.

All other destination node values in the input directory will be ignored.

-mn

(Optional.) Specifies the service operation name, including version. You can specify one value only.

The system ignores all other service operation names in the input directory.

For releases prior to PeopleTools 8.48 this is the message name.

-mv

(Optional.) This parameter is only used with PeopleTools releases prior to PeopleTools 8.48.

Specifies the message version for the message name that you specified. You can specify one value only.

The system ignores all other message versions for the selected message name in the input directory.

-? -help

(Optional.) Displays the Help menu.

Output

If an export is successful, the contents of the output file resembles the following contents.

<?xml version="1.0"?>
<success>
    <file path="C:\TEMP\eip\export_in\20051128T041615.545.request" 
      rawfilepath="C:\TEMP\eip\export_out\QE_LOCAL\QE_SALES_ORDER_SYNC.
      VERSION_1\V999\QE_IBTGT\20051128T041615.545_48.request" 
      success="true" transdatafilepath="C:\TEMP\eip\export_out\QE_LOCAL\
      QE_SALES_ORDER_SYNC.VERSION_1\V999\QE_IBTGT\request\1.xml"/>
    <file path="C:\TEMP\eip\export_in\20051128T041615.545.response" 
      rawfilepath="C:\TEMP\eip\export_out\QE_LOCAL\QE_SALES_ORDER_SYNC.
      VERSION_1\V999\QE_IBTGT\20051128T041615.545_48.response" 
      success="true" transdatafilepath="C:\TEMP\eip\export_out\QE_LOCAL\
      QE_SALES_ORDER_SYNC.VERSION_1\V999\QE_IBTGT\response\1.xml"/>
</success>

If an export is not successful, the contents of the output file resembles the following contents:

<?xml version="1.0"?>
<failure>
    <![CDATA[Invalid output directory: C:\Documents and Settings\Jfranco\
     Desktop\export]]>
</failure>

When you use the Message Export tool, PeopleSoft Integration Broker generates unique request and response pairs, and creates a unique hash key ID for the generated pair. The hash key is used by the integration gateway during playback to ensure that proper correlation occurs between the request and response files.

If you bypass the export process and manually add files for testing, or if you carry out testing when the target or source systems are not available to properly record information, you must generate a hash key. The Hash Key Generator is a command line tool that enables you to generate a hash key.

The Message Export command line tool is located in the PeopleSoft web server domain: HashKeyGenerator.bat.

Usage

The standard usage for the Hash Key Generator is:

HashKeyGenerator [-options]

Syntax

The syntax for using the Hash Key Generator is:

HashKeyGenerator -in "C:\temp\input.txt

HashKeyGenerator  -v 214 "John Doe" PeopleSoft

HaskKeyGenerator -v Sally 1234 -t

Parameters

The Hash Key Generator parameters you can pass are described in the following table.

Parameter

Description

-in

Indicates the file name to be used as the hash value. When working with non-XML files, the entire value must be hashed.

-t

Prepends a timestamp value to the returned hash value. will prepend a timestamp value.

-v

Indicates values to use as the hash key. When the system encounters this parameter, PeopleSoft Integration Broker uses all values specified in the hash key until it encounters the next “-” option.

-? -help

(Optional.) Displays the Help menu.

A Node Map properties file is an XML file that enables you to associate renamed or custom node names with actual shipped application node names. This enables you to use unique node names during testing.

The system uses this file during outbound playback.

You create this file and specify the shipped application node names and all custom node names in use for a specific node. You must specify the file name and location in the integration gateway properties file, using the ig.EIPNodeMap property.

The following example shows a node map properties file.

<?xml version="1.0"?>
<nodemap>
    <map name="PSFT_HR"><node name="HRTST01"/><node name="HRTST02"/><node name="HRTST03"/>
    </map>
    <map name="PSFT_CRM">
        <node name="CRMTST01"/>
        <node name="CRMTST02"/>
        <node name="CRMTST03"/>
    </map>
</nodemap>

In the highlighted portion of the example, the map name PSFT_HR corresponds to a delivered application node. The node names HRTST01, HRTST02 and HRTST03 correspond to custom nodes names that are in use.