Skip to content

Commit 8439344

Browse files
authored
Merge pull request #844 from AikidoSec/e2e-test-server-ts
Convert e2e test mock server to Typescript
2 parents 3b6008d + 90d1f25 commit 8439344

24 files changed

+1212
-233
lines changed

end2end/server/.dockerignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
node_modules/

end2end/server/Dockerfile

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
1-
FROM node:22-slim
1+
FROM node:24-slim
22

3+
USER node
34
WORKDIR /app
45

5-
COPY package.json /app
6+
COPY --chown=node:node package.json package-lock.json ./
7+
RUN npm ci --ignore-scripts
68

7-
RUN npm install
9+
COPY --chown=node:node . ./
10+
RUN node --run check:types
811

9-
COPY . /app
10-
11-
CMD ["node" , "/app/app.js"]
12+
CMD ["node" , "app.ts"]

end2end/server/app.js

Lines changed: 0 additions & 35 deletions
This file was deleted.

end2end/server/app.ts

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
// This is an insecure mock server for testing purposes
2+
3+
import express from "express";
4+
import { getConfig } from "./src/handlers/getConfig.ts";
5+
import { captureEvent } from "./src/handlers/captureEvent.ts";
6+
import { listEvents } from "./src/handlers/listEvents.ts";
7+
import { createApp } from "./src/handlers/createApp.ts";
8+
import { checkToken } from "./src/middleware/checkToken.ts";
9+
import { updateConfig } from "./src/handlers/updateConfig.ts";
10+
import { lists } from "./src/handlers/lists.ts";
11+
import { updateIPLists } from "./src/handlers/updateLists.ts";
12+
import { realtimeConfig } from "./src/handlers/realtimeConfig.ts";
13+
14+
const app = express();
15+
app.set("trust proxy", false);
16+
app.set("x-powered-by", false);
17+
18+
const port = process.env.PORT || 3000;
19+
20+
app.use(express.json());
21+
22+
app.get("/api/runtime/config", checkToken, getConfig);
23+
app.post("/api/runtime/config", checkToken, updateConfig);
24+
25+
// Realtime polling endpoint
26+
app.get("/config", checkToken, realtimeConfig);
27+
28+
app.get("/api/runtime/events", checkToken, listEvents);
29+
app.post("/api/runtime/events", checkToken, captureEvent);
30+
31+
app.get("/api/runtime/firewall/lists", checkToken, lists);
32+
app.post("/api/runtime/firewall/lists", checkToken, updateIPLists);
33+
34+
app.post("/api/runtime/apps", createApp);
35+
36+
app.listen(port, () => {
37+
console.log(`Server is running on port ${port}`);
38+
});

0 commit comments

Comments
 (0)