Skip to content

[Testing] Follow-ups from the PR #1845 review: failure-dump noise, sibling overlap, worker-isolation dependence #1853

Description

@Chris0Jeky

Residuals from the PR #1845 review (they would otherwise die with #1822, which that PR closes):

  1. Unscoped GetExpiredAsync failure-dump noise. The method returns every expired PendingReview row in the shared per-class test DB, so a failing assertion's dump includes other tests' rows (a corr-expired-target-... row from GetPendingByOperationTargetAsync_..._ExcludesExpired was observed in the [Backend] Flaky: GetExpiredAsync_WithExpiresAtExactlyNow races a 1-second wall-clock window on windows-latest #1822 failure dump). Consider correlation-prefix scoping in assertions to keep failure output attributable.
  2. Test overlap. The reworked GetExpiredAsync_ExcludesFutureExpiry... test is now close to a subset of its sibling GetExpiredAsync_ShouldReturnOnlyExpiredPendingReview (~line 72 of AutomationProposalRepositoryIntegrationTests.cs), which additionally proves the status filter. PR test(api): de-flake GetExpiredAsync expiry-boundary integration test (#1822) #1845 kept it with an honest name and a PROVES / DOES-NOT-PROVE comment; "delete as redundant" remains an available answer for a future sweep.
  3. Worker-dependence note. The new positive control (Contain on a past-ExpiresAt PendingReview row) is safe only because the class is pinned to HostedWorkerDisabledTestWebApplicationFactory ([Bug] Isolate hosted workers and delayed events in full-suite tests #1335). If the class ever moves to the base factory, ProposalHousekeepingWorker can consume the row and this assertion flakes in the opposite direction. Keep the pin, or make the dependence explicit in the class contract comment.

Source: PR #1845 fresh-context review (non-blocking items 1–3). All LOW; none merge-relevant.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Priority IIIValuable but unscheduled: residuals, tech-debt, performance, depth work.testingTest coverage, harnesses, regression prevention, and verification pipeline work.

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions