@prosopo/provider 5.10.2 → 5.10.3
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 +8 -8
- package/.turbo/turbo-build$colon$tsc.log +27 -27
- package/.turbo/turbo-build.log +9 -9
- package/CHANGELOG.md +46 -0
- package/dist/cjs/tasks/captchaManager.cjs +2 -1
- package/dist/cjs/tasks/decisionMachine/decisionMachineRunner.cjs +20 -17
- package/dist/cjs/tasks/detection/bundlePool.cjs +7 -4
- package/dist/cjs/tasks/detection/decodePayload.cjs +1139 -1120
- package/dist/cjs/tasks/detection/decodePayload.js +1 -1
- package/dist/cjs/tasks/detection/getBotScore.cjs +2 -2
- package/dist/cjs/tasks/frictionless/frictionlessTasks.cjs +3 -2
- package/dist/tasks/captchaManager.d.ts +1 -0
- package/dist/tasks/captchaManager.d.ts.map +1 -1
- package/dist/tasks/captchaManager.js +2 -1
- package/dist/tasks/captchaManager.js.map +1 -1
- package/dist/tasks/decisionMachine/decisionMachineRunner.d.ts +2 -0
- package/dist/tasks/decisionMachine/decisionMachineRunner.d.ts.map +1 -1
- package/dist/tasks/decisionMachine/decisionMachineRunner.js +20 -17
- package/dist/tasks/decisionMachine/decisionMachineRunner.js.map +1 -1
- package/dist/tasks/detection/bundlePool.d.ts +1 -0
- package/dist/tasks/detection/bundlePool.d.ts.map +1 -1
- package/dist/tasks/detection/bundlePool.js +7 -4
- package/dist/tasks/detection/bundlePool.js.map +1 -1
- package/dist/tasks/detection/bundlePool.test.js +36 -0
- package/dist/tasks/detection/bundlePool.test.js.map +1 -1
- package/dist/tasks/detection/decodePayload.d.ts +2 -2
- package/dist/tasks/detection/decodePayload.d.ts.map +1 -1
- package/dist/tasks/detection/decodePayload.js +1 -1
- package/dist/tasks/detection/decodePayload.js.map +1 -1
- package/dist/tasks/detection/getBotScore.d.ts +1 -1
- package/dist/tasks/detection/getBotScore.d.ts.map +1 -1
- package/dist/tasks/detection/getBotScore.js +3 -3
- package/dist/tasks/detection/getBotScore.js.map +1 -1
- package/dist/tasks/frictionless/frictionlessTasks.d.ts +1 -0
- package/dist/tasks/frictionless/frictionlessTasks.d.ts.map +1 -1
- package/dist/tasks/frictionless/frictionlessTasks.js +3 -2
- package/dist/tasks/frictionless/frictionlessTasks.js.map +1 -1
- package/dist/tests/integration/decisionMachines.integration.test.js +65 -1
- package/dist/tests/integration/decisionMachines.integration.test.js.map +1 -1
- package/dist/tests/unit/schedulers/captchaScheduler.unit.test.js +5 -3
- package/dist/tests/unit/schedulers/captchaScheduler.unit.test.js.map +1 -1
- package/dist/tests/unit/tasks/client/clientTasks.unit.test.js +10 -9
- package/dist/tests/unit/tasks/client/clientTasks.unit.test.js.map +1 -1
- package/dist/tests/unit/tasks/dataset/datasetTasks.unit.test.js +9 -3
- package/dist/tests/unit/tasks/dataset/datasetTasks.unit.test.js.map +1 -1
- package/dist/tests/unit/tasks/dataset/datasetTasksUtils.unit.test.js +11 -6
- package/dist/tests/unit/tasks/dataset/datasetTasksUtils.unit.test.js.map +1 -1
- package/dist/tests/unit/tasks/decisionMachine/decisionMachineRunner.unit.test.js +38 -0
- package/dist/tests/unit/tasks/decisionMachine/decisionMachineRunner.unit.test.js.map +1 -1
- package/dist/tests/unit/tasks/detection/getBotScore.unit.test.js +3 -3
- package/dist/tests/unit/tasks/detection/getBotScore.unit.test.js.map +1 -1
- package/dist/tests/unit/tasks/powCaptcha/powTasks.unit.test.js +78 -84
- package/dist/tests/unit/tasks/powCaptcha/powTasks.unit.test.js.map +1 -1
- package/package.json +28 -28
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getBotScore.unit.test.js","sourceRoot":"","sources":["../../../../../src/tests/unit/tasks/detection/getBotScore.unit.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"getBotScore.unit.test.js","sourceRoot":"","sources":["../../../../../src/tests/unit/tasks/detection/getBotScore.unit.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { stringToHex, u8aToHex } from "@polkadot/util";
|
|
2
|
-
import { ApiParams, CaptchaStatus, CaptchaType, FrictionlessReason, POW_SEPARATOR, ResultReason, } from "@prosopo/types";
|
|
2
|
+
import { ApiParams, CaptchaStatus, CaptchaType, FrictionlessReason, IPValidationAction, POW_SEPARATOR, ResultReason, } from "@prosopo/types";
|
|
3
3
|
import { AccessPolicyType, } from "@prosopo/user-access-policy";
|
|
4
4
|
import { getIPAddress, verifyRecency } from "@prosopo/util";
|
|
5
5
|
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
|
|
@@ -88,12 +88,12 @@ describe("PowCaptchaManager", () => {
|
|
|
88
88
|
const dappAccount = "dappAccount";
|
|
89
89
|
const origin = "origin";
|
|
90
90
|
const challengeRegExp = new RegExp(`[0-9]+___${userAccount}___${dappAccount}`);
|
|
91
|
-
pair.sign.mockReturnValueOnce("signedChallenge");
|
|
92
|
-
u8aToHex.mockReturnValueOnce("
|
|
91
|
+
vi.mocked(pair.sign).mockReturnValueOnce(new TextEncoder().encode("signedChallenge"));
|
|
92
|
+
vi.mocked(u8aToHex).mockReturnValueOnce("0xhexSignedChallenge");
|
|
93
93
|
const result = await powCaptchaManager.getPowCaptchaChallenge(userAccount, dappAccount, origin);
|
|
94
94
|
expect(result.challenge.match(challengeRegExp)).toBeTruthy();
|
|
95
95
|
expect(result.difficulty).toEqual(4);
|
|
96
|
-
expect(result.providerSignature).toEqual("
|
|
96
|
+
expect(result.providerSignature).toEqual("0xhexSignedChallenge");
|
|
97
97
|
expect(pair.sign).toHaveBeenCalledWith(stringToHex(result.challenge));
|
|
98
98
|
});
|
|
99
99
|
});
|
|
@@ -125,12 +125,12 @@ describe("PowCaptchaManager", () => {
|
|
|
125
125
|
providerSignature,
|
|
126
126
|
lastUpdatedTimestamp: new Date(),
|
|
127
127
|
};
|
|
128
|
-
verifyRecency.mockImplementation(() => true);
|
|
129
|
-
checkPowSignature.mockImplementation(() =>
|
|
130
|
-
validateSolution.mockImplementation(() => true);
|
|
131
|
-
db.getPowCaptchaRecordByChallenge.mockResolvedValue(challengeRecord);
|
|
132
|
-
db.updatePowCaptchaRecordResult.mockResolvedValue(
|
|
133
|
-
db.markDappUserPoWCommitmentsChecked.mockResolvedValue(
|
|
128
|
+
vi.mocked(verifyRecency).mockImplementation(() => true);
|
|
129
|
+
vi.mocked(checkPowSignature).mockImplementation(() => undefined);
|
|
130
|
+
vi.mocked(validateSolution).mockImplementation(() => true);
|
|
131
|
+
vi.mocked(db.getPowCaptchaRecordByChallenge).mockResolvedValue(challengeRecord);
|
|
132
|
+
vi.mocked(db.updatePowCaptchaRecordResult).mockResolvedValue(undefined);
|
|
133
|
+
vi.mocked(db.markDappUserPoWCommitmentsChecked).mockResolvedValue(undefined);
|
|
134
134
|
const verifyPowCaptchaSolutionArgs = [
|
|
135
135
|
challenge,
|
|
136
136
|
providerSignature,
|
|
@@ -202,11 +202,11 @@ describe("PowCaptchaManager", () => {
|
|
|
202
202
|
difficulty,
|
|
203
203
|
lastUpdatedTimestamp: new Date(0),
|
|
204
204
|
};
|
|
205
|
-
verifyRecency.mockImplementation(() => {
|
|
205
|
+
vi.mocked(verifyRecency).mockImplementation(() => {
|
|
206
206
|
return true;
|
|
207
207
|
});
|
|
208
208
|
db.getPowCaptchaRecordByChallenge.mockResolvedValue(challengeRecord);
|
|
209
|
-
validateSolution.mockImplementation(() => false);
|
|
209
|
+
vi.mocked(validateSolution).mockImplementation(() => false);
|
|
210
210
|
expect((await powCaptchaManager.verifyPowCaptchaSolution(challenge, signature, nonce, timeout, timestampSignature, ipAddress, headers, undefined)).verified).toBe(false);
|
|
211
211
|
});
|
|
212
212
|
it("auto-fails with CAPTCHA_INVALID_SALT when salt decodes to invalid coords", async () => {
|
|
@@ -234,8 +234,8 @@ describe("PowCaptchaManager", () => {
|
|
|
234
234
|
difficulty,
|
|
235
235
|
lastUpdatedTimestamp: new Date(0),
|
|
236
236
|
};
|
|
237
|
-
db.getPowCaptchaRecordByChallenge.mockResolvedValue(challengeRecord);
|
|
238
|
-
db.updatePowCaptchaRecordResult.mockResolvedValue(
|
|
237
|
+
vi.mocked(db.getPowCaptchaRecordByChallenge).mockResolvedValue(challengeRecord);
|
|
238
|
+
vi.mocked(db.updatePowCaptchaRecordResult).mockResolvedValue(undefined);
|
|
239
239
|
const malformedSalt = "0x010200";
|
|
240
240
|
const result = await powCaptchaManager.verifyPowCaptchaSolution(challenge, signature, nonce, timeout, timestampSignature, ipAddress, headers, undefined, malformedSalt);
|
|
241
241
|
expect(result.verified).toBe(false);
|
|
@@ -341,8 +341,8 @@ describe("PowCaptchaManager", () => {
|
|
|
341
341
|
result: { status: CaptchaStatus.approved },
|
|
342
342
|
ipAddress: getCompositeIpAddress(getIPAddress("1.1.1.1")),
|
|
343
343
|
};
|
|
344
|
-
db.getPowCaptchaRecordByChallenge.mockResolvedValue(challengeRecord);
|
|
345
|
-
verifyRecency.mockImplementation(() => true);
|
|
344
|
+
vi.mocked(db.getPowCaptchaRecordByChallenge).mockResolvedValue(challengeRecord);
|
|
345
|
+
vi.mocked(verifyRecency).mockImplementation(() => true);
|
|
346
346
|
const result = await powCaptchaManager.serverVerifyPowCaptchaSolution(dappAccount, challenge, timeout, mockEnv);
|
|
347
347
|
expect(result.verified).toBe(true);
|
|
348
348
|
expect(db.getPowCaptchaRecordByChallenge).toHaveBeenCalledWith(challenge);
|
|
@@ -366,12 +366,12 @@ describe("PowCaptchaManager", () => {
|
|
|
366
366
|
result: { status: CaptchaStatus.approved },
|
|
367
367
|
ipAddress: getCompositeIpAddress(getIPAddress("1.1.1.1")),
|
|
368
368
|
};
|
|
369
|
-
db.getPowCaptchaRecordByChallenge.mockResolvedValue(challengeRecord);
|
|
370
|
-
verifyRecency.mockImplementation(() => true);
|
|
369
|
+
vi.mocked(db.getPowCaptchaRecordByChallenge).mockResolvedValue(challengeRecord);
|
|
370
|
+
vi.mocked(verifyRecency).mockImplementation(() => true);
|
|
371
371
|
const verified = await powCaptchaManager.serverVerifyPowCaptchaSolution(dappAccount, challenge, timeout, mockEnv);
|
|
372
372
|
expect(verified.verified).toBe(true);
|
|
373
373
|
expect(verified.sessionId).toBe("session-abc");
|
|
374
|
-
db.getPowCaptchaRecordByChallenge.mockResolvedValue({
|
|
374
|
+
vi.mocked(db.getPowCaptchaRecordByChallenge).mockResolvedValue({
|
|
375
375
|
...challengeRecord,
|
|
376
376
|
serverChecked: true,
|
|
377
377
|
});
|
|
@@ -385,7 +385,7 @@ describe("PowCaptchaManager", () => {
|
|
|
385
385
|
const userAccount = "testUserAccount";
|
|
386
386
|
const challenge = `${timestamp}${POW_SEPARATOR}${userAccount}${POW_SEPARATOR}${dappAccount}`;
|
|
387
387
|
const timeout = 1000;
|
|
388
|
-
db.getPowCaptchaRecordByChallenge.mockResolvedValue(null);
|
|
388
|
+
vi.mocked(db.getPowCaptchaRecordByChallenge).mockResolvedValue(null);
|
|
389
389
|
const result = await powCaptchaManager.serverVerifyPowCaptchaSolution(dappAccount, challenge, timeout, mockEnv);
|
|
390
390
|
expect(result.verified).toBe(false);
|
|
391
391
|
expect(db.getPowCaptchaRecordByChallenge).toHaveBeenCalledWith(challenge);
|
|
@@ -445,11 +445,9 @@ describe("PowCaptchaManager", () => {
|
|
|
445
445
|
findRuleIds: vi.fn(),
|
|
446
446
|
fetchAllRuleIds: vi.fn(),
|
|
447
447
|
};
|
|
448
|
-
db.getPowCaptchaRecordByChallenge.mockResolvedValue(challengeRecord);
|
|
449
|
-
db.getSessionRecordBySessionId
|
|
450
|
-
|
|
451
|
-
.mockResolvedValue(sessionRecord);
|
|
452
|
-
verifyRecency.mockImplementation(() => true);
|
|
448
|
+
vi.mocked(db.getPowCaptchaRecordByChallenge).mockResolvedValue(challengeRecord);
|
|
449
|
+
vi.mocked(db.getSessionRecordBySessionId).mockResolvedValue(sessionRecord);
|
|
450
|
+
vi.mocked(verifyRecency).mockImplementation(() => true);
|
|
453
451
|
const result = await powCaptchaManager.serverVerifyPowCaptchaSolution(dappAccount, challenge, timeout, mockEnv, undefined, mockAccessRulesStorage);
|
|
454
452
|
expect(result.verified).toBe(false);
|
|
455
453
|
expect(db.updateSessionRecord).toHaveBeenCalledWith(sessionId, expect.objectContaining({
|
|
@@ -516,11 +514,9 @@ describe("PowCaptchaManager", () => {
|
|
|
516
514
|
findRuleIds: vi.fn(),
|
|
517
515
|
fetchAllRuleIds: vi.fn(),
|
|
518
516
|
};
|
|
519
|
-
db.getPowCaptchaRecordByChallenge.mockResolvedValue(challengeRecord);
|
|
520
|
-
db.getSessionRecordBySessionId
|
|
521
|
-
|
|
522
|
-
.mockResolvedValue(sessionRecord);
|
|
523
|
-
verifyRecency.mockImplementation(() => true);
|
|
517
|
+
vi.mocked(db.getPowCaptchaRecordByChallenge).mockResolvedValue(challengeRecord);
|
|
518
|
+
vi.mocked(db.getSessionRecordBySessionId).mockResolvedValue(sessionRecord);
|
|
519
|
+
vi.mocked(verifyRecency).mockImplementation(() => true);
|
|
524
520
|
const result = await powCaptchaManager.serverVerifyPowCaptchaSolution(dappAccount, challenge, timeout, mockEnv, undefined, mockAccessRulesStorage);
|
|
525
521
|
expect(result.verified).toBe(true);
|
|
526
522
|
});
|
|
@@ -558,8 +554,8 @@ describe("PowCaptchaManager", () => {
|
|
|
558
554
|
findRuleIds: vi.fn(),
|
|
559
555
|
fetchAllRuleIds: vi.fn(),
|
|
560
556
|
};
|
|
561
|
-
db.getPowCaptchaRecordByChallenge.mockResolvedValue(challengeRecord);
|
|
562
|
-
verifyRecency.mockImplementation(() => true);
|
|
557
|
+
vi.mocked(db.getPowCaptchaRecordByChallenge).mockResolvedValue(challengeRecord);
|
|
558
|
+
vi.mocked(verifyRecency).mockImplementation(() => true);
|
|
563
559
|
const result = await powCaptchaManager.serverVerifyPowCaptchaSolution(dappAccount, challenge, timeout, mockEnv, undefined, mockAccessRulesStorage);
|
|
564
560
|
expect(result.verified).toBe(true);
|
|
565
561
|
});
|
|
@@ -597,8 +593,8 @@ describe("PowCaptchaManager", () => {
|
|
|
597
593
|
behavioralDataPacked,
|
|
598
594
|
deviceCapability: "test-device",
|
|
599
595
|
};
|
|
600
|
-
db.getPowCaptchaRecordByChallenge.mockResolvedValue(challengeRecord);
|
|
601
|
-
verifyRecency.mockImplementation(() => true);
|
|
596
|
+
vi.mocked(db.getPowCaptchaRecordByChallenge).mockResolvedValue(challengeRecord);
|
|
597
|
+
vi.mocked(verifyRecency).mockImplementation(() => true);
|
|
602
598
|
const result = await powCaptchaManager.serverVerifyPowCaptchaSolution(dappAccount, challenge, timeout, mockEnv);
|
|
603
599
|
expect(result.verified).toBe(true);
|
|
604
600
|
});
|
|
@@ -634,9 +630,9 @@ describe("PowCaptchaManager", () => {
|
|
|
634
630
|
behavioralDataPacked,
|
|
635
631
|
deviceCapability: "suspicious-device",
|
|
636
632
|
};
|
|
637
|
-
db.getPowCaptchaRecordByChallenge.mockResolvedValue(challengeRecord);
|
|
638
|
-
db.updatePowCaptchaRecord.mockResolvedValue(undefined);
|
|
639
|
-
verifyRecency.mockImplementation(() => true);
|
|
633
|
+
vi.mocked(db.getPowCaptchaRecordByChallenge).mockResolvedValue(challengeRecord);
|
|
634
|
+
vi.mocked(db.updatePowCaptchaRecord).mockResolvedValue(undefined);
|
|
635
|
+
vi.mocked(verifyRecency).mockImplementation(() => true);
|
|
640
636
|
mockDecisionMachine(vi.fn().mockResolvedValue({
|
|
641
637
|
decision: "deny",
|
|
642
638
|
reason: "Suspicious device detected",
|
|
@@ -680,8 +676,8 @@ describe("PowCaptchaManager", () => {
|
|
|
680
676
|
providerSignature: "testSignature",
|
|
681
677
|
lastUpdatedTimestamp: new Date(),
|
|
682
678
|
};
|
|
683
|
-
db.getPowCaptchaRecordByChallenge.mockResolvedValue(challengeRecord);
|
|
684
|
-
verifyRecency.mockImplementation(() => true);
|
|
679
|
+
vi.mocked(db.getPowCaptchaRecordByChallenge).mockResolvedValue(challengeRecord);
|
|
680
|
+
vi.mocked(verifyRecency).mockImplementation(() => true);
|
|
685
681
|
const result = await powCaptchaManager.serverVerifyPowCaptchaSolution(dappAccount, challenge, timeout, mockEnv);
|
|
686
682
|
expect(result.verified).toBe(true);
|
|
687
683
|
});
|
|
@@ -717,8 +713,8 @@ describe("PowCaptchaManager", () => {
|
|
|
717
713
|
behavioralDataPacked,
|
|
718
714
|
deviceCapability: "test-device",
|
|
719
715
|
};
|
|
720
|
-
db.getPowCaptchaRecordByChallenge.mockResolvedValue(challengeRecord);
|
|
721
|
-
verifyRecency.mockImplementation(() => true);
|
|
716
|
+
vi.mocked(db.getPowCaptchaRecordByChallenge).mockResolvedValue(challengeRecord);
|
|
717
|
+
vi.mocked(verifyRecency).mockImplementation(() => true);
|
|
722
718
|
mockDecisionMachine(vi.fn().mockRejectedValue(new Error("Decision machine error")));
|
|
723
719
|
try {
|
|
724
720
|
const result = await powCaptchaManager.serverVerifyPowCaptchaSolution(dappAccount, challenge, timeout, mockEnv);
|
|
@@ -792,11 +788,9 @@ describe("PowCaptchaManager", () => {
|
|
|
792
788
|
ops: [],
|
|
793
789
|
},
|
|
794
790
|
};
|
|
795
|
-
db.getPowCaptchaRecordByChallenge.mockResolvedValue(challengeRecord);
|
|
796
|
-
db.getSessionRecordBySessionId
|
|
797
|
-
|
|
798
|
-
.mockResolvedValue(sessionRecord);
|
|
799
|
-
verifyRecency.mockImplementation(() => true);
|
|
791
|
+
vi.mocked(db.getPowCaptchaRecordByChallenge).mockResolvedValue(challengeRecord);
|
|
792
|
+
vi.mocked(db.getSessionRecordBySessionId).mockResolvedValue(sessionRecord);
|
|
793
|
+
vi.mocked(verifyRecency).mockImplementation(() => true);
|
|
800
794
|
const decideSpy = vi
|
|
801
795
|
.fn()
|
|
802
796
|
.mockResolvedValue({ decision: "allow" });
|
|
@@ -845,13 +839,13 @@ describe("PowCaptchaManager", () => {
|
|
|
845
839
|
providerSignature: "testSignature",
|
|
846
840
|
lastUpdatedTimestamp: new Date(),
|
|
847
841
|
};
|
|
848
|
-
db.getPowCaptchaRecordByChallenge.mockResolvedValue(challengeRecord);
|
|
849
|
-
db.getClientRecord.mockResolvedValue({
|
|
842
|
+
vi.mocked(db.getPowCaptchaRecordByChallenge).mockResolvedValue(challengeRecord);
|
|
843
|
+
vi.mocked(db.getClientRecord).mockResolvedValue({
|
|
850
844
|
settings: {},
|
|
851
845
|
});
|
|
852
|
-
checkPowSignature.mockReturnValue(
|
|
853
|
-
validateSolution.mockReturnValue(true);
|
|
854
|
-
verifyRecency.mockImplementation(() => true);
|
|
846
|
+
vi.mocked(checkPowSignature).mockReturnValue(undefined);
|
|
847
|
+
vi.mocked(validateSolution).mockReturnValue(true);
|
|
848
|
+
vi.mocked(verifyRecency).mockImplementation(() => true);
|
|
855
849
|
const result = await powCaptchaManager.serverVerifyPowCaptchaSolution(dappAccount, challenge, timeout, mockEnv, ip);
|
|
856
850
|
expect(result.verified).toBe(true);
|
|
857
851
|
expect(db.updatePowCaptchaRecord).toHaveBeenCalledWith(challenge, {
|
|
@@ -881,21 +875,21 @@ describe("PowCaptchaManager", () => {
|
|
|
881
875
|
userSubmitted: true,
|
|
882
876
|
lastUpdatedTimestamp: new Date(),
|
|
883
877
|
};
|
|
884
|
-
db.getPowCaptchaRecordByChallenge.mockResolvedValue(challengeRecord);
|
|
885
|
-
db.getClientRecord.mockResolvedValue({
|
|
878
|
+
vi.mocked(db.getPowCaptchaRecordByChallenge).mockResolvedValue(challengeRecord);
|
|
879
|
+
vi.mocked(db.getClientRecord).mockResolvedValue({
|
|
886
880
|
settings: {
|
|
887
881
|
ipValidationRules: {
|
|
888
882
|
enabled: false,
|
|
889
883
|
actions: {
|
|
890
|
-
countryChangeAction:
|
|
891
|
-
cityChangeAction:
|
|
884
|
+
countryChangeAction: IPValidationAction.Reject,
|
|
885
|
+
cityChangeAction: IPValidationAction.Reject,
|
|
892
886
|
},
|
|
893
887
|
},
|
|
894
888
|
},
|
|
895
889
|
});
|
|
896
|
-
checkPowSignature.mockReturnValue(
|
|
897
|
-
validateSolution.mockReturnValue(true);
|
|
898
|
-
verifyRecency.mockImplementation(() => true);
|
|
890
|
+
vi.mocked(checkPowSignature).mockReturnValue(undefined);
|
|
891
|
+
vi.mocked(validateSolution).mockReturnValue(true);
|
|
892
|
+
vi.mocked(verifyRecency).mockImplementation(() => true);
|
|
899
893
|
const result = await powCaptchaManager.serverVerifyPowCaptchaSolution(dappAccount, challenge, timeout, mockEnv, ip);
|
|
900
894
|
expect(result.verified).toBe(true);
|
|
901
895
|
expect(db.updatePowCaptchaRecord).toHaveBeenCalledWith(challenge, {
|
|
@@ -925,20 +919,20 @@ describe("PowCaptchaManager", () => {
|
|
|
925
919
|
userSubmitted: true,
|
|
926
920
|
lastUpdatedTimestamp: new Date(),
|
|
927
921
|
};
|
|
928
|
-
db.getPowCaptchaRecordByChallenge.mockResolvedValue(challengeRecord);
|
|
929
|
-
db.getClientRecord.mockResolvedValue({
|
|
922
|
+
vi.mocked(db.getPowCaptchaRecordByChallenge).mockResolvedValue(challengeRecord);
|
|
923
|
+
vi.mocked(db.getClientRecord).mockResolvedValue({
|
|
930
924
|
settings: {
|
|
931
925
|
ipValidationRules: {
|
|
932
926
|
actions: {
|
|
933
|
-
countryChangeAction:
|
|
934
|
-
cityChangeAction:
|
|
927
|
+
countryChangeAction: IPValidationAction.Reject,
|
|
928
|
+
cityChangeAction: IPValidationAction.Reject,
|
|
935
929
|
},
|
|
936
930
|
},
|
|
937
931
|
},
|
|
938
932
|
});
|
|
939
|
-
checkPowSignature.mockReturnValue(
|
|
940
|
-
validateSolution.mockReturnValue(true);
|
|
941
|
-
verifyRecency.mockImplementation(() => true);
|
|
933
|
+
vi.mocked(checkPowSignature).mockReturnValue(undefined);
|
|
934
|
+
vi.mocked(validateSolution).mockReturnValue(true);
|
|
935
|
+
vi.mocked(verifyRecency).mockImplementation(() => true);
|
|
942
936
|
const result = await powCaptchaManager.serverVerifyPowCaptchaSolution(dappAccount, challenge, timeout, mockEnv, ip);
|
|
943
937
|
expect(result.verified).toBe(true);
|
|
944
938
|
expect(db.updatePowCaptchaRecord).toHaveBeenCalledWith(challenge, {
|
|
@@ -968,11 +962,11 @@ describe("PowCaptchaManager", () => {
|
|
|
968
962
|
userSubmitted: true,
|
|
969
963
|
lastUpdatedTimestamp: new Date(),
|
|
970
964
|
};
|
|
971
|
-
db.getPowCaptchaRecordByChallenge.mockResolvedValue(challengeRecord);
|
|
972
|
-
db.getClientRecord.mockResolvedValue(
|
|
973
|
-
checkPowSignature.mockReturnValue(
|
|
974
|
-
validateSolution.mockReturnValue(true);
|
|
975
|
-
verifyRecency.mockImplementation(() => true);
|
|
965
|
+
vi.mocked(db.getPowCaptchaRecordByChallenge).mockResolvedValue(challengeRecord);
|
|
966
|
+
vi.mocked(db.getClientRecord).mockResolvedValue(undefined);
|
|
967
|
+
vi.mocked(checkPowSignature).mockReturnValue(undefined);
|
|
968
|
+
vi.mocked(validateSolution).mockReturnValue(true);
|
|
969
|
+
vi.mocked(verifyRecency).mockImplementation(() => true);
|
|
976
970
|
const result = await powCaptchaManager.serverVerifyPowCaptchaSolution(dappAccount, challenge, timeout, mockEnv, ip);
|
|
977
971
|
expect(result.verified).toBe(true);
|
|
978
972
|
expect(db.updatePowCaptchaRecord).toHaveBeenCalledWith(challenge, {
|
|
@@ -1001,20 +995,20 @@ describe("PowCaptchaManager", () => {
|
|
|
1001
995
|
userSubmitted: true,
|
|
1002
996
|
lastUpdatedTimestamp: new Date(),
|
|
1003
997
|
};
|
|
1004
|
-
db.getPowCaptchaRecordByChallenge.mockResolvedValue(challengeRecord);
|
|
1005
|
-
db.getClientRecord.mockResolvedValue({
|
|
998
|
+
vi.mocked(db.getPowCaptchaRecordByChallenge).mockResolvedValue(challengeRecord);
|
|
999
|
+
vi.mocked(db.getClientRecord).mockResolvedValue({
|
|
1006
1000
|
settings: {
|
|
1007
1001
|
ipValidationRules: {
|
|
1008
1002
|
enabled: true,
|
|
1009
1003
|
actions: {
|
|
1010
|
-
countryChangeAction:
|
|
1004
|
+
countryChangeAction: IPValidationAction.Reject,
|
|
1011
1005
|
},
|
|
1012
1006
|
},
|
|
1013
1007
|
},
|
|
1014
1008
|
});
|
|
1015
|
-
checkPowSignature.mockReturnValue(
|
|
1016
|
-
validateSolution.mockReturnValue(true);
|
|
1017
|
-
verifyRecency.mockImplementation(() => true);
|
|
1009
|
+
vi.mocked(checkPowSignature).mockReturnValue(undefined);
|
|
1010
|
+
vi.mocked(validateSolution).mockReturnValue(true);
|
|
1011
|
+
vi.mocked(verifyRecency).mockImplementation(() => true);
|
|
1018
1012
|
const result = await powCaptchaManager.serverVerifyPowCaptchaSolution(dappAccount, challenge, timeout, mockEnv);
|
|
1019
1013
|
expect(result.verified).toBe(true);
|
|
1020
1014
|
});
|
|
@@ -1129,10 +1123,10 @@ module.exports = (input) => {
|
|
|
1129
1123
|
};
|
|
1130
1124
|
};
|
|
1131
1125
|
`;
|
|
1132
|
-
db.getSessionRecordBySessionId.mockResolvedValue(undefined);
|
|
1133
|
-
db.getPowCaptchaRecordByChallenge.mockResolvedValue(challengeRecord);
|
|
1134
|
-
db.updatePowCaptchaRecord.mockResolvedValue(undefined);
|
|
1135
|
-
verifyRecency.mockImplementation(() => true);
|
|
1126
|
+
vi.mocked(db.getSessionRecordBySessionId).mockResolvedValue(undefined);
|
|
1127
|
+
vi.mocked(db.getPowCaptchaRecordByChallenge).mockResolvedValue(challengeRecord);
|
|
1128
|
+
vi.mocked(db.updatePowCaptchaRecord).mockResolvedValue(undefined);
|
|
1129
|
+
vi.mocked(verifyRecency).mockImplementation(() => true);
|
|
1136
1130
|
mockDecisionMachine(async (input) => {
|
|
1137
1131
|
const decideFn = eval(`(function() { const module = { exports: {} }; ${decisionMachineSource}; return module.exports; })()`);
|
|
1138
1132
|
return decideFn(input);
|
|
@@ -1232,8 +1226,8 @@ module.exports = (input) => {
|
|
|
1232
1226
|
};
|
|
1233
1227
|
};
|
|
1234
1228
|
`;
|
|
1235
|
-
db.getPowCaptchaRecordByChallenge.mockResolvedValue(challengeRecord);
|
|
1236
|
-
verifyRecency.mockImplementation(() => true);
|
|
1229
|
+
vi.mocked(db.getPowCaptchaRecordByChallenge).mockResolvedValue(challengeRecord);
|
|
1230
|
+
vi.mocked(verifyRecency).mockImplementation(() => true);
|
|
1237
1231
|
mockDecisionMachine(async (input) => {
|
|
1238
1232
|
const decideFn = eval(`(function() { const module = { exports: {} }; ${decisionMachineSource}; return module.exports; })()`);
|
|
1239
1233
|
return decideFn(input);
|
|
@@ -1317,8 +1311,8 @@ module.exports = (input) => {
|
|
|
1317
1311
|
};
|
|
1318
1312
|
};
|
|
1319
1313
|
`;
|
|
1320
|
-
db.getPowCaptchaRecordByChallenge.mockResolvedValue(challengeRecord);
|
|
1321
|
-
verifyRecency.mockImplementation(() => true);
|
|
1314
|
+
vi.mocked(db.getPowCaptchaRecordByChallenge).mockResolvedValue(challengeRecord);
|
|
1315
|
+
vi.mocked(verifyRecency).mockImplementation(() => true);
|
|
1322
1316
|
mockDecisionMachine(async (input) => {
|
|
1323
1317
|
const decideFn = eval(`(function() { const module = { exports: {} }; ${decisionMachineSource}; return module.exports; })()`);
|
|
1324
1318
|
return decideFn(input);
|