-
Notifications
You must be signed in to change notification settings - Fork 220
Open
Labels
Description
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.
- Add component-specific spec test files #743 - This change would probably be the easiest to implement because the description in most of the test cases in
tests/spec/specification-test.jsonshows the PURL component that is the test subject. - Re-organize PURL test files by
test_group#760 - This proposal and Move test cases from collections to atomic test files #765 have significant overlap and are probably mutually exclusive. - Move test cases from collections to atomic test files #765 - This proposal also overlaps with Create test case identifier #761 because the path would become the unique test case identifier.
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.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
Type
Projects
Status
No status