Integration tests for API #53
13
tests/health.test.ts
Normal file
13
tests/health.test.ts
Normal file
@ -0,0 +1,13 @@
|
||||
import { expect, test } from '@playwright/test';
|
||||
|
||||
test('healthy test', async ({ playwright }) => {
|
||||
const context = await playwright.request.newContext();
|
||||
const response = await context.get('health');
|
||||
await expect(response.status()).toBe(200);
|
||||
await expect(response.headers()).toHaveProperty('healthy');
|
||||
await expect(response.headers()['healthy']).toBe('true');
|
||||
|
||||
const body = await response.json();
|
||||
await expect(body).toHaveProperty('status');
|
||||
await expect(body['status']).toBe('OK');
|
||||
});
|
37
tests/requestid.test.ts
Normal file
37
tests/requestid.test.ts
Normal file
@ -0,0 +1,37 @@
|
||||
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);
|
||||
});
|
Reference in New Issue
Block a user