Skip to content

test-hygiene: seven file-local LoginAsync copies across Host.Tests, and a literal-station SegmentRequest in Story358 (the T352 HIGH-1 shape) #636

Description

@genwave-radio

🧹 Carry-forward from the T352 review (2026-08-28)

Two things the v5.4.1 riders loop found but did not own:

  1. Seven file-local LoginAsync copies remain across tests/GenWave.Host.Tests/Specs (Story196/256/350/353/358/366 …) now that Support/AnnouncementWireSupport.LoginAsync exists (hoisted from Story345 in T352). Same shape, same cookie dance — one helper, seven callers.
  2. Story358_AnnouncementFlavorEndToEnd.cs:41 builds a literal SegmentRequest("af_heart", "GenWave", …, "test-station") — the exact shape that made T352's first round vacuous (a hard-coded station name that renders the factory's Station:Name inert). Harmless there today only because that factory sets no Station:* keys at all; the honest fix is AnnouncementWireSupport.AnnouncementRequest(factory.Services) (the PersonaController.Preview seam), so the request always carries the host's configured identity.

Also observed (pre-existing, unrelated to the riders): Story346_AdoptionVerifyRepair's real-Postgres probe can leak a genwave-hosttest-story346-* compose project on a back-to-back full run and flakes under container contention (--wait timeout); the fixture's teardown should be await using-shaped like EphemeralStationDatabase.

Refs: T350–T352 (the v5.4.1 riders), gh-#569/#602 (unique compose project per fixture), Support/EphemeralStationDatabase.cs.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P3Low priorityenhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions