Abstract Repository Class¶
Storage of test results.
A Repository provides storage and indexing of results.
The AbstractRepository class defines the contract to which any Repository implementation must adhere.
The stestr.repository.file module (see: File Repository Type is the usual repository that will be used. The stestr.repository.memory module (see: Memory Repository Type) provides a memory only repository useful for internal testing.
Repositories are identified by their URL, and new ones are made by calling the initialize function in the appropriate repository module.
- class stestr.repository.abstract.AbstractRepository[source]¶
The base class for Repository implementations.
There are no interesting attributes or methods as yet.
- count()[source]¶
Return the number of test runs this repository has stored.
- Return count:
The count of test runs stored in the repository.
- find_metadata(metadata)[source]¶
Return the list of run_ids for a given metadata string.
- Param:
metadata: the metadata string to search for.
- Returns:
a list of any test_ids that have that metadata value.
- get_failing()[source]¶
Get a TestRun that contains all of and only current failing tests.
- Returns:
a TestRun.
- get_inserter(partial=False, run_id=None, metadata=None)[source]¶
Get an inserter that will insert a test run into the repository.
Repository implementations should implement _get_inserter.
get_inserter() does not add timing data to streams: it should be provided by the caller of get_inserter (e.g. commands.load).
- Parameters:
partial – DEPREACTED: If True, the stream being inserted only executed some tests rather than all the projects tests. This option is deprecated and no longer does anything. It will be removed in the future.
- Return an inserter:
Inserters meet the extended TestResult protocol that testtools 0.9.2 and above offer. The startTestRun and stopTestRun methods in particular must be called.
- get_test_ids(run_id)[source]¶
Return the test ids from the specified run.
- Parameters:
run_id – the id of the test run to query.
- Returns:
a list of test ids for the tests that were part of the specified test run.
- get_test_run(run_id)[source]¶
Retrieve a TestRun object for run_id.
- Parameters:
run_id – The test run id to retrieve.
- Returns:
A TestRun object.
- get_test_times(test_ids)[source]¶
Retrieve estimated times for the tests test_ids.
- Parameters:
test_ids – The test ids to query for timing data.
- Returns:
A dict with two keys: ‘known’ and ‘unknown’. The unknown key contains a set with the test ids that did run. The known key contains a dict mapping test ids to time in seconds.
- class stestr.repository.abstract.AbstractRepositoryFactory[source]¶
Interface for making or opening repositories.
- class stestr.repository.abstract.AbstractTestRun[source]¶
A test run that has been stored in a repository.
Should implement the StreamResult protocol as well as the stestr specific methods documented here.
- get_id()[source]¶
Get the id of the test run.
Sometimes test runs will not have an id, e.g. test runs for ‘failing’. In that case, this should return None.
- get_metadata()[source]¶
Get the metadata value for the test run.
- Returns:
A string of the metadata or None if it doesn’t exist.
- get_test()[source]¶
Get a testtools.TestCase-like object that can be run.
- Returns:
A TestCase like object which can be run to get the individual tests reported to a testtools.StreamResult/TestResult. (Clients of repository should provide an ExtendedToStreamDecorator decorator to permit either API to be used).