mirror of
https://github.com/MBombeck/HealthLog.git
synced 2026-11-07 04:12:04 +00:00
test(e2e): read the session back through the page, not the shared pool
The offline fence spec already sends its account switch with the page's own fetch, because every Playwright API context in the runner shares one keep-alive agent and can be handed a socket the server closed on its idle timeout. The read on the next line still went through that agent, and it failed with read ECONNRESET on all three attempts, which fails the run because CI treats a flaky test as a failure on purpose. It reads through the page now, like the write above it. The two remaining calls on the shared context sit in finally blocks that swallow their errors, so they cannot fail a test.
This commit is contained in:
1 parent
42b9aefdfd
commit
a889f4b1e2
1 file changed
+10
-2
@@ -433,8 +433,16 @@ test.describe.serial("FENCE-AC-07 record-fence disk layers", () => {
|
||||
return res.status;
|
||||
});
|
||||
expect(left).toBe(200);
|
||||
const me = await context.request.get("/api/auth/me");
|
||||
const now = (await me.json()).data.recordSession as {
|
||||
// Read back through the page for the same reason the switch above goes
|
||||
// that way. This was the last call in the file still using the shared
|
||||
// API context, and it duly failed with `read ECONNRESET` on all three
|
||||
// attempts once the pooled socket had gone stale. The browser opens its
|
||||
// own connection, and a GET for the caller's own session is outside the
|
||||
// app either way.
|
||||
const now = (await page.evaluate(async () => {
|
||||
const res = await fetch("/api/auth/me");
|
||||
return (await res.json()).data.recordSession;
|
||||
})) as {
|
||||
epoch: number;
|
||||
scope: string | null;
|
||||
};
|
||||
|
||||
Reference in new issue
Block a user