bods-dev-handbook

Validation Specification

BODS contains three types of normative requirement:

All normative requirements in BODS which are testable should be documented in the BODS validation specification along with information about how they are tested. Wherever possible validation (testing) is enforced by the JSON schema. Requirements not enforceable by the JSON schema are tested using CoVE (the Data Review Tool), with an ‘additional check’.

As BODS is undergoing test-driven development, the validation specification should be kept up to date. It is the central reference point when updating the Data Review Tool to handle new versions of BODS.

Adding constraints which need checking in the Data Review Tool

  1. Add the constraint to the Validation specification, with ‘additional check’ in the ‘Tested where’ column. Indicate in the relevant columns which versions of BODS the check applies to.
  2. In a GitHub issue, specify how the check will operate via:
    • a description of the check
    • valid and invalid example data
    • human-readable error messages for the Data Review Tool
  3. Add a link to the GitHub issue in the notes column (or a temporary ‘Development issue’ column)

Here is a previous example of a check issue

Data Review Tool

The Data Review Tool (BODS CoVE) provides human-readable information about whether a series of BODS statements passes validation. That is: whether all the testable requirements of the data standard are met.

The code spans two repositories:

Translations

The Data Review Tool currently is only in English.

However, we know that there will be translations soon and so we are already using the process and workflow.

See the “Translations for Developers” section in https://github.com/openownership/cove-bods/blob/master/README.md