Release Testing Helper Module

Overview

This module should make it significantly easier for implementation to test out Alphas, Betas, and Release Candidates. This can be used by implementations that are thinking about moving from one version to another.

The goal is to test the latest code in the alpha/beta/RC with your actual database and actual modules.

Modules and a sampling of test data are copied from the production environment into the second system (the alpha/beta/RC to test).

The user is now able to do tasks in the new system to make sure they are all working as they should.

Version Requirements

This module works with OpenMRS 1.6.0 and above.

Download

How to Use

It's as easy as:

  1. Download+install the module (temporarily) on the production machine that contains the database you want to test the new OpenMRS version against.
  2. Get a standalone version of the OpenMRS version you would like to test. (You can run this anywhere that can access your production machine via the network.)
  3. The first time you run the standalone, choose the Expert Mode option, and then the Testing installation type. Enter the URL of your production server, plus a username and password for a user on that server.

At this point the new OpenMRS will automatically fetch 100 patients worth of data from your production machine, as well as all its module omod files.

Configuration

The globalproperty/setting releasetestinghelper.maxPatientCount controls the number of patients sent to the new system. The default is 100.

If you experience "java.sql.SQLException: Cannot convert value '0000-00-00 00:00:00' from column x to TIMESTAMP" you need to append &zeroDateTimeBehavior=convertToNull to connection.url in openmrs-runtime.properties. See http://stackoverflow.com/questions/782823/handling-datetime-values-0000-00-00-000000-in-jdbc

If you get this error message: "The process terminated abnormally while adding test data."  You may need to increase the value for max_allowed_packet in the runtime properties file. If you are using the standalone, it already exists as server.max_allowed_packet. So you could start by doubling its current value, and then restart the test server to try again.

Resources

File feature requests and bug reports in the JIRA project for this module: RELTEST

A video recording of how to use this module: http://www.youtube.com/watch?v=71F7QfQ6PnY&list=UUO-SzHNz1WObfXECRJpnr8A&index=3&feature=plcp

Release Notes

  • 1.2
    • Increased speed when dumping test data.
    • Made more fixes for BLOB data copying.
    • Removed some unnecessary records from the test dataset, like archived form xsn.
  • 1.1
    • Fixed bug that prevented one from copying data which has invalid dates.
    • Fixed bug where BLOB data was not properly copied.
  • 1.0
    • First official release.