Skip to content

Restructure PURL test files #800

@mjherzog

Description

@mjherzog

As the volume of PURL test cases grows we need to consider better ways to organize PURL test files to:

  • Make it easier for PURL tool implementors to use the test files, especially to easily distinguish between 'base' conformance test cases and optional 'advanced' test cases
  • Clarify when and now new test cases are needed for a new PURL type

The current structure of test files is:

  • purl-spec/tests/spec/: This folder contains JSON test files that are not for a specific PURL type.
    • specification-test.json - This file contains an array of test objects that primarily cover testing the validity of individual PURL components, separators between PURL components, and complete PURL strings.
  • purl-spec/tests/types/: This folder contains one JSON test file for each registered PURL type. These tests should be focused on test cases that are specific to a PURL type, such as those for namespace or qualifiers.

There are three current proposals to restructure the PURL test files which overlap so we need to agree on the target file structure before we decide how to proceed with the individual proposals. My working assumption is that we will want to automate the conversion of existing test files to the new target structure as much as possible.

These proposed changes do not require changes to the PURL test schema because the schema does not cover the aggregation of test cases into test files.

Metadata

Metadata

Assignees

No one assigned

    Projects

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions