Stream Station Cards E2E Testbook
Manual verification of the /stream station card view — card states, session data, log expansion, and Stop Stream action.
Prerequisites
- Access to https://hydrastreamingmonitor.experiencenet.com
- At least one online body in the cluster
Step 1: Open the stream page (landing page)
Navigate to https://hydrastreamingmonitor.experiencenet.com/ (root URL).
Expected: Browser redirects to /stream. The page renders in two sections: a Streaming section at the top (visible only when at least one body is streaming), followed by an Idle section below. Each section has a small uppercase section label. On mobile (narrow viewport) cards stack vertically; on desktop they fill a 2-column auto-fill grid (min 360 px per column).
Step 2: Verify card states
Inspect cards for bodies in different states.
Expected per state:
- STREAMING — appears in the Streaming section; green left border, green
STREAMINGbadge, body name as a clickable link to/bodies#{name}, head name as a clickable link to/heads#{name}, experience name shown, elapsed duration ticking up every second, GPU %, View Logs link, Stop Stream button - IDLE — appears in the Idle section; gray left border, gray
IDLEbadge, body name as a clickable link to/bodies#{name}, "Ready — no active session" text - OFFLINE — appears in the Idle section; red left border, red
OFFLINEbadge, card dimmed (opacity 0.7), body name as a clickable link to/bodies#{name}, "Offline" text
Step 3: Verify elapsed duration on a streaming card
On a streaming card, watch the duration counter for 5 seconds.
Expected: Duration increments in real time (e.g. 4m 32s ticks to 4m 33s without a page reload).
Step 4: Verify body log expansion
On any online body card, tap/click the "Body log" disclosure triangle.
Expected: <details> expands, a <pre> element loads log lines from /api/v1/nodes/{id}/body-logs. Within 15 seconds the log auto-polls and updates. Collapse the details — polling stops.
Step 5: Verify View Logs link
On a streaming card, click "View Logs".
Expected: Navigates to /sessions/{id}/logs and renders body and head log panels (requires an active session). On a card with no session, the link navigates to /bodies/{nodeID}/logs showing a full-page body log view.
Step 6: Verify Stop Stream button
On a streaming card, click "Stop Stream".
Expected: POST /body-stop-stream with the correct node_id. Page reloads (or redirects) and the body card transitions to IDLE or OFFLINE state.
Only test this on a body that is safe to stop (not during a live event).
Step 7: Verify refresh countdown
Look at the bottom of the page.
Expected: "Refreshes in Ns" countdown decrements from 30 to 0, then the page reloads automatically.
Step 8: Verify version in nav
Look at the top-right corner of the nav (next to the Logout button).
Expected: A muted version label like v0.4.29 appears on every authenticated page. It reflects the running binary version (set at build time via ldflags).
Step 9: Verify nav on mobile
View the page at viewport width under 600 px.
Expected: Brand name hidden; six nav links remain (Stream, Sessions, Logs, Events, Known Issues, More), each with at least 44 px tap height. Active link (Stream) is bold with a blue underline. Version label remains visible.
Step 10: Verify /more page
Click "More" in the nav.
Expected: Full-width tappable list of links including Bodies, Heads, Dashboard, Dependencies, Insights, Docs, Host Page. Each link min 64 px height. The Known Issues link is also reachable directly from the top nav on any page.
Step 11: Verify /host page (if host_token configured)
Navigate to /host-login, enter the host token.
Expected: Redirects to /host showing venue name, ready/streaming/offline counts, and two large buttons (Nobody Available, Experience Not Launching), each at least 120 px tall with subtitle text.
Click either button.
Expected: A confirmation screen with "Issue reported" and the issue number appears. Clicking "Report another issue" returns to the host page.