Skip to Content

Status

Statuses track the state of entities throughout the platform. Each status is scoped to an entity type, meaning different entities have different applicable statuses.

Properties

PropertyTypeDescription
idstrUnique identifier
namestrStatus name
descriptionstrStatus description

Built-in Status Values

The platform provides predefined statuses for different entity types:

Entity TypeStatusesDescription
GeneralActive, Inactive, ArchivedCommon states for most entities
TestRunPending, Running, Progress, Completed, FailedTest run execution states
TestResultPass, Fail, Error, ReviewIndividual test outcomes
TestNew, Test, ReviewTest lifecycle states
TestSetNew, Review, ApprovedTest set approval workflow

Note: TestRun status reflects execution completion, not test assertion results. A Completed test run means all tests executed successfully, even if some tests failed their assertions.

Working with Statuses

statuses.py
from rhesis.sdk.entities import Statuses, Status

# List all statuses
for status in Statuses.all():
    print(f"{status.name}: {status.description}")

# Get by name
passed = Statuses.pull(name="Pass")

# Create custom status
new_status = Status(
    name="Needs Review",
    description="Test result requires human review"
)
new_status.push()

Filtering by Status

filter_by_status.py
from rhesis.sdk.entities import TestResults, TestRuns

# Get passed test results
passed_results = TestResults.all(filter="status/name eq 'Pass'")
print(f"Passed tests: {len(list(passed_results))}")

# Get failed test results
failed_results = TestResults.all(filter="status/name eq 'Fail'")

# Get completed test runs
completed_runs = TestRuns.all(filter="status/name eq 'Completed'")

Next Steps - Track execution with Test Runs