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.
- Metadata sharing -
The technology under test is able to share metadata with other members of the cohort.
- Reference copies -
The technology under test is able to store reference copies of metadata from other members of the cohort.
- Metadata maintenance -
The technology under test supports requests to create, update and purge metadata instances.
- Effectivity dating - The technology under test supports effectivity dating properties.
- Dynamic types -
The technology under test supports changes to the list of its supported types while it is running.
- Graph queries -
The technology under test supports graph-like queries that return collections of metadata instances.
- Historical search -
The technology under test supports search for the state of the metadata instances at a specific time in the past.
- Entity proxies -
The technology under test is able to store stubs for entities to use on relationships when the full entity is not available.
- Soft-delete and restore -
The technology under test allows an instance to be soft-deleted and restored.
- Undo an update -
The technology under test is able to restore an instance to its previous version (although the version number is updated).
- Reidentify instance -
The technology under test supports the command to change the unique identifier (guid) of a metadata instance.
- Retype instance -
The technology under test supports the command to change the type of a metadata instance to either its super type or a subtype.
- Rehome instance -
The technology under test supports the command to update the metadata collection id for a metadata instance.
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.
- Repository AttributeTypeDef Test Case
- Repository Classification Lifecycle Test Case
- Repository Entity Lifecycle Test Case
- Repository Find AttributeTypeDefs by Category Test Case
- Repository Find TypeDefs by Category Test Case
- Repository Find Types By External Standard Identifiers Test Case
- Repository Get TypeDef Gallery Test Case
- Repository Metadata Collection Id Test Case
- Repository Relationship Lifecycle Test Case
- Repository Server Ids Test Case
- Repository TypeDef Test Case
License: CC BY 4.0, Copyright Contributors to the ODPi Egeria project.