etf-validator / governance

ETF Steering Group and the Technical Committee documents
1 stars 2 forks source link

Test Run Templates #28

Closed jonherrmann closed 2 years ago

jonherrmann commented 6 years ago

ETF Improvement Proposal (EIP)

Background and Motivation:

This EIP supplements EIP #26 . In addition to the creation of test objects, it should also be possible to pre-select a set of ETS and parameters and save these as one element to execute all ETSs easily together. Furthermore a test object should also be presettable.

Proposed change

Add a new model item Test Run Template item that possesses the following properties:

An example instance which would run all INSPIRE Metadata ETS could look like this:

<TestRunTemplate id="EID...">
  <label>Metadata (Technical Guidance 1.3)</label>
  <description>Run INSPIRE Metadata (TG 1.3) tests against the files on network drive X</description>
  <language>de-DE</language>
  <ParameterList>
    <parameter name="Files_to_test">.*</parameter>
  </ParameterList>
  <ExecutableTestSuite>
    <!-- Conformance Class 'INSPIRE Profile based on EN ISO 19115 and EN ISO 19119' -->
    <executableTestSuite ref="EID..."/>
    <!-- Conformance class 'Metadata for interoperability' -->
    <executableTestSuite ref="EID..."/>
  </ExecutableTestSuite>
  <TestObjects>
    <!-- Test Object with all test data on network drive X -->
    <testObject ref="EID..."/>
  </TestObjects>
</TestRunTemplate>

TestRunTemplates are Metadata items and can be stored like Tags as XML in the Metadata directory. They will be read and loaded like Tags during startup.

The user should be able to:

Cloning an existing Test Run Template would create a clone with a new EID. Changing an existing instance of a test run template should not be possible. The cloning feature could be configured through a property to activate/deactivate it:

etf.testruntemplates.cloning.allow = true/false

The default would be true for organisation-internal workflows and false for public workflows.

The REST interface endpoint would be accessible via /v2/TestRunTemplates .

If the user selects Test Run Template in the user interface and no Test Object has been pre-selected in the template, the user interface should ask which Test Object should be taken.

A draft for the workflow and the web interface is described in EIP #27 .

This EIP is about the new REST interface which should be implemented before the changes in the web interface and the implementation of the complete workflow.

Alternatives

none considered

Funding

Full funding available.

Additional information

jonherrmann commented 6 years ago

Todo:

jonherrmann commented 6 years ago

Configuration description updated inline, see 'etf.testruntemplates.cloning.allow'

jonherrmann commented 2 years ago

Implemented in Version 2.1.0