summary refs log tree commit diff
diff options
context:
space:
mode:
authorFlam3rboy <34555296+Flam3rboy@users.noreply.github.com>2021-09-02 00:14:34 +0200
committerFlam3rboy <34555296+Flam3rboy@users.noreply.github.com>2021-09-02 00:14:34 +0200
commit7972f698c566f16e8dea5282f231e409e2f3f397 (patch)
treed0e3cbad579efc4a05a8e4509f7a79b9dbc57364
parent:arrow_up: update dependencies (diff)
parentadded /login unittest (diff)
downloadserver-7972f698c566f16e8dea5282f231e409e2f3f397.tar.xz
Merge branch 'master' of https://github.com/fosscord/fosscord-api
-rw-r--r--api/package.json6
-rw-r--r--api/scripts/globalSetup.js (renamed from api/scripts/setup_test.js)7
-rw-r--r--api/tests/routes/auth/login.test.js33
-rw-r--r--api/tests/routes/auth/login.test.js.disabled2
-rw-r--r--api/tests/routes/auth/register.test.js4
-rw-r--r--cdn/package-lock.json42
-rw-r--r--util/src/util/Database.ts2
7 files changed, 69 insertions, 27 deletions
diff --git a/api/package.json b/api/package.json
index dca56b1b..bff625b2 100644
--- a/api/package.json
+++ b/api/package.json
@@ -5,7 +5,7 @@
 	"main": "dist/Server.js",
 	"types": "dist/Server.d.ts",
 	"scripts": {
-		"test": "npm run build && jest --coverage --verbose ./tests",
+		"test": "npm run build && jest --coverage --verbose --forceExit ./tests",
 		"test:watch": "jest --watch",
 		"start": "npm run build && node dist/start",
 		"build": "npx tsc -b .",
@@ -90,9 +90,9 @@
 	},
 	"jest": {
 		"setupFiles": [
-			"<rootDir>/jest/setup.js",
-			"<rootDir>/scripts/setup_test.js"
+			"<rootDir>/jest/setup.js"
 		],
+		"globalSetup": "<rootDir>/scripts/globalSetup.js",
 		"verbose": true
 	}
 }
diff --git a/api/scripts/setup_test.js b/api/scripts/globalSetup.js
index 95bf2e40..76cd8e0d 100644
--- a/api/scripts/setup_test.js
+++ b/api/scripts/globalSetup.js
@@ -1,12 +1,13 @@
 const fs = require("fs");
 const { FosscordServer } = require("../dist/Server");
 const Server = new FosscordServer({ port: 3001 });
-(async () => {
+global.server = Server;
+module.exports = async () => {
 	try {
-		fs.unlinkSync(`${__dirname}/database.db`);
+		fs.unlinkSync(`${__dirname}/../database.db`);
 	} catch {}
 	return await Server.start();
-})();
+};
 
 // afterAll(async () => {
 // 	return await Server.stop();
diff --git a/api/tests/routes/auth/login.test.js b/api/tests/routes/auth/login.test.js
new file mode 100644
index 00000000..d4b52444
--- /dev/null
+++ b/api/tests/routes/auth/login.test.js
@@ -0,0 +1,33 @@
+const supertest = require("supertest");
+const request = supertest("http://localhost:3001");
+
+describe("/api/auth/login", () => {
+	describe("POST", () => {
+		test("without body", async () => {
+			const response = await request.post("/api/auth/login").send({});
+			expect(response.statusCode).toBe(400);
+		});
+		test("with body", async () => {
+			const user = {
+				login: "fortnitefortnite@gmail.com",
+				password: "verysecurepassword"
+			};
+
+			await request.post("/api/auth/register").send({
+				fingerprint: "805826570869932034.wR8vi8lGlFBJerErO9LG5NViJFw",
+				email: user.login,
+				username: user.login.split("@")[0],
+				password: user.password,
+				invite: null,
+				consent: true,
+				date_of_birth: "2000-04-04",
+				gift_code_sku_id: null,
+				captcha_key: null
+			});
+
+			const response = await request.post("/api/auth/login").send(user);
+
+			expect(response.statusCode).toBe(200);
+		});
+	});
+});
diff --git a/api/tests/routes/auth/login.test.js.disabled b/api/tests/routes/auth/login.test.js.disabled
deleted file mode 100644
index f677cebd..00000000
--- a/api/tests/routes/auth/login.test.js.disabled
+++ /dev/null
@@ -1,2 +0,0 @@
-const supertest = require("supertest");
-const request = supertest("http://localhost:1870");
diff --git a/api/tests/routes/auth/register.test.js b/api/tests/routes/auth/register.test.js
index f42f004a..5d7b4eaa 100644
--- a/api/tests/routes/auth/register.test.js
+++ b/api/tests/routes/auth/register.test.js
@@ -1,10 +1,11 @@
 const supertest = require("supertest");
 const request = supertest("http://localhost:3001");
 
-describe("/api/register", () => {
+describe("/api/auth/register", () => {
 	describe("POST", () => {
 		test("without body", async () => {
 			const response = await request.post("/api/auth/register").send({});
+
 			expect(response.statusCode).toBe(400);
 		});
 		test("with body", async () => {
@@ -19,6 +20,7 @@ describe("/api/register", () => {
 				gift_code_sku_id: null,
 				captcha_key: null
 			});
+
 			expect(response.statusCode).toBe(200);
 		});
 	});
diff --git a/cdn/package-lock.json b/cdn/package-lock.json
index 673395a5..a94f1409 100644
--- a/cdn/package-lock.json
+++ b/cdn/package-lock.json
@@ -53,26 +53,30 @@
 			"hasInstallScript": true,
 			"license": "GPLV3",
 			"dependencies": {
-				"ajv": "^8.5.0",
+				"ajv": "^8.6.2",
 				"amqplib": "^0.8.0",
+				"class-validator": "^0.13.1",
 				"dot-prop": "^6.0.1",
 				"env-paths": "^2.2.1",
 				"jsonwebtoken": "^8.5.1",
-				"missing-native-js-functions": "^1.2.10",
-				"mongodb": "^3.6.9",
-				"mongoose": "^5.13.7",
-				"mongoose-autopopulate": "^0.12.3",
+				"lambert-server": "^1.2.10",
+				"missing-native-js-functions": "^1.2.11",
 				"node-fetch": "^2.6.1",
-				"typescript": "^4.1.3"
+				"patch-package": "^6.4.7",
+				"pg": "^8.7.1",
+				"reflect-metadata": "^0.1.13",
+				"sqlite3": "^5.0.2",
+				"typeorm": "^0.2.37",
+				"typescript": "^4.4.2",
+				"typescript-json-schema": "^0.50.1"
 			},
 			"devDependencies": {
 				"@types/amqplib": "^0.8.1",
 				"@types/jsonwebtoken": "^8.5.0",
-				"@types/mongodb": "^3.6.9",
 				"@types/mongoose-autopopulate": "^0.10.1",
-				"@types/mongoose-lean-virtuals": "^0.5.1",
 				"@types/node": "^14.17.9",
-				"@types/node-fetch": "^2.5.12"
+				"@types/node-fetch": "^2.5.12",
+				"jest": "^27.0.6"
 			}
 		},
 		"node_modules/@babel/code-frame": {
@@ -5965,22 +5969,26 @@
 			"requires": {
 				"@types/amqplib": "^0.8.1",
 				"@types/jsonwebtoken": "^8.5.0",
-				"@types/mongodb": "^3.6.9",
 				"@types/mongoose-autopopulate": "^0.10.1",
-				"@types/mongoose-lean-virtuals": "^0.5.1",
 				"@types/node": "^14.17.9",
 				"@types/node-fetch": "^2.5.12",
-				"ajv": "^8.5.0",
+				"ajv": "^8.6.2",
 				"amqplib": "^0.8.0",
+				"class-validator": "^0.13.1",
 				"dot-prop": "^6.0.1",
 				"env-paths": "^2.2.1",
+				"jest": "^27.0.6",
 				"jsonwebtoken": "^8.5.1",
-				"missing-native-js-functions": "^1.2.10",
-				"mongodb": "^3.6.9",
-				"mongoose": "^5.13.7",
-				"mongoose-autopopulate": "^0.12.3",
+				"lambert-server": "^1.2.10",
+				"missing-native-js-functions": "^1.2.11",
 				"node-fetch": "^2.6.1",
-				"typescript": "^4.1.3"
+				"patch-package": "^6.4.7",
+				"pg": "^8.7.1",
+				"reflect-metadata": "^0.1.13",
+				"sqlite3": "^5.0.2",
+				"typeorm": "^0.2.37",
+				"typescript": "^4.4.2",
+				"typescript-json-schema": "^0.50.1"
 			}
 		},
 		"@istanbuljs/load-nyc-config": {
diff --git a/util/src/util/Database.ts b/util/src/util/Database.ts
index c22d8abd..d3844cd9 100644
--- a/util/src/util/Database.ts
+++ b/util/src/util/Database.ts
@@ -21,7 +21,7 @@ export function initDatabase() {
 		//
 		entities: Object.values(Models).filter((x) => x.constructor.name !== "Object"),
 		synchronize: true,
-		logging: true,
+		logging: false,
 		cache: {
 			duration: 1000 * 3, // cache all find queries for 3 seconds
 		},