@prosopo/provider 5.13.4 → 5.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build$colon$cjs.log +30 -30
- package/.turbo/turbo-build$colon$tsc.log +27 -30
- package/.turbo/turbo-build.log +30 -33
- package/CHANGELOG.md +233 -0
- package/LICENSE +201 -0
- package/dist/api/adminAuthOptions.d.ts +4 -0
- package/dist/api/adminAuthOptions.d.ts.map +1 -0
- package/dist/api/adminAuthOptions.js +34 -0
- package/dist/api/adminAuthOptions.js.map +1 -0
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/constants.d.ts +2 -1
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/constants.d.ts.map +1 -1
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/constants.js +11 -2
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/constants.js.map +1 -1
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.d.ts.map +1 -1
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.js +16 -11
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.js.map +1 -1
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/refreshLineage.d.ts +5 -0
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/refreshLineage.d.ts.map +1 -0
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/refreshLineage.js +20 -0
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/refreshLineage.js.map +1 -0
- package/dist/api/captcha/getPuzzleCaptchaChallenge.d.ts.map +1 -1
- package/dist/api/captcha/getPuzzleCaptchaChallenge.js +24 -0
- package/dist/api/captcha/getPuzzleCaptchaChallenge.js.map +1 -1
- package/dist/api/captcha/submitPoWCaptchaSolution.d.ts +4 -11
- package/dist/api/captcha/submitPoWCaptchaSolution.d.ts.map +1 -1
- package/dist/api/captcha/submitPoWCaptchaSolution.js +12 -17
- package/dist/api/captcha/submitPoWCaptchaSolution.js.map +1 -1
- package/dist/api/detectorPoolBodyParser.d.ts +4 -0
- package/dist/api/detectorPoolBodyParser.d.ts.map +1 -0
- package/dist/api/detectorPoolBodyParser.js +31 -0
- package/dist/api/detectorPoolBodyParser.js.map +1 -0
- package/dist/api/domainMiddleware.d.ts.map +1 -1
- package/dist/api/domainMiddleware.js +5 -1
- package/dist/api/domainMiddleware.js.map +1 -1
- package/dist/api/metrics.d.ts +2 -1
- package/dist/api/metrics.d.ts.map +1 -1
- package/dist/api/metrics.js +46 -4
- package/dist/api/metrics.js.map +1 -1
- package/dist/api/rawTlsSignalsMiddleware.d.ts +14 -1
- package/dist/api/rawTlsSignalsMiddleware.d.ts.map +1 -1
- package/dist/api/rawTlsSignalsMiddleware.js +111 -23
- package/dist/api/rawTlsSignalsMiddleware.js.map +1 -1
- package/dist/api/startProviderApi.d.ts.map +1 -1
- package/dist/api/startProviderApi.js +8 -5
- package/dist/api/startProviderApi.js.map +1 -1
- package/dist/api/verify.d.ts.map +1 -1
- package/dist/api/verify.js +50 -8
- package/dist/api/verify.js.map +1 -1
- package/dist/cjs/api/adminAuthOptions.cjs +35 -0
- package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/constants.cjs +10 -0
- package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/handler.cjs +14 -8
- package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/refreshLineage.cjs +20 -0
- package/dist/cjs/api/captcha/getPuzzleCaptchaChallenge.cjs +24 -0
- package/dist/cjs/api/captcha/submitPoWCaptchaSolution.cjs +10 -15
- package/dist/cjs/api/detectorPoolBodyParser.cjs +33 -0
- package/dist/cjs/api/domainMiddleware.cjs +5 -1
- package/dist/cjs/api/metrics.cjs +46 -3
- package/dist/cjs/api/rawTlsSignalsMiddleware.cjs +111 -22
- package/dist/cjs/api/startProviderApi.cjs +8 -5
- package/dist/cjs/api/verify.cjs +50 -8
- package/dist/cjs/compositeIpAddress.cjs +21 -7
- package/dist/cjs/tasks/captchaManager.cjs +15 -0
- package/dist/cjs/tasks/captchaTypeSelection.cjs +23 -2
- package/dist/cjs/tasks/client/clientTasks.cjs +25 -4
- package/dist/cjs/tasks/dataset/datasetTasksUtils.cjs +1 -1
- package/dist/cjs/tasks/frictionless/frictionlessTasks.cjs +26 -23
- package/dist/cjs/tasks/imgCaptcha/imgCaptchaTasks.cjs +4 -11
- package/dist/cjs/tasks/powCaptcha/powTasks.cjs +7 -11
- package/dist/cjs/tasks/powCaptcha/powTasksUtils.cjs +2 -0
- package/dist/cjs/tasks/puzzle/backgroundBuffer.cjs +3 -3
- package/dist/cjs/tasks/puzzle/nativeBackground.cjs +12 -5
- package/dist/cjs/tasks/puzzle/puzzleRenderer.cjs +4 -3
- package/dist/cjs/tasks/puzzleCaptcha/puzzleTasks.cjs +2 -9
- package/dist/cjs/utils/tarpitPadding.cjs +81 -10
- package/dist/compositeIpAddress.d.ts.map +1 -1
- package/dist/compositeIpAddress.js +21 -7
- package/dist/compositeIpAddress.js.map +1 -1
- package/dist/tasks/captchaManager.d.ts.map +1 -1
- package/dist/tasks/captchaManager.js +16 -1
- package/dist/tasks/captchaManager.js.map +1 -1
- package/dist/tasks/captchaTypeSelection.d.ts +3 -1
- package/dist/tasks/captchaTypeSelection.d.ts.map +1 -1
- package/dist/tasks/captchaTypeSelection.js +23 -3
- package/dist/tasks/captchaTypeSelection.js.map +1 -1
- package/dist/tasks/client/clientTasks.d.ts +1 -0
- package/dist/tasks/client/clientTasks.d.ts.map +1 -1
- package/dist/tasks/client/clientTasks.js +25 -5
- package/dist/tasks/client/clientTasks.js.map +1 -1
- package/dist/tasks/dataset/datasetTasksUtils.js +1 -1
- package/dist/tasks/dataset/datasetTasksUtils.js.map +1 -1
- package/dist/tasks/frictionless/frictionlessTasks.d.ts +3 -1
- package/dist/tasks/frictionless/frictionlessTasks.d.ts.map +1 -1
- package/dist/tasks/frictionless/frictionlessTasks.js +28 -25
- package/dist/tasks/frictionless/frictionlessTasks.js.map +1 -1
- package/dist/tasks/frictionless/routingMachine.d.ts +1 -2
- package/dist/tasks/frictionless/routingMachine.d.ts.map +1 -1
- package/dist/tasks/frictionless/routingMachine.js.map +1 -1
- package/dist/tasks/imgCaptcha/imgCaptchaTasks.d.ts.map +1 -1
- package/dist/tasks/imgCaptcha/imgCaptchaTasks.js +4 -11
- package/dist/tasks/imgCaptcha/imgCaptchaTasks.js.map +1 -1
- package/dist/tasks/powCaptcha/powTasks.d.ts.map +1 -1
- package/dist/tasks/powCaptcha/powTasks.js +8 -12
- package/dist/tasks/powCaptcha/powTasks.js.map +1 -1
- package/dist/tasks/powCaptcha/powTasksUtils.d.ts +1 -0
- package/dist/tasks/powCaptcha/powTasksUtils.d.ts.map +1 -1
- package/dist/tasks/powCaptcha/powTasksUtils.js +2 -1
- package/dist/tasks/powCaptcha/powTasksUtils.js.map +1 -1
- package/dist/tasks/puzzle/backgroundBuffer.d.ts +3 -2
- package/dist/tasks/puzzle/backgroundBuffer.d.ts.map +1 -1
- package/dist/tasks/puzzle/backgroundBuffer.js +3 -3
- package/dist/tasks/puzzle/backgroundBuffer.js.map +1 -1
- package/dist/tasks/puzzle/nativeBackground.d.ts +5 -1
- package/dist/tasks/puzzle/nativeBackground.d.ts.map +1 -1
- package/dist/tasks/puzzle/nativeBackground.js +12 -5
- package/dist/tasks/puzzle/nativeBackground.js.map +1 -1
- package/dist/tasks/puzzle/puzzleRenderer.d.ts +2 -0
- package/dist/tasks/puzzle/puzzleRenderer.d.ts.map +1 -1
- package/dist/tasks/puzzle/puzzleRenderer.js +4 -3
- package/dist/tasks/puzzle/puzzleRenderer.js.map +1 -1
- package/dist/tasks/puzzleCaptcha/puzzleTasks.d.ts.map +1 -1
- package/dist/tasks/puzzleCaptcha/puzzleTasks.js +2 -9
- package/dist/tasks/puzzleCaptcha/puzzleTasks.js.map +1 -1
- package/dist/tests/integration/clientSettingsPersistence.integration.test.js +2 -0
- package/dist/tests/integration/clientSettingsPersistence.integration.test.js.map +1 -1
- package/dist/tests/unit/api/adminAuthOptions.unit.test.d.ts +2 -0
- package/dist/tests/unit/api/adminAuthOptions.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/api/adminAuthOptions.unit.test.js +38 -0
- package/dist/tests/unit/api/adminAuthOptions.unit.test.js.map +1 -0
- package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/constants.unit.test.js +35 -2
- package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/constants.unit.test.js.map +1 -1
- package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/refreshLineage.unit.test.d.ts +2 -0
- package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/refreshLineage.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/refreshLineage.unit.test.js +45 -0
- package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/refreshLineage.unit.test.js.map +1 -0
- package/dist/tests/unit/api/captcha/submitPoWCaptchaSolution.escalation.unit.test.js +15 -1
- package/dist/tests/unit/api/captcha/submitPoWCaptchaSolution.escalation.unit.test.js.map +1 -1
- package/dist/tests/unit/api/detectorPoolBodyParser.unit.test.d.ts +2 -0
- package/dist/tests/unit/api/detectorPoolBodyParser.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/api/detectorPoolBodyParser.unit.test.js +64 -0
- package/dist/tests/unit/api/detectorPoolBodyParser.unit.test.js.map +1 -0
- package/dist/tests/unit/api/domainMiddlewareErrorBody.unit.test.d.ts +2 -0
- package/dist/tests/unit/api/domainMiddlewareErrorBody.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/api/domainMiddlewareErrorBody.unit.test.js +67 -0
- package/dist/tests/unit/api/domainMiddlewareErrorBody.unit.test.js.map +1 -0
- package/dist/tests/unit/api/getFrictionlessCaptchaChallenge.unit.test.js +174 -23
- package/dist/tests/unit/api/getFrictionlessCaptchaChallenge.unit.test.js.map +1 -1
- package/dist/tests/unit/api/metricsAccess.unit.test.d.ts +2 -0
- package/dist/tests/unit/api/metricsAccess.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/api/metricsAccess.unit.test.js +87 -0
- package/dist/tests/unit/api/metricsAccess.unit.test.js.map +1 -0
- package/dist/tests/unit/api/public.unit.test.js +4 -1
- package/dist/tests/unit/api/public.unit.test.js.map +1 -1
- package/dist/tests/unit/api/rawTlsSignalsMiddleware.unit.test.js +96 -1
- package/dist/tests/unit/api/rawTlsSignalsMiddleware.unit.test.js.map +1 -1
- package/dist/tests/unit/api/validateAddress.unit.test.js +1 -1
- package/dist/tests/unit/api/validateAddress.unit.test.js.map +1 -1
- package/dist/tests/unit/api/verifyBadDappSignature.unit.test.d.ts +2 -0
- package/dist/tests/unit/api/verifyBadDappSignature.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/api/verifyBadDappSignature.unit.test.js +96 -0
- package/dist/tests/unit/api/verifyBadDappSignature.unit.test.js.map +1 -0
- package/dist/tests/unit/api/verifyMalformedToken.unit.test.d.ts +2 -0
- package/dist/tests/unit/api/verifyMalformedToken.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/api/verifyMalformedToken.unit.test.js +89 -0
- package/dist/tests/unit/api/verifyMalformedToken.unit.test.js.map +1 -0
- package/dist/tests/unit/compositeIpAddress.unit.test.js +12 -3
- package/dist/tests/unit/compositeIpAddress.unit.test.js.map +1 -1
- package/dist/tests/unit/tasks/captchaManager.unit.test.js +51 -0
- package/dist/tests/unit/tasks/captchaManager.unit.test.js.map +1 -1
- package/dist/tests/unit/tasks/captchaTypeSelection.unit.test.js +20 -1
- package/dist/tests/unit/tasks/captchaTypeSelection.unit.test.js.map +1 -1
- package/dist/tests/unit/tasks/client/clientTasks.unit.test.js +33 -1
- package/dist/tests/unit/tasks/client/clientTasks.unit.test.js.map +1 -1
- package/dist/tests/unit/tasks/dataset/datasetTasksUtils.unit.test.js +14 -1
- package/dist/tests/unit/tasks/dataset/datasetTasksUtils.unit.test.js.map +1 -1
- package/dist/tests/unit/tasks/frictionless/allowedCaptchaTypes.unit.test.d.ts +2 -0
- package/dist/tests/unit/tasks/frictionless/allowedCaptchaTypes.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/tasks/frictionless/allowedCaptchaTypes.unit.test.js +94 -0
- package/dist/tests/unit/tasks/frictionless/allowedCaptchaTypes.unit.test.js.map +1 -0
- package/dist/tests/unit/tasks/frictionless/refreshSwitch.unit.test.d.ts +2 -0
- package/dist/tests/unit/tasks/frictionless/refreshSwitch.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/tasks/frictionless/refreshSwitch.unit.test.js +103 -0
- package/dist/tests/unit/tasks/frictionless/refreshSwitch.unit.test.js.map +1 -0
- package/dist/tests/unit/tasks/powCaptcha/powTasksUtils.unit.test.js +23 -1
- package/dist/tests/unit/tasks/powCaptcha/powTasksUtils.unit.test.js.map +1 -1
- package/dist/tests/unit/tasks/puzzle/backgroundBuffer.unit.test.js +1 -4
- package/dist/tests/unit/tasks/puzzle/backgroundBuffer.unit.test.js.map +1 -1
- package/dist/tests/unit/tasks/puzzle/nativeBackground.unit.test.js +10 -3
- package/dist/tests/unit/tasks/puzzle/nativeBackground.unit.test.js.map +1 -1
- package/dist/tests/unit/tasks/puzzle/puzzleRenderer.unit.test.d.ts +2 -0
- package/dist/tests/unit/tasks/puzzle/puzzleRenderer.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/tasks/puzzle/puzzleRenderer.unit.test.js +35 -0
- package/dist/tests/unit/tasks/puzzle/puzzleRenderer.unit.test.js.map +1 -0
- package/dist/tests/unit/tasks/puzzleDifficultyDeviceCap.unit.test.d.ts +2 -0
- package/dist/tests/unit/tasks/puzzleDifficultyDeviceCap.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/tasks/puzzleDifficultyDeviceCap.unit.test.js +49 -0
- package/dist/tests/unit/tasks/puzzleDifficultyDeviceCap.unit.test.js.map +1 -0
- package/dist/tests/unit/testUtils/mockProviderEnv.d.ts +17 -14
- package/dist/tests/unit/testUtils/mockProviderEnv.d.ts.map +1 -1
- package/dist/tests/unit/testUtils/mockProviderEnv.js.map +1 -1
- package/dist/tests/unit/utils/tarpitPadding.unit.test.js +118 -36
- package/dist/tests/unit/utils/tarpitPadding.unit.test.js.map +1 -1
- package/dist/utils/tarpitPadding.d.ts.map +1 -1
- package/dist/utils/tarpitPadding.js +81 -10
- package/dist/utils/tarpitPadding.js.map +1 -1
- package/package.json +105 -103
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { CaptchaType, FrictionlessPenalties, FrictionlessReason, } from "@prosopo/types";
|
|
2
|
+
import { beforeEach, describe, expect, it, vi } from "vitest";
|
|
3
|
+
const { applyRouterMock } = vi.hoisted(() => ({
|
|
4
|
+
applyRouterMock: vi.fn(),
|
|
5
|
+
}));
|
|
6
|
+
vi.mock("../../../../tasks/frictionless/routingMachine.js", () => ({
|
|
7
|
+
applyRouter: applyRouterMock,
|
|
8
|
+
}));
|
|
9
|
+
import { getCompositeIpAddress } from "../../../../compositeIpAddress.js";
|
|
10
|
+
import { PUZZLE_REFRESHES_BEFORE_IMAGE } from "../../../../tasks/captchaTypeSelection.js";
|
|
11
|
+
import { FrictionlessManager } from "../../../../tasks/frictionless/frictionlessTasks.js";
|
|
12
|
+
const SITE_KEY = "5EjTA28bKSbFPPyMbUjNtArxyqjwq38r1BapVmLZShaqEedV";
|
|
13
|
+
describe("a refreshed puzzle session", () => {
|
|
14
|
+
let storeSessionRecord;
|
|
15
|
+
const storedSession = () => {
|
|
16
|
+
const call = storeSessionRecord.mock.calls[0];
|
|
17
|
+
if (!call)
|
|
18
|
+
throw new Error("no session was stored");
|
|
19
|
+
return call[0];
|
|
20
|
+
};
|
|
21
|
+
const managerFor = (refresh, frictionlessTypes) => {
|
|
22
|
+
const db = { storeSessionRecord };
|
|
23
|
+
const pair = {
|
|
24
|
+
sign: vi.fn(),
|
|
25
|
+
address: "testAddress",
|
|
26
|
+
};
|
|
27
|
+
const config = {
|
|
28
|
+
penalties: FrictionlessPenalties.parse({}),
|
|
29
|
+
captchas: { solved: { count: 2 }, unsolved: { count: 0 } },
|
|
30
|
+
lRules: { en: 1 },
|
|
31
|
+
};
|
|
32
|
+
const context = {
|
|
33
|
+
dappAccount: SITE_KEY,
|
|
34
|
+
userAccount: "user",
|
|
35
|
+
ip: "1.2.3.4",
|
|
36
|
+
score: 0.9,
|
|
37
|
+
platform: { isMobile: false, isApple: true, isWebView: false },
|
|
38
|
+
raw: { headers: {}, userAgent: "ua" },
|
|
39
|
+
imageMaxRounds: 8,
|
|
40
|
+
};
|
|
41
|
+
const manager = new FrictionlessManager(db, pair, config);
|
|
42
|
+
manager.setSessionParams({
|
|
43
|
+
token: "tok",
|
|
44
|
+
score: 0.9,
|
|
45
|
+
threshold: 0.5,
|
|
46
|
+
scoreComponents: { baseScore: 0.9 },
|
|
47
|
+
ipAddress: getCompositeIpAddress("1.2.3.4"),
|
|
48
|
+
siteKey: SITE_KEY,
|
|
49
|
+
webView: false,
|
|
50
|
+
iFrame: false,
|
|
51
|
+
decryptedHeadHash: "",
|
|
52
|
+
...refresh,
|
|
53
|
+
});
|
|
54
|
+
manager.setRoutingContext(context);
|
|
55
|
+
if (frictionlessTypes)
|
|
56
|
+
manager.setAllowedCaptchaTypes(frictionlessTypes);
|
|
57
|
+
return manager;
|
|
58
|
+
};
|
|
59
|
+
beforeEach(() => {
|
|
60
|
+
vi.clearAllMocks();
|
|
61
|
+
storeSessionRecord = vi.fn();
|
|
62
|
+
applyRouterMock.mockResolvedValue({ captchaType: CaptchaType.puzzle });
|
|
63
|
+
});
|
|
64
|
+
it("records where the refresh came from", async () => {
|
|
65
|
+
await managerFor({
|
|
66
|
+
refreshOf: "prev",
|
|
67
|
+
refreshCount: 1,
|
|
68
|
+
refreshedAfterMs: 2500,
|
|
69
|
+
}).sendPuzzleCaptcha();
|
|
70
|
+
expect(storedSession()).toMatchObject({
|
|
71
|
+
captchaType: CaptchaType.puzzle,
|
|
72
|
+
refreshOf: "prev",
|
|
73
|
+
refreshCount: 1,
|
|
74
|
+
refreshedAfterMs: 2500,
|
|
75
|
+
});
|
|
76
|
+
});
|
|
77
|
+
it("leaves an ordinary session without refresh fields", async () => {
|
|
78
|
+
await managerFor({}).sendPuzzleCaptcha();
|
|
79
|
+
expect(storedSession()).not.toHaveProperty("refreshOf");
|
|
80
|
+
expect(storedSession()).not.toHaveProperty("refreshCount");
|
|
81
|
+
expect(storedSession()).not.toHaveProperty("refreshedAfterMs");
|
|
82
|
+
});
|
|
83
|
+
it("serves image with its own reason at the refresh limit", async () => {
|
|
84
|
+
await managerFor({
|
|
85
|
+
refreshOf: "prev",
|
|
86
|
+
refreshCount: PUZZLE_REFRESHES_BEFORE_IMAGE,
|
|
87
|
+
refreshedAfterMs: 1000,
|
|
88
|
+
}).sendPuzzleCaptcha();
|
|
89
|
+
expect(storedSession().captchaType).toBe(CaptchaType.image);
|
|
90
|
+
expect(storedSession().reason).toBe(FrictionlessReason.PUZZLE_REFRESH_LIMIT);
|
|
91
|
+
expect(storedSession().puzzle).toBeUndefined();
|
|
92
|
+
});
|
|
93
|
+
it("keeps a puzzle-only site on puzzle at the refresh limit", async () => {
|
|
94
|
+
await managerFor({
|
|
95
|
+
refreshOf: "prev",
|
|
96
|
+
refreshCount: PUZZLE_REFRESHES_BEFORE_IMAGE,
|
|
97
|
+
refreshedAfterMs: 1000,
|
|
98
|
+
}, { image: false, puzzle: true }).sendPuzzleCaptcha();
|
|
99
|
+
expect(storedSession().captchaType).toBe(CaptchaType.puzzle);
|
|
100
|
+
expect(storedSession().reason).not.toBe(FrictionlessReason.PUZZLE_REFRESH_LIMIT);
|
|
101
|
+
});
|
|
102
|
+
});
|
|
103
|
+
//# sourceMappingURL=refreshSwitch.unit.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"refreshSwitch.unit.test.js","sourceRoot":"","sources":["../../../../../src/tests/unit/tasks/frictionless/refreshSwitch.unit.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { sha256 } from "@noble/hashes/sha2.js";
|
|
|
2
2
|
import { ProsopoApiError } from "@prosopo/common";
|
|
3
3
|
import { signatureVerify } from "@prosopo/util-crypto";
|
|
4
4
|
import { beforeEach, describe, expect, it, vi } from "vitest";
|
|
5
|
-
import { checkPowSignature, validateSolution, } from "../../../../tasks/powCaptcha/powTasksUtils.js";
|
|
5
|
+
import { checkPowSignature, isCoordsAllZero, validateSolution, } from "../../../../tasks/powCaptcha/powTasksUtils.js";
|
|
6
6
|
vi.mock("@prosopo/util-crypto", () => ({
|
|
7
7
|
signatureVerify: vi.fn(),
|
|
8
8
|
}));
|
|
@@ -202,4 +202,26 @@ describe("checkPowSignature", () => {
|
|
|
202
202
|
}
|
|
203
203
|
});
|
|
204
204
|
});
|
|
205
|
+
describe("isCoordsAllZero", () => {
|
|
206
|
+
it("is false when no coords were submitted", () => {
|
|
207
|
+
expect(isCoordsAllZero(undefined)).toBe(false);
|
|
208
|
+
expect(isCoordsAllZero([])).toBe(false);
|
|
209
|
+
expect(isCoordsAllZero([[]])).toBe(false);
|
|
210
|
+
});
|
|
211
|
+
it("is true when every pair is (0,0)", () => {
|
|
212
|
+
expect(isCoordsAllZero([[[0, 0]]])).toBe(true);
|
|
213
|
+
expect(isCoordsAllZero([
|
|
214
|
+
[
|
|
215
|
+
[0, 0],
|
|
216
|
+
[0, 0],
|
|
217
|
+
],
|
|
218
|
+
[[0, 0]],
|
|
219
|
+
])).toBe(true);
|
|
220
|
+
});
|
|
221
|
+
it("is false when any component is non-zero", () => {
|
|
222
|
+
expect(isCoordsAllZero([[[12, 0]]])).toBe(false);
|
|
223
|
+
expect(isCoordsAllZero([[[0, 34]]])).toBe(false);
|
|
224
|
+
expect(isCoordsAllZero([[[0, 0]], [[5, 6]]])).toBe(false);
|
|
225
|
+
});
|
|
226
|
+
});
|
|
205
227
|
//# sourceMappingURL=powTasksUtils.unit.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"powTasksUtils.unit.test.js","sourceRoot":"","sources":["../../../../../src/tests/unit/tasks/powCaptcha/powTasksUtils.unit.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"powTasksUtils.unit.test.js","sourceRoot":"","sources":["../../../../../src/tests/unit/tasks/powCaptcha/powTasksUtils.unit.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,10 +21,7 @@ describe("puzzle background buffer", () => {
|
|
|
21
21
|
});
|
|
22
22
|
const seen = new Set();
|
|
23
23
|
for (let i = 0; i < 6; i++) {
|
|
24
|
-
const image = buffer.take();
|
|
25
|
-
expect(image).not.toBeNull();
|
|
26
|
-
if (!image)
|
|
27
|
-
throw new Error("unreachable");
|
|
24
|
+
const { image } = buffer.take();
|
|
28
25
|
const digest = image.data.toString("base64");
|
|
29
26
|
expect(seen.has(digest)).toBe(false);
|
|
30
27
|
seen.add(digest);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backgroundBuffer.unit.test.js","sourceRoot":"","sources":["../../../../../src/tests/unit/tasks/puzzle/backgroundBuffer.unit.test.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AACzD,OAAO,EACN,4BAA4B,EAC5B,yBAAyB,EACzB,0BAA0B,EAC1B,2BAA2B,GAC3B,MAAM,8CAA8C,CAAC;AAMtD,MAAM,QAAQ,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;AAE1D,SAAS,CAAC,GAAG,EAAE;IACd,2BAA2B,EAAE,CAAC;AAC/B,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;IACzC,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAC/D,MAAM,MAAM,GAAG,4BAA4B,CAAC;YAC3C,QAAQ,EAAE,CAAC;YACX,QAAQ,EAAE,QAAQ;SAClB,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,CAAC,IAAI,EAAE,CAAC;IACf,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QAGpD,MAAM,MAAM,GAAG,4BAA4B,CAAC;YAC3C,QAAQ,EAAE,CAAC;YACX,QAAQ,EAAE,QAAQ;YAClB,gBAAgB,EAAE,SAAS;SAC3B,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5B,MAAM,
|
|
1
|
+
{"version":3,"file":"backgroundBuffer.unit.test.js","sourceRoot":"","sources":["../../../../../src/tests/unit/tasks/puzzle/backgroundBuffer.unit.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,10 +24,11 @@ describe("native puzzle background", () => {
|
|
|
24
24
|
it("produces a fresh image per call", () => {
|
|
25
25
|
const first = createBackgroundNative(DEFAULT_GEOMETRY);
|
|
26
26
|
const second = createBackgroundNative(DEFAULT_GEOMETRY);
|
|
27
|
-
expect(first.data.equals(second.data)).toBe(false);
|
|
27
|
+
expect(first.image.data.equals(second.image.data)).toBe(false);
|
|
28
|
+
expect(first.seed.equals(second.seed)).toBe(false);
|
|
28
29
|
});
|
|
29
30
|
it("returns a correctly shaped RGBA buffer", () => {
|
|
30
|
-
const image = createBackgroundNative(DEFAULT_GEOMETRY);
|
|
31
|
+
const { image } = createBackgroundNative(DEFAULT_GEOMETRY);
|
|
31
32
|
expect(image.width).toBe(width);
|
|
32
33
|
expect(image.height).toBe(height);
|
|
33
34
|
expect(image.data.length).toBe(width * height * 4);
|
|
@@ -36,13 +37,19 @@ describe("native puzzle background", () => {
|
|
|
36
37
|
}
|
|
37
38
|
});
|
|
38
39
|
it("honours a non-default geometry", () => {
|
|
39
|
-
const image = createBackgroundNative({
|
|
40
|
+
const { image } = createBackgroundNative({
|
|
40
41
|
width: 64,
|
|
41
42
|
height: 32,
|
|
42
43
|
notchSize: 8,
|
|
43
44
|
});
|
|
44
45
|
expect(image.data.length).toBe(64 * 32 * 4);
|
|
45
46
|
});
|
|
47
|
+
it("returns the seed that produced the image", () => {
|
|
48
|
+
const { image, seed } = createBackgroundNative(DEFAULT_GEOMETRY);
|
|
49
|
+
expect(seed.length).toBe(16);
|
|
50
|
+
const replayed = native.generateBackground(seed, width, height);
|
|
51
|
+
expect(replayed.equals(image.data)).toBe(true);
|
|
52
|
+
});
|
|
46
53
|
it("rejects a seed shorter than the generator needs", () => {
|
|
47
54
|
expect(() => native.generateBackground(Buffer.alloc(8), width, height)).toThrow(/seed must be at least 16 bytes/);
|
|
48
55
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nativeBackground.unit.test.js","sourceRoot":"","sources":["../../../../../src/tests/unit/tasks/puzzle/nativeBackground.unit.test.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EACN,gBAAgB,EAChB,UAAU,EACV,kBAAkB,GAClB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,8CAA8C,CAAC;AAEtF,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAE9C,CAAC;AAEF,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,gBAAgB,CAAC;AAK3C,MAAM,KAAK,GAAG;IACb,kCAAkC;IAClC,kCAAkC;IAClC,kCAAkC;IAClC,kCAAkC;IAClC,kCAAkC;IAClC,kCAAkC;CAClC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;AAExC,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;IACzC,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAChE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YAC1B,MAAM,SAAS,GAAG,kBAAkB,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;YACtE,MAAM,MAAM,GAAG,MAAM,CAAC,kBAAkB,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;YAC9D,MAAM,CACL,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,EAC7B,QAAQ,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,uCAAuC,CACnE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,CAAC;IACF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QAC1C,MAAM,KAAK,GAAG,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;QAGxD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QACjD,MAAM,KAAK,GAAG,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"nativeBackground.unit.test.js","sourceRoot":"","sources":["../../../../../src/tests/unit/tasks/puzzle/nativeBackground.unit.test.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EACN,gBAAgB,EAChB,UAAU,EACV,kBAAkB,GAClB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,8CAA8C,CAAC;AAEtF,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAE9C,CAAC;AAEF,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,gBAAgB,CAAC;AAK3C,MAAM,KAAK,GAAG;IACb,kCAAkC;IAClC,kCAAkC;IAClC,kCAAkC;IAClC,kCAAkC;IAClC,kCAAkC;IAClC,kCAAkC;CAClC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;AAExC,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;IACzC,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAChE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YAC1B,MAAM,SAAS,GAAG,kBAAkB,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;YACtE,MAAM,MAAM,GAAG,MAAM,CAAC,kBAAkB,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;YAC9D,MAAM,CACL,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,EAC7B,QAAQ,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,uCAAuC,CACnE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,CAAC;IACF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QAC1C,MAAM,KAAK,GAAG,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;QAGxD,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/D,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QACjD,MAAM,EAAE,KAAK,EAAE,GAAG,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;QAC3D,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC;QAEnD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/C,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjC,CAAC;IACF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACzC,MAAM,EAAE,KAAK,EAAE,GAAG,sBAAsB,CAAC;YACxC,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,EAAE;YACV,SAAS,EAAE,CAAC;SACZ,CAAC,CAAC;QACH,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAIH,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QACnD,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;QACjE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC7B,MAAM,QAAQ,GAAG,MAAM,CAAC,kBAAkB,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAChE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QAC1D,MAAM,CAAC,GAAG,EAAE,CACX,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CACzD,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"puzzleRenderer.unit.test.d.ts","sourceRoot":"","sources":["../../../../../src/tests/unit/tasks/puzzle/puzzleRenderer.unit.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { DEFAULT_GEOMETRY, DEFAULT_RENDER_SETTINGS, createBackground, renderPuzzle, toDataUri, } from "@prosopo/puzzle-assets";
|
|
2
|
+
import { afterEach, describe, expect, it } from "vitest";
|
|
3
|
+
import { resetPuzzleBackgroundBuffer } from "../../../../tasks/puzzle/backgroundBuffer.js";
|
|
4
|
+
import { renderPuzzleImages } from "../../../../tasks/puzzle/puzzleRenderer.js";
|
|
5
|
+
const PLACEMENT = { targetX: 203, targetY: 61 };
|
|
6
|
+
describe("renderPuzzleImages", () => {
|
|
7
|
+
afterEach(() => {
|
|
8
|
+
resetPuzzleBackgroundBuffer();
|
|
9
|
+
});
|
|
10
|
+
it("returns both seeds as 128-bit hex", async () => {
|
|
11
|
+
const images = await renderPuzzleImages(PLACEMENT);
|
|
12
|
+
expect(images.backgroundSeed).toMatch(/^[0-9a-f]{32}$/);
|
|
13
|
+
expect(images.renderSeed).toMatch(/^[0-9a-f]{32}$/);
|
|
14
|
+
expect(images.backgroundSeed).not.toBe(images.renderSeed);
|
|
15
|
+
});
|
|
16
|
+
it("returns seeds that reproduce the served imagery byte for byte", async () => {
|
|
17
|
+
const pieceSize = 51;
|
|
18
|
+
const served = await renderPuzzleImages(PLACEMENT, DEFAULT_RENDER_SETTINGS, pieceSize);
|
|
19
|
+
const replayed = await renderPuzzle(createBackground(DEFAULT_GEOMETRY, Buffer.from(served.backgroundSeed, "hex")), PLACEMENT, { ...DEFAULT_GEOMETRY, pieceSize }, DEFAULT_RENDER_SETTINGS, Buffer.from(served.renderSeed, "hex"));
|
|
20
|
+
expect(toDataUri(replayed.background)).toBe(served.background);
|
|
21
|
+
expect(toDataUri(replayed.piece)).toBe(served.piece);
|
|
22
|
+
expect(replayed.pieceSize).toBe(served.pieceSize);
|
|
23
|
+
});
|
|
24
|
+
it("reports the piece size it actually drew", async () => {
|
|
25
|
+
const images = await renderPuzzleImages(PLACEMENT, DEFAULT_RENDER_SETTINGS, 37);
|
|
26
|
+
expect(images.pieceSize).toBe(37);
|
|
27
|
+
});
|
|
28
|
+
it("gives consecutive challenges different seeds", async () => {
|
|
29
|
+
const first = await renderPuzzleImages(PLACEMENT);
|
|
30
|
+
const second = await renderPuzzleImages(PLACEMENT);
|
|
31
|
+
expect(first.backgroundSeed).not.toBe(second.backgroundSeed);
|
|
32
|
+
expect(first.renderSeed).not.toBe(second.renderSeed);
|
|
33
|
+
});
|
|
34
|
+
});
|
|
35
|
+
//# sourceMappingURL=puzzleRenderer.unit.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"puzzleRenderer.unit.test.js","sourceRoot":"","sources":["../../../../../src/tests/unit/tasks/puzzle/puzzleRenderer.unit.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"puzzleDifficultyDeviceCap.unit.test.d.ts","sourceRoot":"","sources":["../../../../src/tests/unit/tasks/puzzleDifficultyDeviceCap.unit.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { MAX_AUTO_ESCALATION_LEVEL, MAX_AUTO_ESCALATION_LEVEL_TOUCH, PUZZLE_DIFFICULTY_LEVELS, resolveMaxEscalationLevel, severityToPuzzleDifficulty, } from "@prosopo/captcha-severity";
|
|
2
|
+
import { DEFAULT_RENDER_SETTINGS } from "@prosopo/puzzle-assets";
|
|
3
|
+
import { describe, expect, it } from "vitest";
|
|
4
|
+
import { samplePuzzleDifficulty } from "../../../tasks/puzzle/puzzleDifficulty.js";
|
|
5
|
+
const BASE_IMAGE_ROUNDS = 2;
|
|
6
|
+
const SAMPLES = 400;
|
|
7
|
+
const escalatedLevel = (siteMax, isTouch) => severityToPuzzleDifficulty(1000, BASE_IMAGE_ROUNDS, resolveMaxEscalationLevel(siteMax, isTouch));
|
|
8
|
+
describe("puzzle difficulty device ceiling", () => {
|
|
9
|
+
it("never serves a touch session a tolerance below the L2 floor", () => {
|
|
10
|
+
const level = escalatedLevel(4, true);
|
|
11
|
+
const floor = PUZZLE_DIFFICULTY_LEVELS[MAX_AUTO_ESCALATION_LEVEL_TOUCH]
|
|
12
|
+
?.tolerance.min;
|
|
13
|
+
for (let i = 0; i < SAMPLES; i++) {
|
|
14
|
+
const sampled = samplePuzzleDifficulty(level, DEFAULT_RENDER_SETTINGS.holeDarken);
|
|
15
|
+
expect(sampled.tolerance).toBeGreaterThanOrEqual(floor);
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
it("still serves pointer sessions the full L3 range", () => {
|
|
19
|
+
const level = escalatedLevel(undefined, false);
|
|
20
|
+
expect(level).toBe(MAX_AUTO_ESCALATION_LEVEL);
|
|
21
|
+
const band = PUZZLE_DIFFICULTY_LEVELS[MAX_AUTO_ESCALATION_LEVEL];
|
|
22
|
+
expect(band).toBeDefined();
|
|
23
|
+
if (!band)
|
|
24
|
+
return;
|
|
25
|
+
const seen = new Set();
|
|
26
|
+
for (let i = 0; i < SAMPLES; i++) {
|
|
27
|
+
seen.add(samplePuzzleDifficulty(level, DEFAULT_RENDER_SETTINGS.holeDarken)
|
|
28
|
+
.tolerance);
|
|
29
|
+
}
|
|
30
|
+
expect(Math.min(...seen)).toBe(band.tolerance.min);
|
|
31
|
+
});
|
|
32
|
+
it("gives a touch session an easier worst case than a pointer session", () => {
|
|
33
|
+
const touchFloor = PUZZLE_DIFFICULTY_LEVELS[escalatedLevel(4, true)]
|
|
34
|
+
?.tolerance.min;
|
|
35
|
+
const pointerFloor = PUZZLE_DIFFICULTY_LEVELS[escalatedLevel(4, false)]
|
|
36
|
+
?.tolerance.min;
|
|
37
|
+
expect(touchFloor).toBeGreaterThan(pointerFloor);
|
|
38
|
+
});
|
|
39
|
+
it("lets a site pin itself below the device ceiling on either device", () => {
|
|
40
|
+
expect(escalatedLevel(0, true)).toBe(0);
|
|
41
|
+
expect(escalatedLevel(0, false)).toBe(0);
|
|
42
|
+
});
|
|
43
|
+
it("keeps the reserved level unreachable by escalation on both devices", () => {
|
|
44
|
+
const reserved = PUZZLE_DIFFICULTY_LEVELS.length - 1;
|
|
45
|
+
expect(escalatedLevel(4, true)).toBeLessThan(reserved);
|
|
46
|
+
expect(escalatedLevel(4, false)).toBeLessThan(reserved);
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
//# sourceMappingURL=puzzleDifficultyDeviceCap.unit.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"puzzleDifficultyDeviceCap.unit.test.js","sourceRoot":"","sources":["../../../../src/tests/unit/tasks/puzzleDifficultyDeviceCap.unit.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import type { ProviderEnvironment } from "@prosopo/types-env";
|
|
2
|
+
import { type Mock } from "vitest";
|
|
2
3
|
export declare function createMockProviderEnvironment(): ProviderEnvironment;
|
|
3
|
-
|
|
4
|
+
interface MockExpressObjects {
|
|
4
5
|
mockReq: {
|
|
5
|
-
headers:
|
|
6
|
-
body:
|
|
7
|
-
query:
|
|
8
|
-
params:
|
|
6
|
+
headers: Record<string, string>;
|
|
7
|
+
body: Record<string, unknown>;
|
|
8
|
+
query: Record<string, string>;
|
|
9
|
+
params: Record<string, string>;
|
|
9
10
|
ip: string;
|
|
10
11
|
originalUrl: string;
|
|
11
12
|
method: string;
|
|
@@ -13,14 +14,16 @@ export declare function createMockExpressObjects(): {
|
|
|
13
14
|
path: string;
|
|
14
15
|
};
|
|
15
16
|
mockRes: {
|
|
16
|
-
status:
|
|
17
|
-
json:
|
|
18
|
-
send:
|
|
19
|
-
setHeader:
|
|
20
|
-
getHeader:
|
|
21
|
-
end:
|
|
22
|
-
locals:
|
|
17
|
+
status: Mock;
|
|
18
|
+
json: Mock;
|
|
19
|
+
send: Mock;
|
|
20
|
+
setHeader: Mock;
|
|
21
|
+
getHeader: Mock;
|
|
22
|
+
end: Mock;
|
|
23
|
+
locals: Record<string, unknown>;
|
|
23
24
|
};
|
|
24
|
-
mockNext:
|
|
25
|
-
}
|
|
25
|
+
mockNext: Mock;
|
|
26
|
+
}
|
|
27
|
+
export declare function createMockExpressObjects(): MockExpressObjects;
|
|
28
|
+
export {};
|
|
26
29
|
//# sourceMappingURL=mockProviderEnv.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mockProviderEnv.d.ts","sourceRoot":"","sources":["../../../../src/tests/unit/testUtils/mockProviderEnv.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAkB,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"mockProviderEnv.d.ts","sourceRoot":"","sources":["../../../../src/tests/unit/testUtils/mockProviderEnv.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAkB,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9E,OAAO,EAAE,KAAK,IAAI,EAAM,MAAM,QAAQ,CAAC;AAOvC,wBAAgB,6BAA6B,IAAI,mBAAmB,CA2InE;AAED,UAAU,kBAAkB;IAC3B,OAAO,EAAE;QACR,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAChC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC9B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC9B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC/B,EAAE,EAAE,MAAM,CAAC;QACX,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,EAAE,MAAM,CAAC;QACf,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;KACb,CAAC;IACF,OAAO,EAAE;QACR,MAAM,EAAE,IAAI,CAAC;QACb,IAAI,EAAE,IAAI,CAAC;QACX,IAAI,EAAE,IAAI,CAAC;QACX,SAAS,EAAE,IAAI,CAAC;QAChB,SAAS,EAAE,IAAI,CAAC;QAChB,GAAG,EAAE,IAAI,CAAC;QACV,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAChC,CAAC;IACF,QAAQ,EAAE,IAAI,CAAC;CACf;AAKD,wBAAgB,wBAAwB,IAAI,kBAAkB,CA0B7D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mockProviderEnv.js","sourceRoot":"","sources":["../../../../src/tests/unit/testUtils/mockProviderEnv.ts"],"names":[],"mappings":"AAmBA,OAAO,
|
|
1
|
+
{"version":3,"file":"mockProviderEnv.js","sourceRoot":"","sources":["../../../../src/tests/unit/testUtils/mockProviderEnv.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAa,EAAE,EAAE,MAAM,QAAQ,CAAC;AAOvC,MAAM,UAAU,6BAA6B;IAE5C,MAAM,UAAU,GAAW;QAC1B,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE;QACd,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE;QACb,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE;QACb,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE;QACd,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,cAAc,EAAE;KACT,CAAC;IAGvB,MAAM,0BAA0B,GAAG;QAClC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;QACZ,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE;QACf,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE;QACd,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE;QACf,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE;QACd,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE;QAClB,oBAAoB,EAAE,EAAE,CAAC,EAAE,EAAE;QAC7B,cAAc,EAAE,EAAE,CAAC,EAAE,EAAE;QACvB,kBAAkB,EAAE,EAAE,CAAC,EAAE,EAAE;KAC3B,CAAC;IAGF,MAAM,YAAY,GAAqB;QACtC,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE;QAChB,yBAAyB,EAAE,EAAE;aAC3B,EAAE,EAAE;aACJ,eAAe,CAAC,0BAA0B,CAAC;KACd,CAAC;IAGjC,MAAM,UAAU,GAAG;QAClB,QAAQ,EAAE,MAAM;QAChB,MAAM,EAAE;YACP,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,WAAW;SACjB;QACD,QAAQ,EAAE;YACT,WAAW,EAAE;gBACZ,IAAI,EAAE,SAAkB;gBACxB,QAAQ,EAAE,2BAA2B;gBACrC,MAAM,EAAE,cAAc;gBACtB,UAAU,EAAE,OAAO;aACnB;SACD;QACD,eAAe,EAAE;YAChB,GAAG,EAAE,wBAAwB;YAC7B,QAAQ,EAAE,MAAM;YAChB,SAAS,EAAE,MAAM;SACjB;QACD,OAAO,EAAE;YACR,MAAM,EAAE;gBACP,KAAK,EAAE,CAAC;aACR;YACD,QAAQ,EAAE;gBACT,KAAK,EAAE,CAAC;aACR;SACD;QACD,MAAM,EAAE;YACP,IAAI,EAAE,kBAAkB;SACxB;QACD,OAAO,EAAE;YACR,QAAQ,EAAE;gBACT,OAAO,EAAE,uBAAuB;gBAChC,OAAO,EAAE;oBACR,OAAO,EAAE,sBAAsB;oBAC/B,MAAM,EAAE,aAAa;iBACrB;aACD;YACD,QAAQ,EAAE;gBACT,WAAW,EAAE;oBACZ,IAAI,EAAE,SAAkB;oBACxB,QAAQ,EAAE,2BAA2B;oBACrC,MAAM,EAAE,cAAc;oBACtB,UAAU,EAAE,OAAO;iBACnB;aACD;SACD;QACD,KAAK,EAAE;YACN,MAAM,EAAE;gBACP,YAAY,EAAE,qBAAqB;gBACnC,UAAU,EAAE,mBAAmB;aAC/B;SACD;KACiC,CAAC;IAGpC,MAAM,QAAQ,GAAG;QAChB,OAAO,EAAE,kDAAkD;QAC3D,SAAS,EAAE,IAAI,UAAU,CAAC,EAAE,CAAC;QAC7B,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE;QACb,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE;KACW,CAAC;IAG5B,MAAM,WAAW,GAAG;QACnB,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC;QAC7C,WAAW,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC;QAC9C,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,CAAC;QAC7C,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC;KACpB,CAAC;IAGxB,MAAM,iBAAiB,GAAmB;QACzC,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC;QAChD,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;YACjC,EAAE,EAAE,WAAW;YACf,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,KAAK;YACZ,OAAO,EAAE,KAAK;YACd,YAAY,EAAE,KAAK;YACnB,QAAQ,EAAE,KAAK;YACf,QAAQ,EAAE,KAAK;YACf,WAAW,EAAE,KAAK;YAClB,SAAS,EAAE,KAAK;SAChB,CAAC;QACF,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,CAAC;QAC3C,WAAW,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC;KAC1C,CAAC;IAGF,MAAM,OAAO,GAAwB;QACpC,MAAM,EAAE,UAAU;QAClB,MAAM,EAAE,UAAU;QAClB,EAAE,EAAE,YAAY;QAChB,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,WAAW;QACpB,kBAAkB,EAAE,aAAsB;QAC1C,cAAc,EAAE,SAAS;QACzB,WAAW,EAAE,QAAQ;QACrB,aAAa,EAAE,iBAAiB;QAChC,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,YAAY,CAAC;QAC5C,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC;QAC7C,cAAc,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC;KACpD,CAAC;IAEF,OAAO,OAAO,CAAC;AAChB,CAAC;AA6BD,MAAM,UAAU,wBAAwB;IACvC,MAAM,OAAO,GAAG;QACf,OAAO,EAAE,EAAE;QACX,IAAI,EAAE,EAAE;QACR,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,EAAE;QACV,EAAE,EAAE,WAAW;QACf,WAAW,EAAE,GAAG;QAChB,MAAM,EAAE,KAAK;QACb,GAAG,EAAE,GAAG;QACR,IAAI,EAAE,GAAG;KACT,CAAC;IAEF,MAAM,OAAO,GAAG;QACf,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,cAAc,EAAE;QAChC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,cAAc,EAAE;QAC9B,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,cAAc,EAAE;QAC9B,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,cAAc,EAAE;QACnC,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE;QAClB,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;QACZ,MAAM,EAAE,EAAE;KACV,CAAC;IAEF,MAAM,QAAQ,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;IAEzB,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;AACvC,CAAC"}
|