From 2ac77d22afac4d7bf0e235c934a41a9859a2cf42 Mon Sep 17 00:00:00 2001 From: zkldi Date: Fri, 25 Jun 2021 21:57:55 +0100 Subject: [PATCH] remove parallel testing... --- server/.github/workflows/tests.yml | 4 +- server/package.json | 1 - server/src/external/mongo/db.ts | 7 +- server/src/server/middleware/multer-upload.ts | 7 ++ .../api/v1/users/_userID/banner/router.ts | 2 +- .../api/v1/users/_userID/pfp/router.test.ts | 78 ++++++++++++++++++ .../router/api/v1/users/_userID/pfp/router.ts | 10 ++- server/src/test-utils/mock-db/api-tokens.json | 3 +- server/src/test-utils/mock-db/users.json | 4 +- server/src/test-utils/resets.ts | 4 +- .../src/test-utils/test-data/images/acorn.png | Bin 0 -> 64592 bytes 11 files changed, 102 insertions(+), 18 deletions(-) create mode 100644 server/src/server/router/api/v1/users/_userID/pfp/router.test.ts create mode 100644 server/src/test-utils/test-data/images/acorn.png diff --git a/server/.github/workflows/tests.yml b/server/.github/workflows/tests.yml index b3720732f..dd2d06f13 100644 --- a/server/.github/workflows/tests.yml +++ b/server/.github/workflows/tests.yml @@ -41,8 +41,8 @@ jobs: - name: Lint Code run: pnpm lint - - name: Run Tests In Parallel - run: pnpm paralleltest + - name: Run Tests + run: pnpm fulltest - name: Upload Coverage if: always() diff --git a/server/package.json b/server/package.json index c75d99358..e2f81fb2a 100644 --- a/server/package.json +++ b/server/package.json @@ -5,7 +5,6 @@ "main": "js/index.js", "scripts": { "fulltest": "tap", - "paralleltest": "export TACHI_PARALLEL_TESTS=true && tap -J", "watchtest": "tap --watch", "build": "tsc --project tsconfig.build.json", "lint": "eslint ./src --ext .ts --fix", diff --git a/server/src/external/mongo/db.ts b/server/src/external/mongo/db.ts index 1c29db6ab..106782651 100644 --- a/server/src/external/mongo/db.ts +++ b/server/src/external/mongo/db.ts @@ -28,7 +28,6 @@ import monk, { TMiddleware } from "monk"; import { MONGO_CONNECTION_URL, MONGO_DATABASE_NAME } from "../../lib/setup/config"; import CreateLogCtx from "../../lib/logger/logger"; import { OrphanScoreDocument } from "../../lib/score-import/import-types/common/types"; -import * as util from "util"; const logger = CreateLogCtx(__filename); @@ -36,11 +35,7 @@ let dbName = MONGO_DATABASE_NAME; /* istanbul ignore next */ if (process.env.NODE_ENV === "test") { - if (process.env.TACHI_PARALLEL_TESTS) { - dbName = `test-ephemeral-${process.pid}`; - } else { - dbName = `testingdb`; - } + dbName = `testingdb`; } let dbtime: [number, number] = [0, 0]; diff --git a/server/src/server/middleware/multer-upload.ts b/server/src/server/middleware/multer-upload.ts index 13fb4adab..f60778e10 100644 --- a/server/src/server/middleware/multer-upload.ts +++ b/server/src/server/middleware/multer-upload.ts @@ -36,6 +36,13 @@ export const CreateMulterSingleUploadMiddleware = ( }); } + if (!req.file) { + return res.status(400).json({ + success: false, + description: `Expected a file for field ${fieldName}.`, + }); + } + return next(); }); }; diff --git a/server/src/server/router/api/v1/users/_userID/banner/router.ts b/server/src/server/router/api/v1/users/_userID/banner/router.ts index 22ce16178..218aa30e5 100644 --- a/server/src/server/router/api/v1/users/_userID/banner/router.ts +++ b/server/src/server/router/api/v1/users/_userID/banner/router.ts @@ -80,7 +80,7 @@ router.get("/", async (req, res) => { if (!user.customBanner) { res.setHeader("Content-Type", "image/png"); - const buf = await CDNRetrieve("/users/defaults/banner.png"); + const buf = await CDNRetrieve("/users/default/banner.png"); return res.send(buf); } diff --git a/server/src/server/router/api/v1/users/_userID/pfp/router.test.ts b/server/src/server/router/api/v1/users/_userID/pfp/router.test.ts new file mode 100644 index 000000000..15b77fb3f --- /dev/null +++ b/server/src/server/router/api/v1/users/_userID/pfp/router.test.ts @@ -0,0 +1,78 @@ +import t from "tap"; +import db from "../../../../../../../external/mongo/db"; +import { CDNStoreOrOverwrite } from "../../../../../../../lib/cdn/cdn"; +import { GetProfilePictureURL } from "../../../../../../../lib/cdn/url-format"; +import { CloseAllConnections } from "../../../../../../../test-utils/close-connections"; +import mockApi from "../../../../../../../test-utils/mock-api"; +import ResetDBState from "../../../../../../../test-utils/resets"; +import fs from "fs"; +import { GetKTDataBuffer } from "../../../../../../../test-utils/test-data"; + +t.test("GET /api/v1/users/:userID/pfp", (t) => { + t.beforeEach(ResetDBState); + + t.test("Should return the default profile picture if user has no custom pfp", async (t) => { + await CDNStoreOrOverwrite("/users/default/pfp.png", "test"); + const res = await mockApi.get("/api/v1/users/1/pfp"); + + t.equal(res.body.toString(), "test"); + + t.end(); + }); + + t.test("Should return a custom profile picture if one is set", async (t) => { + await CDNStoreOrOverwrite(GetProfilePictureURL(1), "foo"); + await db.users.update({ id: 1 }, { $set: { customPfp: true } }); + const res = await mockApi.get("/api/v1/users/1/pfp"); + + t.equal(res.body.toString(), "foo"); + + t.end(); + }); + + t.end(); +}); + +t.test("PUT /api/v1/users/:userID/pfp", (t) => { + t.beforeEach(ResetDBState); + + t.test("Should set a profile picture if user has no custom pfp", async (t) => { + const img = GetKTDataBuffer("/images/acorn.png"); + + const res = await mockApi + .put("/api/v1/users/1/pfp") + .set("Authorization", "Bearer fake_api_token") + .attach("pfp", img, "file.jpg"); + + t.equal(res.statusCode, 200); + + const get = await mockApi.get(res.body.body.get); + + t.strictSame(img, get.body, "Profile picture should be stored."); + + t.end(); + }); + + t.test("Should set a profile picture if user has custom pfp", async (t) => { + await db.users.update({ id: 1 }, { $set: { customPfp: true } }); + + const img = GetKTDataBuffer("/images/acorn.png"); + + const res = await mockApi + .put("/api/v1/users/1/pfp") + .set("Authorization", "Bearer fake_api_token") + .attach("pfp", img, "file.jpg"); + + t.equal(res.statusCode, 200); + + const get = await mockApi.get(res.body.body.get); + + t.strictSame(img, get.body, "Profile picture should be stored."); + + t.end(); + }); + + t.end(); +}); + +t.teardown(CloseAllConnections); diff --git a/server/src/server/router/api/v1/users/_userID/pfp/router.ts b/server/src/server/router/api/v1/users/_userID/pfp/router.ts index a8079987e..2c299a161 100644 --- a/server/src/server/router/api/v1/users/_userID/pfp/router.ts +++ b/server/src/server/router/api/v1/users/_userID/pfp/router.ts @@ -29,9 +29,11 @@ router.put( async (req, res) => { const user = req[SYMBOL_TachiData]!.requestedUser!; + let updatePfp = false; + if (!user.customPfp) { logger.verbose(`User ${FormatUserDoc(user)} set a custom profile picture.`); - await db.users.update({ id: user.id }, { $set: { customPfp: true } }); + updatePfp = true; } else { logger.verbose(`User ${FormatUserDoc(user)} updated their profile picture.`); } @@ -57,6 +59,10 @@ router.put( }); } + if (updatePfp) { + await db.users.update({ id: user.id }, { $set: { customPfp: true } }); + } + return res.status(200).json({ success: true, description: `Stored profile picture.`, @@ -78,7 +84,7 @@ router.get("/", async (req, res) => { if (!user.customPfp) { res.setHeader("Content-Type", "image/png"); - const buf = await CDNRetrieve("/users/defaults/pfp.png"); + const buf = await CDNRetrieve("/users/default/pfp.png"); return res.send(buf); } diff --git a/server/src/test-utils/mock-db/api-tokens.json b/server/src/test-utils/mock-db/api-tokens.json index 769b6da56..9a7cfb7b9 100644 --- a/server/src/test-utils/mock-db/api-tokens.json +++ b/server/src/test-utils/mock-db/api-tokens.json @@ -3,7 +3,8 @@ "userID": 1, "token": "fake_api_token", "permissions": { - "submit_score": true + "submit_score": true, + "customise_profile": true }, "identifier": "Mock Token For Testing" } diff --git a/server/src/test-utils/mock-db/users.json b/server/src/test-utils/mock-db/users.json index 68a3ac27b..f1de2ec4a 100644 --- a/server/src/test-utils/mock-db/users.json +++ b/server/src/test-utils/mock-db/users.json @@ -8,8 +8,8 @@ "socialMedia": {}, "lastSeen": null, "about": "test_user_not_real", - "customPfp": true, - "customBanner": true, + "customPfp": false, + "customBanner": false, "clan": null } ] \ No newline at end of file diff --git a/server/src/test-utils/resets.ts b/server/src/test-utils/resets.ts index d96e14dda..574961f53 100644 --- a/server/src/test-utils/resets.ts +++ b/server/src/test-utils/resets.ts @@ -87,9 +87,7 @@ export function ResetCDN() { } export async function SetIndexesForDB() { - const url = `${MONGO_CONNECTION_URL}/${ - process.env.TACHI_PARALLEL_TESTS ? `test-ephemeral-${process.pid.toString()}` : "testingdb" - }`; + const url = `${MONGO_CONNECTION_URL}/testingdb`; logger.info(`Setting indexes for ${url}`); diff --git a/server/src/test-utils/test-data/images/acorn.png b/server/src/test-utils/test-data/images/acorn.png new file mode 100644 index 0000000000000000000000000000000000000000..f2e3bdbe2c80d39fd226a2b762bb9b558b6ed704 GIT binary patch literal 64592 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%0D!L*fXAY^s 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 literal 0 HcmV?d00001