Overview

This page documents the use of QA tools.

Prerequisites

  • MySQL database must already exist (e.g. "mappingservicedb") and be loaded with terminologies, map projects, and map records.
  • MySQL database connection parameters must be defined in the properties file specified by "run.config".

Details 

These tools are used to perform important QA analysis of the system and can be wired to automations (such as continuous integration server, or cron job).  Currently there are two QA tools:

  • QA Database

    • Performs a series of queries to validate the state of the database.  The queries are passed in via the pom.xml file (thus making it configurable) and are all designed to produce zero rows.  Any query producing a non-zero count result is considered an error and is reported.   This tool attempts to verify things that are assumptions about the data not verified by things like foreign key constraints.  This tool sends email if there are QA issues to report.
  • QA Workflow

    • Checks for workflow status errors.  In particular attempts to identify combinations of records with workflow states that should not exist and will cause problems when map specialists or leads to attempt to interact with these records.

 

Following are some details about these tools:

Mojo: QaDatabase.java (in admin/mojo/src/main/resources/java/org/ihtsdo/otf/mapping/mojo)

Project: admin/qa

Configuration Parameters

  • A profile of "Database" must be passed
  • run.config - the standard configuration file specified as a -D parameter
  • queries - a collection of properties stored in the pom.xml that provide a name and a query (see admin/qa/pom.xml).

  • send.notification.recipients - a property defined in the "run.config" file that indicates who emails should be sent to when there are QA failures.

 

Mojo: QaWorkflow.java (in admin/mojo/src/main/resources/java/org/ihtsdo/otf/mapping/mojo)

Project: admin/qa

Configuration Parameters

  • A profile of "Workflow" must be passed
  • run.config - the standard configuration file specified as a -D parameter
  • refset.id - the map project refset id to validate workflow for, specified as a -D parameter.

  • send.notification.recipients - a property defined in the "run.config" file that indicates who emails should be sent to when there are QA failures.

Samples

Sample command line call of to QA the database:

% cd mapping-parent/admin/qa
% mvn install -Drun.config=/home/ihtsdo/config/config.properties -PDatabase

 

Sample command line call to QA the workflow for refset id 447563008:

% cd mapping-parent/admin/qa
% mvn install -Drun.config=/home/ihtsdo/config/config.properties -PWorkflow -Drefset.id=447563008


Sample Eclipse run configuration to QA the database:

Sample Eclipse run configuration to QA the workflow for refset id 447563008:

  • n/a

 

  • No labels