From 7d338f1945123674435fb7d8b0a7f91cbeb8dbf2 Mon Sep 17 00:00:00 2001 From: zkldi Date: Thu, 27 May 2021 14:36:51 +0100 Subject: [PATCH] rename /api/v1/ir to /ir --- server/package.json | 2 +- server/pnpm-lock.yaml | 8 ++-- .../server/router/ir/barbatos/router.test.ts | 11 ++---- .../router/ir/chunitachi/router.test.ts | 12 +++--- .../router/ir/direct-manual/router.test.ts | 8 ++-- .../server/router/ir/fervidex/router.test.ts | 20 +++++----- .../src/server/router/ir/usc/router.test.ts | 38 +++++++++---------- 7 files changed, 48 insertions(+), 51 deletions(-) diff --git a/server/package.json b/server/package.json index 853cfda25..8bc78e397 100644 --- a/server/package.json +++ b/server/package.json @@ -41,7 +41,7 @@ }, "dependencies": { "bcrypt": "^5.0.1", - "bee-queue": "^1.3.1", + "bee-queue": "^1.4.0", "commander": "^7.2.0", "connect-redis": "^5.2.0", "csv-parse": "^4.15.4", diff --git a/server/pnpm-lock.yaml b/server/pnpm-lock.yaml index 378b7ddb5..8a9a33e3c 100644 --- a/server/pnpm-lock.yaml +++ b/server/pnpm-lock.yaml @@ -15,7 +15,7 @@ specifiers: '@typescript-eslint/eslint-plugin': ^4.22.0 '@typescript-eslint/parser': ^4.22.0 bcrypt: ^5.0.1 - bee-queue: ^1.3.1 + bee-queue: ^1.4.0 commander: ^7.2.0 connect-redis: ^5.2.0 csv-parse: ^4.15.4 @@ -50,7 +50,7 @@ specifiers: dependencies: bcrypt: 5.0.1 - bee-queue: 1.3.1 + bee-queue: 1.4.0 commander: 7.2.0 connect-redis: 5.2.0 csv-parse: 4.15.4 @@ -921,8 +921,8 @@ packages: - supports-color dev: false - /bee-queue/1.3.1: - resolution: {integrity: sha512-oF4NdjYy9wj9H8D7oLMGoo+eQZMKX4Pfu/EPkxQLleCIjdG4Yt46RxC4Dy8wWXKez/y9UVx4O8h95WfG60F9sQ==} + /bee-queue/1.4.0: + resolution: {integrity: sha512-sAXVUcXe4LIKkVrMN18CrudWbq5atC9VLeBjy1BkODAupXf/MVGfGfxdiv8Uit8JIkztnLU0jQFRQtB1uKuHow==} engines: {node: '>= 4'} dependencies: p-finally: 1.0.0 diff --git a/server/src/server/router/ir/barbatos/router.test.ts b/server/src/server/router/ir/barbatos/router.test.ts index b6b35df47..2827d86b4 100644 --- a/server/src/server/router/ir/barbatos/router.test.ts +++ b/server/src/server/router/ir/barbatos/router.test.ts @@ -7,17 +7,17 @@ import mockApi from "../../../../test-utils/mock-api"; import { TestingBarbatosScore } from "../../../../test-utils/test-data"; import db from "../../../../external/mongo/db"; -t.test("POST /api/v1/ir/barbatos/score/submit", async (t) => { +t.test("POST /ir/barbatos/score/submit", async (t) => { const cookie = await CreateFakeAuthCookie(mockApi); t.beforeEach(ResetDBState); // @TODO NEEDS TO USE PROPER AUTHENTICATION!!! - RequireNeutralAuthentication("/api/v1/ir/barbatos/score/submit", "POST"); + RequireNeutralAuthentication("/ir/barbatos/score/submit", "POST"); t.test("Should import a valid score", async (t) => { const res = await mockApi - .post("/api/v1/ir/barbatos/score/submit") + .post("/ir/barbatos/score/submit") .set("Cookie", cookie) .send(TestingBarbatosScore); @@ -35,10 +35,7 @@ t.test("POST /api/v1/ir/barbatos/score/submit", async (t) => { }); t.test("Should reject an invalid body", async (t) => { - const res = await mockApi - .post("/api/v1/ir/barbatos/score/submit") - .set("Cookie", cookie) - .send({}); + const res = await mockApi.post("/ir/barbatos/score/submit").set("Cookie", cookie).send({}); t.equal(res.body.success, false, "Should not be successful."); t.equal(res.status, 400, "Should return 400."); diff --git a/server/src/server/router/ir/chunitachi/router.test.ts b/server/src/server/router/ir/chunitachi/router.test.ts index f7588185e..9da4ca3f4 100644 --- a/server/src/server/router/ir/chunitachi/router.test.ts +++ b/server/src/server/router/ir/chunitachi/router.test.ts @@ -8,18 +8,18 @@ import ResetDBState from "../../../../test-utils/reset-db-state"; import { GetKTDataJSON } from "../../../../test-utils/test-data"; import deepmerge from "deepmerge"; -t.test("POST /api/v1/ir/chunitachi/import", async (t) => { +t.test("POST /ir/chunitachi/import", async (t) => { t.beforeEach(ResetDBState); const cookie = await CreateFakeAuthCookie(mockApi); - RequireNeutralAuthentication("/api/v1/ir/chunitachi/import", "POST"); + RequireNeutralAuthentication("/ir/chunitachi/import", "POST"); const chunitachiBody = GetKTDataJSON("./batch-manual/chunitachi.json"); t.test("Should work for CHUNITACHI requests", async (t) => { const res = await mockApi - .post("/api/v1/ir/chunitachi/import") + .post("/ir/chunitachi/import") .set("Cookie", cookie) .send(chunitachiBody); @@ -36,7 +36,7 @@ t.test("POST /api/v1/ir/chunitachi/import", async (t) => { t.test("Should reject invalid batch-manual", async (t) => { const res = await mockApi - .post("/api/v1/ir/chunitachi/import") + .post("/ir/chunitachi/import") .set("Cookie", cookie) .send({}); @@ -47,7 +47,7 @@ t.test("POST /api/v1/ir/chunitachi/import", async (t) => { t.test("Should reject batch-manual requests if game is not chunithm", async (t) => { const res = await mockApi - .post("/api/v1/ir/chunitachi/import") + .post("/ir/chunitachi/import") .set("Cookie", cookie) .send(deepmerge(chunitachiBody, { head: { game: "iidx" } })); @@ -58,7 +58,7 @@ t.test("POST /api/v1/ir/chunitachi/import", async (t) => { t.test("Should reject batch-manual requests if service is not Chunitachi", async (t) => { const res = await mockApi - .post("/api/v1/ir/chunitachi/import") + .post("/ir/chunitachi/import") .set("Cookie", cookie) .send(deepmerge(chunitachiBody, { head: { service: "foo bar" } })); diff --git a/server/src/server/router/ir/direct-manual/router.test.ts b/server/src/server/router/ir/direct-manual/router.test.ts index 67892be62..60b39fd3e 100644 --- a/server/src/server/router/ir/direct-manual/router.test.ts +++ b/server/src/server/router/ir/direct-manual/router.test.ts @@ -7,16 +7,16 @@ import mockApi from "../../../../test-utils/mock-api"; import ResetDBState from "../../../../test-utils/reset-db-state"; import { GetKTDataJSON } from "../../../../test-utils/test-data"; -t.test("POST /api/v1/ir/direct-manual/import", async (t) => { +t.test("POST /ir/direct-manual/import", async (t) => { const cookie = await CreateFakeAuthCookie(mockApi); t.beforeEach(ResetDBState); - RequireNeutralAuthentication("/api/v1/ir/direct-manual/import", "POST"); + RequireNeutralAuthentication("/ir/direct-manual/import", "POST"); t.test("Should upload BATCH-MANUAL data from the request body.", async (t) => { const res = await mockApi - .post("/api/v1/ir/direct-manual/import") + .post("/ir/direct-manual/import") .set("Cookie", cookie) .send(GetKTDataJSON("./batch-manual/small-file.json")); @@ -33,7 +33,7 @@ t.test("POST /api/v1/ir/direct-manual/import", async (t) => { t.test("Should reject invalid BATCH-MANUAL data from the request body.", async (t) => { const res = await mockApi - .post("/api/v1/ir/direct-manual/import") + .post("/ir/direct-manual/import") .set("Cookie", cookie) .send({}); diff --git a/server/src/server/router/ir/fervidex/router.test.ts b/server/src/server/router/ir/fervidex/router.test.ts index ad78ad747..e767bb68a 100644 --- a/server/src/server/router/ir/fervidex/router.test.ts +++ b/server/src/server/router/ir/fervidex/router.test.ts @@ -102,26 +102,26 @@ function TestHeaders(url: string, cookie: string[], data: any) { }); } -t.test("POST /api/v1/ir/fervidex/class/submit", async (t) => { +t.test("POST /ir/fervidex/class/submit", async (t) => { const cookie = await CreateFakeAuthCookie(mockApi); // @todo #108 - TestHeaders("/api/v1/ir/fervidex/class/submit", cookie, {}); + TestHeaders("/ir/fervidex/class/submit", cookie, {}); t.beforeEach(ResetDBState); t.end(); }); -t.test("POST /api/v1/ir/fervidex/score/submit", async (t) => { +t.test("POST /ir/fervidex/score/submit", async (t) => { const cookie = await CreateFakeAuthCookie(mockApi); t.beforeEach(ResetDBState); - TestHeaders("/api/v1/ir/fervidex/score/submit", cookie, GetKTDataJSON("./fervidex/base.json")); + TestHeaders("/ir/fervidex/score/submit", cookie, GetKTDataJSON("./fervidex/base.json")); t.test("Should import a valid score", async (t) => { const res = await mockApi - .post("/api/v1/ir/fervidex/score/submit") + .post("/ir/fervidex/score/submit") .set("Cookie", cookie) .set("User-Agent", "fervidex/1.3.0") .set("X-Software-Model", "LDJ:J:B:A:2020092900") @@ -142,7 +142,7 @@ t.test("POST /api/v1/ir/fervidex/score/submit", async (t) => { t.test("Should import a valid score with 2dx-gsm", async (t) => { const res = await mockApi - .post("/api/v1/ir/fervidex/score/submit") + .post("/ir/fervidex/score/submit") .set("Cookie", cookie) .set("User-Agent", "fervidex/1.3.0") .set("X-Software-Model", "LDJ:J:B:A:2020092900") @@ -163,7 +163,7 @@ t.test("POST /api/v1/ir/fervidex/score/submit", async (t) => { t.test("Should reject an invalid body", async (t) => { const res = await mockApi - .post("/api/v1/ir/fervidex/score/submit") + .post("/ir/fervidex/score/submit") .set("User-Agent", "fervidex/1.3.0") .set("Cookie", cookie) .send({}); @@ -176,12 +176,12 @@ t.test("POST /api/v1/ir/fervidex/score/submit", async (t) => { t.end(); }); -t.test("POST /api/v1/ir/fervidex/profile/submit", async (t) => { +t.test("POST /ir/fervidex/profile/submit", async (t) => { const cookie = await CreateFakeAuthCookie(mockApi); t.beforeEach(ResetDBState); TestHeaders( - "/api/v1/ir/fervidex/class/submit", + "/ir/fervidex/class/submit", cookie, GetKTDataJSON("./fervidex-static/base.json") ); @@ -195,7 +195,7 @@ t.test("POST /api/v1/ir/fervidex/profile/submit", async (t) => { await db.charts.iidx.insert(GetKTDataJSON("./kamaitachi/ktblack-charts-iidx.json")); const res = await mockApi - .post("/api/v1/ir/fervidex/profile/submit") + .post("/ir/fervidex/profile/submit") .set("Cookie", cookie) .set("User-Agent", "fervidex/1.3.0") .set("X-Software-Model", "P2D:J:B:A:2020092900") diff --git a/server/src/server/router/ir/usc/router.test.ts b/server/src/server/router/ir/usc/router.test.ts index b7906356f..92ea707e9 100644 --- a/server/src/server/router/ir/usc/router.test.ts +++ b/server/src/server/router/ir/usc/router.test.ts @@ -34,14 +34,14 @@ function TestAuth(url: string) { }); } -t.test("GET /api/v1/ir/usc", async (t) => { +t.test("GET /ir/usc", async (t) => { await InsertFakeUSCAuth(); t.beforeEach(ResetDBState); - TestAuth("/api/v1/ir/usc"); + TestAuth("/ir/usc"); - const res = await mockApi.get("/api/v1/ir/usc").set("Authorization", "Bearer foo"); + const res = await mockApi.get("/ir/usc").set("Authorization", "Bearer foo"); t.equal(res.body.statusCode, 20, "Should return 20"); t.hasStrict( @@ -56,13 +56,13 @@ t.test("GET /api/v1/ir/usc", async (t) => { t.end(); }); -t.test("GET /api/v1/ir/usc/charts/:chartHash", (t) => { +t.test("GET /ir/usc/charts/:chartHash", (t) => { t.beforeEach(ResetDBState); t.beforeEach(InsertFakeUSCAuth); t.test("Should return 20 if the chartHash matches a chart.", async (t) => { const res = await mockApi - .get("/api/v1/ir/usc/charts/USC_CHART_HASH") + .get("/ir/usc/charts/USC_CHART_HASH") .set("Authorization", "Bearer foo"); t.equal(res.body.statusCode, 20, "Should return 20"); @@ -72,7 +72,7 @@ t.test("GET /api/v1/ir/usc/charts/:chartHash", (t) => { t.test("Should return 42 if the chartHash doesn't match a chart.", async (t) => { const res = await mockApi - .get("/api/v1/ir/usc/charts/INVALID_HASH") + .get("/ir/usc/charts/INVALID_HASH") .set("Authorization", "Bearer foo"); t.equal(res.body.statusCode, 42, "Should return 42"); @@ -125,14 +125,14 @@ const USC_SCORE_PB: PBScoreDocument = { }, }; -t.test("GET /api/v1/ir/usc/:chartHash/record", (t) => { +t.test("GET /ir/usc/:chartHash/record", (t) => { t.beforeEach(ResetDBState); t.beforeEach(InsertFakeUSCAuth); - TestAuth("/api/v1/ir/usc/:chartHash/record"); + TestAuth("/ir/usc/:chartHash/record"); t.test("Should return 42 if the chartHash doesn't match a chart.", async (t) => { const res = await mockApi - .get("/api/v1/ir/usc/charts/INVALID_HASH/record") + .get("/ir/usc/charts/INVALID_HASH/record") .set("Authorization", "Bearer foo"); t.equal(res.body.statusCode, 42, "Should return 42"); @@ -142,7 +142,7 @@ t.test("GET /api/v1/ir/usc/:chartHash/record", (t) => { t.test("Should return 44 if there are no scores on the chart.", async (t) => { const res = await mockApi - .get("/api/v1/ir/usc/charts/USC_CHART_HASH/record") + .get("/ir/usc/charts/USC_CHART_HASH/record") .set("Authorization", "Bearer foo"); t.equal(res.body.statusCode, 44, "Should return 42"); @@ -165,7 +165,7 @@ t.test("GET /api/v1/ir/usc/:chartHash/record", (t) => { } as any); const res = await mockApi - .get("/api/v1/ir/usc/charts/USC_CHART_HASH/record") + .get("/ir/usc/charts/USC_CHART_HASH/record") .set("Authorization", "Bearer foo"); t.equal(res.body.statusCode, 20, "Should return 20"); @@ -196,17 +196,17 @@ t.test("GET /api/v1/ir/usc/:chartHash/record", (t) => { t.test("GET /charts/:chartHash/leaderboard", (t) => { t.beforeEach(ResetDBState); t.beforeEach(InsertFakeUSCAuth); - TestAuth("/api/v1/ir/usc/:chartHash/leaderboard"); + TestAuth("/ir/usc/:chartHash/leaderboard"); t.test("Should return 40 if mode is invalid", async (t) => { const res = await mockApi - .get("/api/v1/ir/usc/charts/USC_CHART_HASH/leaderboard") + .get("/ir/usc/charts/USC_CHART_HASH/leaderboard") .set("Authorization", "Bearer foo"); t.equal(res.body.statusCode, 40); const res2 = await mockApi - .get("/api/v1/ir/usc/charts/USC_CHART_HASH/leaderboard?mode=invalid") + .get("/ir/usc/charts/USC_CHART_HASH/leaderboard?mode=invalid") .set("Authorization", "Bearer foo"); t.equal(res2.body.statusCode, 40); @@ -216,13 +216,13 @@ t.test("GET /charts/:chartHash/leaderboard", (t) => { t.test("Should return 40 if N is invalid", async (t) => { const res = await mockApi - .get("/api/v1/ir/usc/charts/USC_CHART_HASH/leaderboard?mode=best") + .get("/ir/usc/charts/USC_CHART_HASH/leaderboard?mode=best") .set("Authorization", "Bearer foo"); t.equal(res.body.statusCode, 40); const res2 = await mockApi - .get("/api/v1/ir/usc/charts/USC_CHART_HASH/leaderboard?mode=best&n=foo") + .get("/ir/usc/charts/USC_CHART_HASH/leaderboard?mode=best&n=foo") .set("Authorization", "Bearer foo"); t.equal(res2.body.statusCode, 40); @@ -232,7 +232,7 @@ t.test("GET /charts/:chartHash/leaderboard", (t) => { t.test("Should return empty arr for mode = best if no scores", async (t) => { const res = await mockApi - .get("/api/v1/ir/usc/charts/USC_CHART_HASH/leaderboard?mode=best&n=5") + .get("/ir/usc/charts/USC_CHART_HASH/leaderboard?mode=best&n=5") .set("Authorization", "Bearer foo"); t.equal(res.body.statusCode, 20); @@ -271,7 +271,7 @@ t.test("GET /charts/:chartHash/leaderboard", (t) => { ] as any); const res = await mockApi - .get("/api/v1/ir/usc/charts/USC_CHART_HASH/leaderboard?mode=best&n=2") + .get("/ir/usc/charts/USC_CHART_HASH/leaderboard?mode=best&n=2") .set("Authorization", "Bearer foo"); t.equal(res.body.statusCode, 20); @@ -307,7 +307,7 @@ t.test("GET /charts/:chartHash/leaderboard", (t) => { ); const res2 = await mockApi - .get("/api/v1/ir/usc/charts/USC_CHART_HASH/leaderboard?mode=best&n=1") + .get("/ir/usc/charts/USC_CHART_HASH/leaderboard?mode=best&n=1") .set("Authorization", "Bearer foo"); t.equal(res2.body.statusCode, 20);