Files
ECC/docker/context-profiles/complex-eval/cases/sentinel-api/files/test/api.test.js
T

29 lines
943 B
JavaScript

'use strict';
const test = require('node:test');
const assert = require('node:assert/strict');
const { createApp } = require('../src/app');
function listen(server) {
return new Promise((resolve, reject) => {
server.once('error', reject);
server.listen(0, '127.0.0.1', () => resolve(server.address().port));
});
}
test('create and read back a paste', async () => {
const server = createApp();
const port = await listen(server);
try {
const created = await fetch(`http://127.0.0.1:${port}/pastes`, {
method: 'POST', headers: { 'content-type': 'application/json' },
body: JSON.stringify({ content: 'hello paste' }) });
assert.equal(created.status, 201);
const { id } = await created.json();
const read = await fetch(`http://127.0.0.1:${port}/pastes/${id}`);
assert.equal(read.status, 200);
assert.equal((await read.json()).content, 'hello paste');
} finally {
server.close();
}
});