import { expect, test } from '@playwright/test'; import { validate, NIL } from 'uuid'; import { requestIdHeader } from '$lib'; test('response contains request-id header', async ({ playwright }) => { const context = await playwright.request.newContext(); const response = await context.get('health'); const headers = response.headers(); await expect(headers).toHaveProperty(requestIdHeader); }); test('request-id is valid uuid', async ({ playwright }) => { const context = await playwright.request.newContext(); const response = await context.get('health'); const headers = response.headers(); const requestId = headers[requestIdHeader]; await expect(validate(requestId)).toBe(true); }); test('reuse valid incoming uuid', async ({ playwright }) => { const context = await playwright.request.newContext(); const response = await context.get('health', { headers: { [requestIdHeader]: NIL } }); const headers = response.headers(); const requestId = headers[requestIdHeader]; await expect(requestId).toBe(NIL); }); test('ignore invalid incoming uuid', async ({ playwright }) => { const invalid = '00000000-0000-0000-0000-00000000000z'; const context = await playwright.request.newContext(); const response = await context.get('health', { headers: { [requestIdHeader]: invalid } }); const headers = response.headers(); const requestId = headers[requestIdHeader]; await expect(requestId).not.toBe(invalid); });