Open Metadata Conformance Repository Workbench

The open metadata conformance repository workbench is responsible for testing the ability of an open metadata repository to connect and interact with other open metadata repositories in a conformant way.

It tests both the repository’s repository services API and its ability to exchange events with the OMRS Cohort Event Topic.

The workbench uses the registration information that is passed when the technology under test registers with the same open metadata repository cohort as the conformance suite. It will confirm that the information received in the events matches the information returned by the technology under test’s repository services.

This workbench works as a pipeline processor, accumulating information from one test and using it to seed subsequent tests. A failure early on in the pipeline may prevent other tests from running.

In addition this workbench dynamically generates tests based on the types returned by the repository. So for example, the Repository TypeDef Test Case runs for each TypeDef returned by the repository. Again, a failure in the early set up test cases will prevent the repository workbench from generating the full suite of test cases for the repository under test.

Repository conformance profiles

The functions expected of an open metadata are numerous. These functions are broken down into the profiles listed below. An open metadata repository needs to support at least one profile to be conformant. However, in practice, metadata sharing is required in order to support any of the other profiles so it is effectively mandatory.

Test cases

The following test case implementations support the validation of the profiles.

The workbench dynamically creates instances of the test cases as it explores the behavior of the technology under test.

Each test case typically focuses on a specific requirement within a profile. However, it may verify other requirements from either the same of different profiles if it is efficient to do so.

When a test case encounters errors, it will log them and if possible it will continue testing. However, some failures are blocking and the test case will end when one of these is encountered.

License: CC BY 4.0, Copyright Contributors to the ODPi Egeria project.