diff options
| author | Mohamed Bassem <me@mbassem.com> | 2025-04-16 23:49:44 +0000 |
|---|---|---|
| committer | Mohamed Bassem <me@mbassem.com> | 2025-04-16 23:50:17 +0000 |
| commit | d732acd469ff02373dba4093cc53198e97f51868 (patch) | |
| tree | 7c106816656d56c5fe5311168979caad854bba47 /packages/e2e_tests/setup | |
| parent | 1d780485d731c077009fc76d5fa0e283f6f78d85 (diff) | |
| download | karakeep-d732acd469ff02373dba4093cc53198e97f51868.tar.zst | |
tests: Add some simple crawler tests
Diffstat (limited to 'packages/e2e_tests/setup')
| -rw-r--r-- | packages/e2e_tests/setup/html/hello.html | 12 | ||||
| -rw-r--r-- | packages/e2e_tests/setup/html/image.png | bin | 0 -> 3195946 bytes | |||
| -rw-r--r-- | packages/e2e_tests/setup/startContainers.ts | 23 |
3 files changed, 21 insertions, 14 deletions
diff --git a/packages/e2e_tests/setup/html/hello.html b/packages/e2e_tests/setup/html/hello.html new file mode 100644 index 00000000..da551251 --- /dev/null +++ b/packages/e2e_tests/setup/html/hello.html @@ -0,0 +1,12 @@ +<!doctype html> +<html lang="en"> + <head> + <meta charset="UTF-8" /> + <meta http-equiv="X-UA-Compatible" content="IE=edge" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + <title>My test title</title> + </head> + <body> + <h1>Hello World</h1> + </body> +</html> diff --git a/packages/e2e_tests/setup/html/image.png b/packages/e2e_tests/setup/html/image.png Binary files differnew file mode 100644 index 00000000..b0dce115 --- /dev/null +++ b/packages/e2e_tests/setup/html/image.png diff --git a/packages/e2e_tests/setup/startContainers.ts b/packages/e2e_tests/setup/startContainers.ts index 10b1b9d8..df07cc58 100644 --- a/packages/e2e_tests/setup/startContainers.ts +++ b/packages/e2e_tests/setup/startContainers.ts @@ -4,6 +4,8 @@ import path from "path"; import { fileURLToPath } from "url"; import type { GlobalSetupContext } from "vitest/node"; +import { waitUntil } from "../utils/general"; + async function getRandomPort(): Promise<number> { const server = net.createServer(); return new Promise<number>((resolve, reject) => { @@ -17,21 +19,14 @@ async function getRandomPort(): Promise<number> { } async function waitForHealthy(port: number, timeout = 60000): Promise<void> { - const startTime = Date.now(); - - while (Date.now() - startTime < timeout) { - try { + return waitUntil( + async () => { const response = await fetch(`http://localhost:${port}/api/health`); - if (response.status === 200) { - return; - } - } catch (error) { - // Ignore errors and retry - } - await new Promise((resolve) => setTimeout(resolve, 1000)); - } - - throw new Error(`Health check failed after ${timeout}ms`); + return response.status === 200; + }, + "Container are healthy", + timeout, + ); } export default async function ({ provide }: GlobalSetupContext) { |
