Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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

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 three 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.

...

  • 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)

...

  • 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:

...