summary refs log tree commit diff
path: root/cdn/tests/cdn_endpoints.test.js
diff options
context:
space:
mode:
Diffstat (limited to 'cdn/tests/cdn_endpoints.test.js')
-rw-r--r--cdn/tests/cdn_endpoints.test.js238
1 files changed, 0 insertions, 238 deletions
diff --git a/cdn/tests/cdn_endpoints.test.js b/cdn/tests/cdn_endpoints.test.js
deleted file mode 100644
index 5a543e54..00000000
--- a/cdn/tests/cdn_endpoints.test.js
+++ /dev/null
@@ -1,238 +0,0 @@
-const dotenv = require("dotenv");
-const path = require("path");
-const fs = require("fs");
-dotenv.config();
-
-// TODO: write unittest to check if FileStorage.ts is working
-// TODO: write unitest to check if env vars are defined
-
-if (!process.env.STORAGE_PROVIDER) process.env.STORAGE_PROVIDER = "file";
-// TODO:nodejs path.join trailing slash windows compatible
-if (process.env.STORAGE_PROVIDER === "file") {
-	if (process.env.STORAGE_LOCATION) {
-		if (!process.env.STORAGE_LOCATION.startsWith("/")) {
-			process.env.STORAGE_LOCATION = path.join(
-				__dirname,
-				"..",
-				process.env.STORAGE_LOCATION,
-				"/"
-			);
-		}
-	} else {
-		process.env.STORAGE_LOCATION = path.join(__dirname, "..", "files", "/");
-	}
-	if(!fs.existsSync(process.env.STORAGE_LOCATION)) fs.mkdirSync(process.env.STORAGE_LOCATION, {recursive:true});
-}
-const { CDNServer } = require("../dist/Server");
-const { Config } = require("@fosscord/util");
-const supertest = require("supertest");
-const request = supertest("http://localhost:3003");
-const server = new CDNServer({ port: Number(process.env.PORT) || 3003 });
-
-beforeAll(async () => {
-	await server.start();
-	return server;
-});
-
-afterAll(() => {
-	return server.stop();
-});
-
-describe("/ping", () => {
-	describe("GET", () => {
-		describe("without signature specified", () => {
-			test("route should respond with 200", async () => {
-				let response = await request.get("/ping");
-				expect(response.text).toBe("pong");
-			});
-		});
-	});
-});
-
-describe("/attachments", () => {
-	describe("POST", () => {
-		describe("without signature specified", () => {
-			test("route should respond with 400", async () => {
-				const response = await request.post("/attachments/123456789");
-				expect(response.statusCode).toBe(400);
-			});
-		});
-		describe("with signature specified, without file specified", () => {
-			test("route should respond with 400", async () => {
-				const response = await request
-					.post("/attachments/123456789")
-					.set({ signature: Config.get().security.requestSignature });
-				expect(response.statusCode).toBe(400);
-			});
-		});
-		describe("with signature specified, with file specified ", () => {
-			test("route should respond with Content-type: application/json, 200 and res.body.url", async () => {
-				const response = await request
-					.post("/attachments/123456789")
-					.set({ signature: Config.get().security.requestSignature })
-					.attach("file", __dirname + "/antman.jpg");
-				expect(response.statusCode).toBe(200);
-				expect(response.headers["content-type"]).toEqual(
-					expect.stringContaining("json")
-				);
-				expect(response.body.url).toBeDefined();
-			});
-		});
-	});
-	describe("GET", () => {
-		describe("getting uploaded image by url returned by POST /attachments", () => {
-			test("route should respond with 200", async () => {
-				let response = await request
-					.post("/attachments/123456789")
-					.set({ signature: Config.get().security.requestSignature })
-					.attach("file", __dirname + "/antman.jpg");
-				request
-					.get(response.body.url.replace("http://localhost:3003", ""))
-					.then((x) => {
-						expect(x.statusCode).toBe(200);
-					});
-			});
-		});
-	});
-	describe("DELETE", () => {
-		describe("deleting uploaded image by url returned by POST /attachments", () => {
-			test("route should respond with res.body.success", async () => {
-				let response = await request
-					.post("/attachments/123456789")
-					.set({ signature: Config.get().security.requestSignature })
-					.attach("file", __dirname + "/antman.jpg");
-				request
-					.delete(
-						response.body.url.replace("http://localhost:3003", "")
-					)
-					.then((x) => {
-						expect(x.body.success).toBeDefined();
-					});
-			});
-		});
-	});
-});
-
-describe("/avatars", () => {
-	describe("POST", () => {
-		describe("without signature specified", () => {
-			test("route should respond with 400", async () => {
-				const response = await request.post("/avatars/123456789");
-				expect(response.statusCode).toBe(400);
-			});
-		});
-		describe("with signature specified, without file specified", () => {
-			test("route should respond with 400", async () => {
-				const response = await request
-					.post("/avatars/123456789")
-					.set({ signature: Config.get().security.requestSignature });
-				expect(response.statusCode).toBe(400);
-			});
-		});
-		describe("with signature specified, with file specified ", () => {
-			test("route should respond with Content-type: application/json, 200 and res.body.url", async () => {
-				const response = await request
-					.post("/avatars/123456789")
-					.set({ signature: Config.get().security.requestSignature })
-					.attach("file", __dirname + "/antman.jpg");
-				expect(response.statusCode).toBe(200);
-				expect(response.headers["content-type"]).toEqual(
-					expect.stringContaining("json")
-				);
-				expect(response.body.url).toBeDefined();
-			});
-		});
-	});
-	describe("GET", () => {
-		describe("getting uploaded image by url returned by POST /avatars", () => {
-			test("route should respond with 200", async () => {
-				let response = await request
-					.post("/avatars/123456789")
-					.set({ signature: Config.get().security.requestSignature })
-					.attach("file", __dirname + "/antman.jpg");
-				request
-					.get(response.body.url.replace("http://localhost:3003", ""))
-					.then((x) => {
-						expect(x.statusCode).toBe(200);
-					});
-			});
-		});
-	});
-	describe("DELETE", () => {
-		describe("deleting uploaded image by url returned by POST /avatars", () => {
-			test("route should respond with res.body.success", async () => {
-				let response = await request
-					.post("/avatars/123456789")
-					.set({ signature: Config.get().security.requestSignature })
-					.attach("file", __dirname + "/antman.jpg");
-				request
-					.delete(
-						response.body.url.replace("http://localhost:3003", "")
-					)
-					.then((x) => {
-						expect(x.body.success).toBeDefined();
-					});
-			});
-		});
-	});
-});
-
-describe("/external", () => {
-	describe("POST", () => {
-		describe("without signature specified", () => {
-			test("route should respond with 400", async () => {
-				const response = await request.post("/external");
-				expect(response.statusCode).toBe(400);
-			});
-		});
-		describe("with signature specified, without file specified", () => {
-			test("route should respond with 400", async () => {
-				const response = await request
-					.post("/external")
-					.set({ signature: Config.get().security.requestSignature });
-				expect(response.statusCode).toBe(400);
-			});
-		});
-		describe("with signature specified, with file specified ", () => {
-			test("route should respond with Content-type: application/json, 200 and res.body.url", async () => {
-				const response = await request
-					.post("/external")
-					.set({ signature: Config.get().security.requestSignature })
-					.send({
-						url: "https://i.ytimg.com/vi_webp/TiXzhQr5AUc/mqdefault.webp",
-					});
-				expect(response.statusCode).toBe(200);
-				expect(response.headers["content-type"]).toEqual(
-					expect.stringContaining("json")
-				);
-				expect(response.body.id).toBeDefined();
-			});
-		});
-		describe("with signature specified, with falsy url specified ", () => {
-			test("route should respond with 400", async () => {
-				const response = await request
-					.post("/external")
-					.set({ signature: Config.get().security.requestSignature })
-					.send({
-						url: "notavalidurl.123",
-					});
-				expect(response.statusCode).toBe(400);
-			});
-		});
-	});
-	describe("GET", () => {
-		describe("getting uploaded image by url returned by POST /avatars", () => {
-			test("route should respond with 200", async () => {
-				let response = await request
-					.post("/external")
-					.set({ signature: Config.get().security.requestSignature })
-					.send({
-						url: "https://i.ytimg.com/vi_webp/TiXzhQr5AUc/mqdefault.webp",
-					});
-				request.get(`external/${response.body.id}`).then((x) => {
-					expect(x.statusCode).toBe(200);
-				});
-			});
-		});
-	});
-});