- Split ARCExpect into
- ARCExpect (functionality to create validation cases) &
- ARCExpect.Core (Core functionality to create ARC validation package scripts)
- Support multiple programming languages
- Remove preview package APIs
- Fix error with specification failing for multiple workflow files per workflow
- Update ORCID pattern and check functions
- Add functionality to add arbitrary JSON payload to the resulting
validation_summary.jsonfile.
- Add
ContainsNonKeyParamWithTermvalidation function
-
Support full semantic versions for ValidationPackageMetadata in the
ARCExpectAPI. -
Use SemVer prerelease suffix for
arc_specification @2.0.0-draft_
Update pinned dependencies
Remove separate CQCHookEndpoint because it is now directly contained in package metadata.
Major rework and improvements of the ARCExpect API. The main changes are:
-
Built-in mechanisms for validating ARCs against the ARC specification
-
Built-in validation package to validate against ARC spec v2.0.0-draft
-
New Validate functions:
SatisfiesPredicateforParamandParamCollection
-
New
SetupandExecutefunctions:Setupcan be used in validation package code to aggregate package metadata, even from frontmatter yaml.Executenow creates a spec v2 compliant output folder with the junit report, badge, and a new json report.
-
Addition of
Validation Summaryoutput:- In addition to JUnit report and badge creation, a json file combining the test results and validation package metadata is created by
Execute.*functions. - This file is intended to be used for further processing of the validation results, e.g. in a CQC pipeline.
- In addition to JUnit report and badge creation, a json file combining the test results and validation package metadata is created by
Add Pipeline execution function that generates ARC-spec v2 draft compliant output folder.
First release of ARCExpect API as a package. Initially, it was only used in the arc-validate CLI tool.
ARCExpect offers easy to use and understand APIs to create and execute validation cases. The main intention of this library is offering a framework for validation of ControlledVocabulary tokens in Research Data management (RDM) based on testing principles from the world of software development:
- a
validation caseis the equivalent of a unit test Validate.*functions are the equivalent ofAssert.*,Expect.*, or equivalent functions- A
BadgeCreationAPI based on AnyBadge.NET enables creation of badges that visualize the validation results. - export of the validation results as a
junitxml file enables further integration into e.g. CI/CD pipelines
User-facing APIs:
Validate:- validate ControlledVocabulary tokens, e.g. for their compliance with a reference ontology or for the type and shape of annotated value
BadgeCreation:- Create and style small .svg images that visualize the validation results of a validation suite
Additional APIs:
OBOGraph- Create, complete, and query the graph representation of an ontology
ARCGraph- Create, complete, and query a graph of ControlledVocabulary tokens based on the relations in a reference ontology