summary refs log tree commit diff
diff options
context:
space:
mode:
authorHayden Young <hi@hbjy.dev>2021-10-15 11:05:51 +0000
committerGitHub <noreply@github.com>2021-10-15 11:05:51 +0000
commit125f91632f0607903596fff3aeaf67d3df593ec7 (patch)
tree021f8843b2e3490f203429fa0bd1d98f0278ed17
parentchore(merge): remote -> local (diff)
downloadserver-125f91632f0607903596fff3aeaf67d3df593ec7.tar.xz
feat: add tests to gateway routes, split into own routers
-rw-r--r--api/src/routes/gateway/bot.ts (renamed from api/src/routes/gateway.ts)26
-rw-r--r--api/src/routes/gateway/index.ts24
2 files changed, 44 insertions, 6 deletions
diff --git a/api/src/routes/gateway.ts b/api/src/routes/gateway/bot.ts
index 4b3a0ea6..3a038276 100644
--- a/api/src/routes/gateway.ts
+++ b/api/src/routes/gateway/bot.ts
@@ -1,15 +1,29 @@
 import { Config } from "@fosscord/util";
 import { Router, Response, Request } from "express";
-import { route } from "@fosscord/api";
+import { route, RouteOptions } from "@fosscord/api";
 
 const router = Router();
 
-router.get("/", route({}), (req: Request, res: Response) => {
-	const { endpointPublic } = Config.get().gateway;
-	res.json({ url: endpointPublic || process.env.GATEWAY || "ws://localhost:3002" });
-});
+export interface GatewayBotResponse {
+	url: string;
+	shards: number;
+	session_start_limit: {
+		total: number;
+		remaining: number;
+		reset_after: number;
+		max_concurrency: number;
+	}
+}
+
+const options: RouteOptions = {
+	test: {
+		response: {
+			body: "GatewayBotResponse"
+		}
+	}
+};
 
-router.get("/bot", route({}), (req: Request, res: Response) => {
+router.get("/bot", route(options), (req: Request, res: Response) => {
 	const { endpointPublic } = Config.get().gateway;
 	res.json({
 		url: endpointPublic || process.env.GATEWAY || "ws://localhost:3002",
diff --git a/api/src/routes/gateway/index.ts b/api/src/routes/gateway/index.ts
new file mode 100644
index 00000000..9bad7478
--- /dev/null
+++ b/api/src/routes/gateway/index.ts
@@ -0,0 +1,24 @@
+import { Config } from "@fosscord/util";
+import { Router, Response, Request } from "express";
+import { route, RouteOptions } from "@fosscord/api";
+
+const router = Router();
+
+export interface GatewayResponse {
+	url: string;
+}
+
+const options: RouteOptions = {
+	test: {
+		response: {
+			body: "GatewayResponse"
+		}
+	}
+};
+
+router.get("/", route(options), (req: Request, res: Response) => {
+	const { endpointPublic } = Config.get().gateway;
+	res.json({ url: endpointPublic || process.env.GATEWAY || "ws://localhost:3002" });
+});
+
+export default router;