aboutsummaryrefslogtreecommitdiffstats
path: root/packages/e2e_tests/setup
diff options
context:
space:
mode:
authorMohamed Bassem <me@mbassem.com>2025-04-16 23:49:44 +0000
committerMohamed Bassem <me@mbassem.com>2025-04-16 23:50:17 +0000
commitd732acd469ff02373dba4093cc53198e97f51868 (patch)
tree7c106816656d56c5fe5311168979caad854bba47 /packages/e2e_tests/setup
parent1d780485d731c077009fc76d5fa0e283f6f78d85 (diff)
downloadkarakeep-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.html12
-rw-r--r--packages/e2e_tests/setup/html/image.pngbin0 -> 3195946 bytes
-rw-r--r--packages/e2e_tests/setup/startContainers.ts23
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
new file mode 100644
index 00000000..b0dce115
--- /dev/null
+++ b/packages/e2e_tests/setup/html/image.png
Binary files differ
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) {