Last updated June 15, 2009 20:05, by Bernie Thuman
Feedicon  

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

  1. Install an appropriate bash client (if running Windows) such as provided by http://www.cygwin.com/
  2. 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:

  1. Viewing generated test logs stored in the directory specified by the HIEOSxLogDir environment variable
  2. Browsing HIEOS transaction logs using the logbrowser
  3. 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
  • Mysql
  • Glassfish
  • Jruby
  • Rails
  • Nblogo
Terms of Use; Privacy Policy;
© 2010, Oracle Corporation and/or its affiliates
(revision 20120518.3c65429)
 
 
Close
loading
Please Confirm
Close