Currently test objects and related data are deleted using a queue and resources are deleted with a delay. This behaviour has two drawbacks:
Sensitive data, e.g. with personal information, should be deleted without delay from the systems.
On systems that are used for mass testing, many test objects may still be temporarily on the system after the test runs finish
Proposed change
There are two types of test objects:
temporary test objects, which are provided in the context of a single test run
persistent test objects, which are stored independent of test runs (see the EIP #26)
For each test object three types of data can be distinguished:
the source data (e.g. a set of GML documents)
index data to improve the execution of the tests (e.g., the BaseX database with the GML documents and the associated indices)
metadata (timestamp of last access, the URL of remote files or services)
For temporary test objects: Delete all source and index data at the end of the test run. The metadata is deleted once the test report is deleted.
For persistent test objects: Delete all source and index data once the persistent test object is deleted. The metadata is deleted, if the persistent test object has been deleted and once the last test report for this test object is deleted.
Alternatives
The current behaviour could have been kept as the default and the new behaviour could have been triggered with an additional flag during the creation of a temporary test object or a test run. However, changing the default behaviour does not have any negative impact on existing users, but avoids a change in the API and keeps the code easier to maintain.
ETF Improvement Proposal (EIP)
Background and Motivation:
Currently test objects and related data are deleted using a queue and resources are deleted with a delay. This behaviour has two drawbacks:
Proposed change
There are two types of test objects:
For each test object three types of data can be distinguished:
For temporary test objects: Delete all source and index data at the end of the test run. The metadata is deleted once the test report is deleted.
For persistent test objects: Delete all source and index data once the persistent test object is deleted. The metadata is deleted, if the persistent test object has been deleted and once the last test report for this test object is deleted.
Alternatives
The current behaviour could have been kept as the default and the new behaviour could have been triggered with an additional flag during the creation of a temporary test object or a test run. However, changing the default behaviour does not have any negative impact on existing users, but avoids a change in the API and keeps the code easier to maintain.
Funding
Yes
Additional information
This could also help with issue #208.