test: harden database qualification startup and cleanup evidence
MariaDB persistence qualification / mariadb (push) Failing after 7s

This commit is contained in:
cesnimda
2026-10-24 14:04:57 +02:00
parent 2b26953d6f
commit 5ac11549b2
16 changed files with 228 additions and 15 deletions
@@ -1,7 +1,7 @@
import { test, expect, type APIRequestContext } from '../../../../../job-tracker-ui/node_modules/@playwright/test';
import os from 'node:os';
import { performance } from 'node:perf_hooks';
import { durationMs, paceMs, waitUntil, summarize, assertMembership } from './metrics.mjs';
import { durationMs, paceMs, waitUntil, summarize, assertMembership, persistedCareerProfile } from './metrics.mjs';
import { snapshot, sql } from './mariadb-proof.mjs';
const api = 'http://localhost:5302/api';
@@ -53,7 +53,8 @@ test('P9-REQUAL-01 real MariaDB: 15 minutes, 250 applications, two paced readers
const initialProfile = await (await page.request.get(`${api}/career/profile`)).json();
expect((await page.request.put(`${api}/career/profile`, { headers: owner.headers,
data: { expectedVersion: initialProfile.revision, profile } })).status()).toBe(200);
const savedProfile = (await (await page.request.get(`${api}/career/profile`)).json()).profile;
const savedResponse = await (await page.request.get(`${api}/career/profile`)).json();
const savedProfile = savedResponse.profile;
expect(savedProfile.jobs).toHaveLength(8);
expect(savedProfile.jobs.map((job: { start: string; end: string; bullets: string[] }) => ({ start: job.start, end: job.end, bullets: job.bullets })))
.toEqual(profile.jobs.map(job => ({ start: job.start, end: job.end, bullets: job.bullets })));
@@ -62,10 +63,11 @@ test('P9-REQUAL-01 real MariaDB: 15 minutes, 250 applications, two paced readers
expect(cv.status()).toBe(200);
const cvId = (await cv.json()).id;
const before = await snapshot(owner.id);
evidence.before = before;
assertMembership(before.ids, ids);
expect(before.ownerCount).toBe(250); expect(before.deletedCount).toBe(0);
expect(JSON.parse(before.profile)).toEqual(savedProfile);
evidence.before = before;
expect(before.revision).toBe(savedResponse.revision);
expect(JSON.parse(before.profile)).toEqual(persistedCareerProfile(savedProfile));
await Promise.all(readers.map(reader => login(reader, email)));
await page.addInitScript(() => localStorage.setItem('uiLanguage', 'en'));
await context.route('**/*', route => {