- 1 Overview
- 2 xtest
- 2.1 Directory Structure
- 2.2 Configuration
- 2.3 Test Execution
- 2.4 Inspecting Test Results
- 3 logbrowser
- 4 xwebtools
Overview
HIEOS provides a variety of test tools that enable functional, regression and basic performance testing. These tools are described in this section.
xtest
xtest is a command line tool that enables functional, regression and basic performance testing. xtest provides support for testing both XDS.b and XCA transactions and mimics the behavior of the following IHE actors: Document Consumer, Document Supplier and Initiating Gateway.
Directory Structure
The core directories that make up the "xtest" test harness include:
| Directory | Description |
|---|---|
| «HIEOS_ROOT»\src\xtest | Root directory for client test harness. |
| «HIEOS_ROOT»\src\xtest\test | Holds xtest script and configuration files including "actors.xml". |
| «HIEOS_ROOT»\src\xtest\test\scripts | Root directory with several sub-directories that house test data, test scripts and test collections. |
| «HIEOS_ROOT»\src\xtest\test\scripts\testdata | Test cases that generally populate XDS.b Registry and XDS.b Repository with seed data. |
| «HIEOS_ROOT»\src\xtest\test\scripts\tests | Individual test cases that exercise XCA and XDS.b transactions. |
| «HIEOS_ROOT»\src\xtest\test\scripts\collections | Collection of test scripts that can be invoked using the "-tc" command line option. |
Configuration
This section describes the general setup and configuration procedures for the xtest command line tool.
Test Script Setup
- Install an appropriate bash client (if running Windows) such as provided by http://www.cygwin.com/
- Open the file «HIEOS_ROOT»\src\xtest\test\classpath and evaluate the following variables and ensure they reference valid paths.
- SRC_ROOT="«HIEOS_ROOT»\src"
- SHARED_LIBS="«HIEOS_ROOT»\lib"
- AXIS_LIBS="«HIEOS_ROOT»\lib\axis2-1.4.1"
Site Configuration File (actors.xml)
"xtest" depends on the actors.xml configuration file located in the «HIEOS_ROOT»\src\xtest\test directory. actors.xml contains a place to configure test sites and their corresponding web service endpoints upon which "xtest" operates.
A default actors.xml is provided by HIEOS to support developmental testing that should not require change if the default setup instructions are followed. A fragment of actors.xml is provided below that shows the configuration for the default "dev" test site:
<!-- name of the site (dev is the default, other selected by "xtest -site <sitename>" -->
<site name="dev">
<!-- Registry Endpoints -->
<!-- Registry Stored Query Transaction (non-secure) -->
<transaction name="sq">
http://localhost:8080/axis2/services/xdsregistryb
</transaction>
<!-- Registry Stored Query Transaction (secure) -->
<transaction name="sq" secure="1">
https://localhost:8181/axis2/services/xdsregistryb
</transaction>
<!-- Registry Register Transaction (non-secure) -->
<transaction name="r.b">
http://localhost:8080/axis2/services/xdsregistryb
</transaction>
<!-- Registry Register Transaction (secure) -->
<transaction name="r.b" secure="1">
https://localhost:8181/axis2/services/xdsregistryb
</transaction>
<!-- Repository Endpoints -->
<!-- Repository Provide & Registry Document Set Transaction (non-secure) -->
<transaction name="pr.b">
http://localhost:8080/axis2/services/xdsrepositoryb
</transaction>
<!-- Repository Provide & Registry Document Set Transaction (secure) -->
<transaction name="pr.b" secure="1">
https://localhost:8181/axis2/services/xdsrepositoryb
</transaction>
<!-- List of repository endpoints by repository unique ID (for Retrieve Transaction) -->
<repository uid="1.3.6.1.4.1.21367.2009.1.2.1010">
http://localhost:8080/axis2/services/xdsrepositoryb
</repository>
<repository uid="1.3.6.1.4.1.21367.2009.1.2.1010" secure="1">
https://localhost:8181/axis2/services/xdsrepositoryb
</repository>
<!-- Responding Gateway Endpoints -->
<!-- Cross Gateway Query Transaction (non-secure) -->
<transaction name="xcq" home="urn:oid:1.3.6.1.4.1.21367.2009.1.2.2020" secure="0">
http://localhost:8080/axis2/services/xcarg
</transaction>
<!-- Cross Gateway Query Transaction (secure) -->
<transaction name="xcq" home="urn:oid:1.3.6.1.4.1.21367.2009.1.2.2020" secure="1">
https://localhost:8181/axis2/services/xcarg
</transaction>
<!-- Cross Gateway Retrieve Transaction (non-secure) -->
<transaction name="xcr" home="urn:oid:1.3.6.1.4.1.21367.2009.1.2.2020" secure="0">
http://localhost:8080/axis2/services/xcarg
</transaction>
<!-- Cross Gateway Retrieve Transaction (secure) -->
<transaction name="xcr" home="urn:oid:1.3.6.1.4.1.21367.2009.1.2.2020" secure="1">
https://localhost:8181/axis2/services/xcarg
</transaction>
<!-- Initiating Gateway Endpoints -->
<!-- Registry Stored Query Transaction (non-secure) -->
<transaction name="sq.ig" home="urn:oid:1.3.6.1.4.1.21367.2009.1.2.2020" secure="0">
http://localhost:8080/axis2/services/xcaig
</transaction>
<!-- Registry Stored Query Transaction (secure) -->
<transaction name="sq.ig" home="urn:oid:1.3.6.1.4.1.21367.2009.1.2.2020" secure="1">
https://localhost:8181/axis2/services/xcaig
</transaction>
<!-- Repository Retrieve Transaction (non-secure) -->
<transaction name="r.ig" home="urn:oid:1.3.6.1.4.1.21367.2009.1.2.2020" secure="0">
http://localhost:8080/axis2/services/xcaig
</transaction>
<!-- Repository Retrieve Transaction (secure) -->
<transaction name="r.ig" home="urn:oid:1.3.6.1.4.1.21367.2009.1.2.2020" secure="1">
https://localhost:8181/axis2/services/xcaig
</transaction>
<!-- Patient ID allocation service (generates test ids) to use with this site. -->
<PidAllocateEndpoint>
http://localhost:8080/xwebtools/pidallocate?rest=1
</PidAllocateEndpoint>
</site>
Test Execution
The following table shows several xtest command line examples:
| Example | Description |
|---|---|
| xtest –run –err –t vsmallpnr | Run the vsmallpnr single test case. |
| xtest –run –err –t 11890 | Run the 11890 single test case. |
| xtest –run –err –tc v_xds | Run the v_xds collection of test cases. |
| xtest –run –err –tc v_xca | Run the v_xca collection of test cases. |
| xtest –run –err –tc v_xds -S | Run the v_xds collection of test cases using TLS. |
| xtest –run –err –tc -s pub v_xds -S | Run the v_xds collection of test cases using TLS to the site known as pub. |
For further command line options, simply type xtest at the operating system command prompt.
Inspecting Test Results
Test results can be interrogated in one of several ways:
- Viewing generated test logs stored in the directory specified by the HIEOSxLogDir environment variable
- Browsing HIEOS transaction logs using the logbrowser
- Navigating the XDS.b Registry and Repository contents using xviewer
logbrowser
"logbrowser" (http://localhost:8080/logbrowser/) is a tool to view HIEOS transaction logs. It provides a listing of all transactions submitted to HIEOS, via real IHE actors, or possibly "xtest". Each of the logged transactions is hyper-linked and transaction details such as HTTP headers, SOAP requests/responses, ebXML requests/responses can be inspected. The tool also provides mechanisms to filter logs based on IP address, date range, success/failure etc.
xwebtools
"xwebtools" contains web based tools that serve a variety of purposes:
| Name | Description | URL |
|---|---|---|
| xviewer | Acts as an XDS.b Document Consumer. Used to retrieve and evaluate XDS.b Registry and Repository contents. Either a patient id, submission set id, or document id can be specified and related document submissions and meta-data can be inspected. | http://localhost:8080/xwebtools/xviewer |
| pidallocate | Allocates test Patient IDs for the XDS.b Registry. It is used extensively by xtest. | http://localhost:8080/xwebtools/pidallocate |





