feature: execute load()/unload() methods found in _pre.ts files

This commit is contained in:
Andy Burke 2025-08-11 17:12:55 -07:00
parent df8291bfc7
commit 046617bc4f
7 changed files with 116 additions and 62 deletions

View file

@ -562,10 +562,7 @@ Deno.test({
);
const get_response = await fetch(
`http://${test_server_info.hostname}:${test_server_info.port}/files/test_put_upload_that_should_not_fail.txt`,
{
method: 'GET'
}
`http://${test_server_info.hostname}:${test_server_info.port}/files/test_put_upload_that_should_not_fail.txt`
);
asserts.assert(get_response.ok);

View file

@ -0,0 +1,36 @@
import * as asserts from '@std/assert';
import { EPHEMERAL_SERVER, get_ephemeral_listen_server } from './helpers.ts';
Deno.test({
name: 'check that _preload.ts files work',
permissions: {
env: true,
read: true,
write: true,
net: true
},
fn: async () => {
let test_server_info: EPHEMERAL_SERVER | null = null;
const cwd = Deno.cwd();
try {
Deno.chdir('./tests/www');
test_server_info = await get_ephemeral_listen_server();
const preloader_env_setting = Deno.env.get('SERVERUS_PRELOADED_TEST');
asserts.assertEquals(preloader_env_setting, 'true');
await test_server_info.server.stop();
const preloader_env_setting_after_unload = Deno.env.get('SERVERUS_PRELOADED_TEST');
asserts.assertEquals(preloader_env_setting_after_unload, undefined);
test_server_info = null;
} finally {
Deno.chdir(cwd);
if (test_server_info) {
await test_server_info?.server?.stop();
}
}
}
});

7
tests/www/_pre.ts Normal file
View file

@ -0,0 +1,7 @@
export function load() {
Deno.env.set('SERVERUS_PRELOADED_TEST', 'true');
}
export function unload() {
Deno.env.delete('SERVERUS_PRELOADED_TEST');
}