@prosopo/provider 2.3.1 → 2.4.1
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/dist/api/admin/apiAdminRoutesProvider.d.ts +9 -0
- package/dist/api/admin/apiAdminRoutesProvider.d.ts.map +1 -0
- package/dist/api/admin/apiAdminRoutesProvider.js +17 -0
- package/dist/api/admin/apiAdminRoutesProvider.js.map +1 -0
- package/dist/api/admin/apiRegisterSiteKeyEndpoint.d.ts +13 -0
- package/dist/api/admin/apiRegisterSiteKeyEndpoint.d.ts.map +1 -0
- package/dist/api/admin/apiRegisterSiteKeyEndpoint.js +20 -0
- package/dist/api/admin/apiRegisterSiteKeyEndpoint.js.map +1 -0
- package/dist/api/admin/createApiAdminRoutesProvider.d.ts +4 -0
- package/dist/api/admin/createApiAdminRoutesProvider.d.ts.map +1 -0
- package/dist/api/admin/createApiAdminRoutesProvider.js +7 -0
- package/dist/api/admin/createApiAdminRoutesProvider.js.map +1 -0
- package/dist/api/authMiddleware.d.ts.map +1 -1
- package/dist/api/authMiddleware.js +4 -1
- package/dist/api/authMiddleware.js.map +1 -1
- package/dist/api/blacklistRequestInspector.d.ts +19 -0
- package/dist/api/blacklistRequestInspector.d.ts.map +1 -0
- package/dist/api/blacklistRequestInspector.js +61 -0
- package/dist/api/blacklistRequestInspector.js.map +1 -0
- package/dist/api/block.d.ts +1 -2
- package/dist/api/block.d.ts.map +1 -1
- package/dist/api/block.js +13 -38
- package/dist/api/block.js.map +1 -1
- package/dist/api/captcha.d.ts.map +1 -1
- package/dist/api/captcha.js +85 -88
- package/dist/api/captcha.js.map +1 -1
- package/dist/api/domainMiddleware.d.ts.map +1 -1
- package/dist/api/domainMiddleware.js +7 -6
- package/dist/api/domainMiddleware.js.map +1 -1
- package/dist/api/headerCheckMiddleware.d.ts.map +1 -1
- package/dist/api/headerCheckMiddleware.js +5 -1
- package/dist/api/headerCheckMiddleware.js.map +1 -1
- package/dist/api/public.d.ts.map +1 -1
- package/dist/api/public.js +1 -2
- package/dist/api/public.js.map +1 -1
- package/dist/api/validateAddress.d.ts +4 -0
- package/dist/api/validateAddress.d.ts.map +1 -0
- package/dist/api/validateAddress.js +16 -0
- package/dist/api/validateAddress.js.map +1 -0
- package/dist/api/verify.d.ts.map +1 -1
- package/dist/api/verify.js +6 -14
- package/dist/api/verify.js.map +1 -1
- package/dist/index.d.ts +1 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -2
- package/dist/index.js.map +1 -1
- package/dist/tasks/captchaManager.d.ts +25 -0
- package/dist/tasks/captchaManager.d.ts.map +1 -0
- package/dist/tasks/captchaManager.js +81 -0
- package/dist/tasks/captchaManager.js.map +1 -0
- package/dist/tasks/client/clientTasks.d.ts +2 -7
- package/dist/tasks/client/clientTasks.d.ts.map +1 -1
- package/dist/tasks/client/clientTasks.js +5 -63
- package/dist/tasks/client/clientTasks.js.map +1 -1
- package/dist/tasks/frictionless/frictionlessTasks.d.ts +13 -9
- package/dist/tasks/frictionless/frictionlessTasks.d.ts.map +1 -1
- package/dist/tasks/frictionless/frictionlessTasks.js +54 -23
- package/dist/tasks/frictionless/frictionlessTasks.js.map +1 -1
- package/dist/tasks/frictionless/frictionlessTasksUtils.d.ts +5 -0
- package/dist/tasks/frictionless/frictionlessTasksUtils.d.ts.map +1 -0
- package/dist/tasks/frictionless/frictionlessTasksUtils.js +6 -0
- package/dist/tasks/frictionless/frictionlessTasksUtils.js.map +1 -0
- package/dist/tasks/imgCaptcha/imgCaptchaTasks.d.ts +7 -8
- package/dist/tasks/imgCaptcha/imgCaptchaTasks.d.ts.map +1 -1
- package/dist/tasks/imgCaptcha/imgCaptchaTasks.js +32 -12
- package/dist/tasks/imgCaptcha/imgCaptchaTasks.js.map +1 -1
- package/dist/tasks/imgCaptcha/imgCaptchaTasksUtils.d.ts +1 -3
- package/dist/tasks/imgCaptcha/imgCaptchaTasksUtils.d.ts.map +1 -1
- package/dist/tasks/imgCaptcha/imgCaptchaTasksUtils.js +0 -29
- package/dist/tasks/imgCaptcha/imgCaptchaTasksUtils.js.map +1 -1
- package/dist/tasks/powCaptcha/powTasks.d.ts +8 -5
- package/dist/tasks/powCaptcha/powTasks.d.ts.map +1 -1
- package/dist/tasks/powCaptcha/powTasks.js +22 -15
- package/dist/tasks/powCaptcha/powTasks.js.map +1 -1
- package/dist/tasks/tasks.d.ts.map +1 -1
- package/dist/tasks/tasks.js +3 -3
- package/dist/tasks/tasks.js.map +1 -1
- package/dist/tests/integration/imgCaptcha.integration.test.js +59 -7
- package/dist/tests/integration/imgCaptcha.integration.test.js.map +1 -1
- package/dist/tests/integration/powCaptcha.integration.test.js +57 -13
- package/dist/tests/integration/powCaptcha.integration.test.js.map +1 -1
- package/dist/tests/integration/registerSitekey.d.ts +2 -1
- package/dist/tests/integration/registerSitekey.d.ts.map +1 -1
- package/dist/tests/integration/registerSitekey.js +2 -2
- package/dist/tests/integration/registerSitekey.js.map +1 -1
- package/dist/tests/unit/api/authMiddleware.unit.test.js +7 -1
- package/dist/tests/unit/api/authMiddleware.unit.test.js.map +1 -1
- package/dist/tests/unit/tasks/captchaManager.unit.test.d.ts +2 -0
- package/dist/tests/unit/tasks/captchaManager.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/tasks/captchaManager.unit.test.js +229 -0
- package/dist/tests/unit/tasks/captchaManager.unit.test.js.map +1 -0
- package/dist/tests/unit/tasks/frictionless/frictionlessTasks.unit.test.js +39 -64
- package/dist/tests/unit/tasks/frictionless/frictionlessTasks.unit.test.js.map +1 -1
- package/dist/tests/unit/tasks/frictionless/frictionlessTasksUtils.unit.test.d.ts +2 -0
- package/dist/tests/unit/tasks/frictionless/frictionlessTasksUtils.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/tasks/frictionless/frictionlessTasksUtils.unit.test.js +37 -0
- package/dist/tests/unit/tasks/frictionless/frictionlessTasksUtils.unit.test.js.map +1 -0
- package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasks.unit.test.js +4 -4
- package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasks.unit.test.js.map +1 -1
- package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasksUtils.unit.test.js +1 -101
- package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasksUtils.unit.test.js.map +1 -1
- package/dist/tests/unit/tasks/powCaptcha/powTasks.unit.test.js +5 -10
- package/dist/tests/unit/tasks/powCaptcha/powTasks.unit.test.js.map +1 -1
- package/package.json +14 -11
- package/dist/api/admin.d.ts +0 -4
- package/dist/api/admin.d.ts.map +0 -1
- package/dist/api/admin.js +0 -87
- package/dist/api/admin.js.map +0 -1
- package/dist/api/errorHandler.d.ts +0 -5
- package/dist/api/errorHandler.d.ts.map +0 -1
- package/dist/api/errorHandler.js +0 -10
- package/dist/api/errorHandler.js.map +0 -1
- package/dist/rules/ip.d.ts +0 -4
- package/dist/rules/ip.d.ts.map +0 -1
- package/dist/rules/ip.js +0 -19
- package/dist/rules/ip.js.map +0 -1
- package/dist/rules/user.d.ts +0 -4
- package/dist/rules/user.d.ts.map +0 -1
- package/dist/rules/user.js +0 -10
- package/dist/rules/user.js.map +0 -1
- package/dist/tests/unit/api/errorHandler.unit.test.d.ts +0 -2
- package/dist/tests/unit/api/errorHandler.unit.test.d.ts.map +0 -1
- package/dist/tests/unit/api/errorHandler.unit.test.js +0 -105
- package/dist/tests/unit/api/errorHandler.unit.test.js.map +0 -1
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
import { CaptchaType, Tier } from "@prosopo/types";
|
|
2
|
+
import { beforeEach, describe, expect, it, vi } from "vitest";
|
|
3
|
+
import { CaptchaManager } from "../../../tasks/captchaManager.js";
|
|
4
|
+
const defaultUserSettings = {
|
|
5
|
+
frictionlessThreshold: 0.8,
|
|
6
|
+
domains: [],
|
|
7
|
+
captchaType: CaptchaType.frictionless,
|
|
8
|
+
powDifficulty: 4,
|
|
9
|
+
};
|
|
10
|
+
describe("CaptchaManager", () => {
|
|
11
|
+
let db;
|
|
12
|
+
let pair;
|
|
13
|
+
let logger;
|
|
14
|
+
let captchaManager;
|
|
15
|
+
beforeEach(() => {
|
|
16
|
+
db = {
|
|
17
|
+
checkAndRemoveSession: vi.fn(),
|
|
18
|
+
getFrictionlessTokenRecordByTokenId: vi.fn(),
|
|
19
|
+
};
|
|
20
|
+
pair = {
|
|
21
|
+
sign: vi.fn(),
|
|
22
|
+
address: "testAddress",
|
|
23
|
+
};
|
|
24
|
+
logger = {
|
|
25
|
+
info: vi.fn(),
|
|
26
|
+
error: vi.fn(),
|
|
27
|
+
debug: vi.fn(),
|
|
28
|
+
warn: vi.fn(),
|
|
29
|
+
};
|
|
30
|
+
captchaManager = new CaptchaManager(db, pair, logger);
|
|
31
|
+
vi.clearAllMocks();
|
|
32
|
+
});
|
|
33
|
+
describe("isValidRequest", () => {
|
|
34
|
+
it("should validate a request for an image captcha when the client settings are set to image and no session ID is passed", async () => {
|
|
35
|
+
const result = await captchaManager.isValidRequest({
|
|
36
|
+
account: "account",
|
|
37
|
+
tier: Tier.Free,
|
|
38
|
+
settings: {
|
|
39
|
+
...defaultUserSettings,
|
|
40
|
+
captchaType: CaptchaType.image,
|
|
41
|
+
},
|
|
42
|
+
}, CaptchaType.image);
|
|
43
|
+
expect(result).toEqual({
|
|
44
|
+
valid: true,
|
|
45
|
+
type: CaptchaType.image,
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
it("should validate a request for an pow captcha when the client settings are set to pow and no session ID is passed", async () => {
|
|
49
|
+
const result = await captchaManager.isValidRequest({
|
|
50
|
+
account: "account",
|
|
51
|
+
tier: Tier.Free,
|
|
52
|
+
settings: {
|
|
53
|
+
...defaultUserSettings,
|
|
54
|
+
captchaType: CaptchaType.pow,
|
|
55
|
+
},
|
|
56
|
+
}, CaptchaType.pow);
|
|
57
|
+
expect(result).toEqual({
|
|
58
|
+
valid: true,
|
|
59
|
+
type: CaptchaType.pow,
|
|
60
|
+
});
|
|
61
|
+
});
|
|
62
|
+
it("should validate a request for an pow captcha when the client settings are set to frictionless and a session ID is passed and found", async () => {
|
|
63
|
+
db.checkAndRemoveSession.mockResolvedValue({
|
|
64
|
+
tokenId: "tokenId",
|
|
65
|
+
});
|
|
66
|
+
db.getFrictionlessTokenRecordByTokenId.mockResolvedValue({
|
|
67
|
+
_id: "frictionlessTokenId",
|
|
68
|
+
});
|
|
69
|
+
const result = await captchaManager.isValidRequest({
|
|
70
|
+
account: "account",
|
|
71
|
+
tier: Tier.Free,
|
|
72
|
+
settings: {
|
|
73
|
+
...defaultUserSettings,
|
|
74
|
+
captchaType: CaptchaType.frictionless,
|
|
75
|
+
},
|
|
76
|
+
}, CaptchaType.pow, "sessionId");
|
|
77
|
+
expect(result).toEqual({
|
|
78
|
+
valid: true,
|
|
79
|
+
type: CaptchaType.pow,
|
|
80
|
+
frictionlessTokenId: "frictionlessTokenId",
|
|
81
|
+
});
|
|
82
|
+
});
|
|
83
|
+
it("should validate a request for an image captcha when the client settings are set to frictionless and a session ID is passed and found", async () => {
|
|
84
|
+
db.checkAndRemoveSession.mockResolvedValue({
|
|
85
|
+
tokenId: "tokenId",
|
|
86
|
+
});
|
|
87
|
+
db.getFrictionlessTokenRecordByTokenId.mockResolvedValue({
|
|
88
|
+
_id: "frictionlessTokenId",
|
|
89
|
+
});
|
|
90
|
+
const result = await captchaManager.isValidRequest({
|
|
91
|
+
account: "account",
|
|
92
|
+
tier: Tier.Free,
|
|
93
|
+
settings: {
|
|
94
|
+
...defaultUserSettings,
|
|
95
|
+
captchaType: CaptchaType.frictionless,
|
|
96
|
+
},
|
|
97
|
+
}, CaptchaType.image, "sessionId");
|
|
98
|
+
expect(result).toEqual({
|
|
99
|
+
valid: true,
|
|
100
|
+
type: CaptchaType.image,
|
|
101
|
+
frictionlessTokenId: "frictionlessTokenId",
|
|
102
|
+
});
|
|
103
|
+
});
|
|
104
|
+
it("should not validate a request for an image captcha when the client settings are set to frictionless and a session ID is passed but not found", async () => {
|
|
105
|
+
db.checkAndRemoveSession.mockResolvedValue(undefined);
|
|
106
|
+
db.getFrictionlessTokenRecordByTokenId.mockResolvedValue({
|
|
107
|
+
_id: "frictionlessTokenId",
|
|
108
|
+
});
|
|
109
|
+
const sessionId = "sessionId";
|
|
110
|
+
const result = await captchaManager.isValidRequest({
|
|
111
|
+
account: "account",
|
|
112
|
+
tier: Tier.Free,
|
|
113
|
+
settings: {
|
|
114
|
+
...defaultUserSettings,
|
|
115
|
+
captchaType: CaptchaType.frictionless,
|
|
116
|
+
},
|
|
117
|
+
}, CaptchaType.image, sessionId);
|
|
118
|
+
expect(result).toEqual({
|
|
119
|
+
valid: false,
|
|
120
|
+
reason: "CAPTCHA.NO_SESSION_FOUND",
|
|
121
|
+
type: CaptchaType.image,
|
|
122
|
+
});
|
|
123
|
+
});
|
|
124
|
+
it("should not validate a request for a pow captcha when the client settings are set to frictionless and a session ID is passed but not found", async () => {
|
|
125
|
+
db.checkAndRemoveSession.mockResolvedValue(undefined);
|
|
126
|
+
db.getFrictionlessTokenRecordByTokenId.mockResolvedValue({
|
|
127
|
+
_id: "frictionlessTokenId",
|
|
128
|
+
});
|
|
129
|
+
const sessionId = "sessionId";
|
|
130
|
+
const result = await captchaManager.isValidRequest({
|
|
131
|
+
account: "account",
|
|
132
|
+
tier: Tier.Free,
|
|
133
|
+
settings: {
|
|
134
|
+
...defaultUserSettings,
|
|
135
|
+
captchaType: CaptchaType.frictionless,
|
|
136
|
+
},
|
|
137
|
+
}, CaptchaType.pow, sessionId);
|
|
138
|
+
expect(result).toEqual({
|
|
139
|
+
valid: false,
|
|
140
|
+
reason: "CAPTCHA.NO_SESSION_FOUND",
|
|
141
|
+
type: CaptchaType.pow,
|
|
142
|
+
});
|
|
143
|
+
});
|
|
144
|
+
it("should not validate a request for a pow captcha when the client settings are set to frictionless but no session ID is passed in", async () => {
|
|
145
|
+
const result = await captchaManager.isValidRequest({
|
|
146
|
+
account: "account",
|
|
147
|
+
tier: Tier.Free,
|
|
148
|
+
settings: {
|
|
149
|
+
...defaultUserSettings,
|
|
150
|
+
captchaType: CaptchaType.frictionless,
|
|
151
|
+
},
|
|
152
|
+
}, CaptchaType.pow, undefined);
|
|
153
|
+
expect(result).toEqual({
|
|
154
|
+
valid: false,
|
|
155
|
+
reason: "API.INCORRECT_CAPTCHA_TYPE",
|
|
156
|
+
type: CaptchaType.pow,
|
|
157
|
+
});
|
|
158
|
+
});
|
|
159
|
+
it("should not validate a request for an image captcha when the client settings are set to frictionless but no session ID is passed in", async () => {
|
|
160
|
+
const result = await captchaManager.isValidRequest({
|
|
161
|
+
account: "account",
|
|
162
|
+
tier: Tier.Free,
|
|
163
|
+
settings: {
|
|
164
|
+
...defaultUserSettings,
|
|
165
|
+
captchaType: CaptchaType.frictionless,
|
|
166
|
+
},
|
|
167
|
+
}, CaptchaType.image, undefined);
|
|
168
|
+
expect(result).toEqual({
|
|
169
|
+
valid: false,
|
|
170
|
+
reason: "API.INCORRECT_CAPTCHA_TYPE",
|
|
171
|
+
type: CaptchaType.image,
|
|
172
|
+
});
|
|
173
|
+
});
|
|
174
|
+
it("should not validate a request for a pow captcha when the client settings are set to image", async () => {
|
|
175
|
+
const result = await captchaManager.isValidRequest({
|
|
176
|
+
account: "account",
|
|
177
|
+
tier: Tier.Free,
|
|
178
|
+
settings: {
|
|
179
|
+
...defaultUserSettings,
|
|
180
|
+
captchaType: CaptchaType.image,
|
|
181
|
+
},
|
|
182
|
+
}, CaptchaType.pow);
|
|
183
|
+
expect(result).toEqual({
|
|
184
|
+
valid: false,
|
|
185
|
+
reason: "API.INCORRECT_CAPTCHA_TYPE",
|
|
186
|
+
type: CaptchaType.pow,
|
|
187
|
+
});
|
|
188
|
+
});
|
|
189
|
+
it("should not validate a request for an image captcha when the client settings are set to pow", async () => {
|
|
190
|
+
const result = await captchaManager.isValidRequest({
|
|
191
|
+
account: "account",
|
|
192
|
+
tier: Tier.Free,
|
|
193
|
+
settings: {
|
|
194
|
+
...defaultUserSettings,
|
|
195
|
+
captchaType: CaptchaType.pow,
|
|
196
|
+
},
|
|
197
|
+
}, CaptchaType.image);
|
|
198
|
+
expect(result).toEqual({
|
|
199
|
+
valid: false,
|
|
200
|
+
reason: "API.INCORRECT_CAPTCHA_TYPE",
|
|
201
|
+
type: CaptchaType.image,
|
|
202
|
+
});
|
|
203
|
+
});
|
|
204
|
+
});
|
|
205
|
+
describe("getVerificationResponse", () => {
|
|
206
|
+
it("should return a verification response with a score if the tier is not free", async () => {
|
|
207
|
+
const result = captchaManager.getVerificationResponse(true, {
|
|
208
|
+
account: "account",
|
|
209
|
+
tier: Tier.Professional,
|
|
210
|
+
}, () => "translated", 0.5);
|
|
211
|
+
expect(result).toEqual({
|
|
212
|
+
status: "translated",
|
|
213
|
+
verified: true,
|
|
214
|
+
score: 0.5,
|
|
215
|
+
});
|
|
216
|
+
});
|
|
217
|
+
it("should return a verification response without a score if the tier is free", async () => {
|
|
218
|
+
const result = captchaManager.getVerificationResponse(true, {
|
|
219
|
+
account: "account",
|
|
220
|
+
tier: Tier.Free,
|
|
221
|
+
}, () => "translated", 0.5);
|
|
222
|
+
expect(result).toEqual({
|
|
223
|
+
status: "translated",
|
|
224
|
+
verified: true,
|
|
225
|
+
});
|
|
226
|
+
});
|
|
227
|
+
});
|
|
228
|
+
});
|
|
229
|
+
//# sourceMappingURL=captchaManager.unit.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"captchaManager.unit.test.js","sourceRoot":"","sources":["../../../../src/tests/unit/tasks/captchaManager.unit.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,92 +1,67 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { FrictionlessPenalties, } from "@prosopo/types";
|
|
2
2
|
import { beforeEach, describe, expect, it, vi } from "vitest";
|
|
3
3
|
import { FrictionlessManager } from "../../../../tasks/frictionless/frictionlessTasks.js";
|
|
4
4
|
describe("Frictionless Task Manager", () => {
|
|
5
5
|
let db;
|
|
6
6
|
let pair;
|
|
7
|
-
let captchaConfig;
|
|
8
7
|
let frictionlessTaskManager;
|
|
8
|
+
let config;
|
|
9
9
|
beforeEach(() => {
|
|
10
10
|
db = {
|
|
11
|
-
|
|
12
|
-
const ipBlockRules = [
|
|
13
|
-
{
|
|
14
|
-
_id: 1,
|
|
15
|
-
ip: 16843009.0,
|
|
16
|
-
dappAccount: "testDapp",
|
|
17
|
-
global: false,
|
|
18
|
-
hardBlock: false,
|
|
19
|
-
type: "ipAddress",
|
|
20
|
-
},
|
|
21
|
-
{
|
|
22
|
-
_id: 2,
|
|
23
|
-
ip: 33686018.0,
|
|
24
|
-
global: true,
|
|
25
|
-
hardBlock: false,
|
|
26
|
-
type: "ipAddress",
|
|
27
|
-
},
|
|
28
|
-
];
|
|
29
|
-
return ipBlockRules.find((rule) => BigInt(rule.ip) === ip);
|
|
30
|
-
}),
|
|
31
|
-
getUserBlockRuleRecord: vi.fn((user, dapp) => {
|
|
32
|
-
const userBlockRules = [
|
|
33
|
-
{
|
|
34
|
-
_id: 1,
|
|
35
|
-
userAccount: "testUser1",
|
|
36
|
-
dappAccount: "testDapp",
|
|
37
|
-
global: false,
|
|
38
|
-
hardBlock: false,
|
|
39
|
-
type: "user",
|
|
40
|
-
},
|
|
41
|
-
];
|
|
42
|
-
return userBlockRules.find((rule) => rule.userAccount === user && rule.dappAccount === dapp);
|
|
43
|
-
}),
|
|
11
|
+
updateFrictionlessTokenRecord: vi.fn(),
|
|
44
12
|
};
|
|
45
13
|
pair = {
|
|
46
14
|
sign: vi.fn(),
|
|
47
15
|
address: "testAddress",
|
|
48
16
|
};
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
17
|
+
config = {
|
|
18
|
+
penalties: FrictionlessPenalties.parse({}),
|
|
19
|
+
captchas: {
|
|
20
|
+
solved: { count: 5 },
|
|
21
|
+
unsolved: { count: 5 },
|
|
22
|
+
},
|
|
52
23
|
lRules: { en: 1 },
|
|
53
24
|
};
|
|
54
|
-
frictionlessTaskManager = new FrictionlessManager(
|
|
25
|
+
frictionlessTaskManager = new FrictionlessManager(db, pair, config);
|
|
55
26
|
vi.clearAllMocks();
|
|
56
27
|
});
|
|
57
|
-
describe("checkIpRules", () => {
|
|
58
|
-
it("should return true if an ip has a rule against it and a dapp", async () => {
|
|
59
|
-
const result = await frictionlessTaskManager.checkIpRules(new Address4("1.1.1.1"), "testDapp");
|
|
60
|
-
expect(result).toBe(true);
|
|
61
|
-
});
|
|
62
|
-
it("should return true if an ip has a rule against it but no dapp", async () => {
|
|
63
|
-
const result = await frictionlessTaskManager.checkIpRules(new Address4("2.2.2.2"), "testDapp");
|
|
64
|
-
expect(result).toBe(true);
|
|
65
|
-
});
|
|
66
|
-
it("should return false for an ip with no rule", async () => {
|
|
67
|
-
const result = await frictionlessTaskManager.checkIpRules(new Address4("3.3.3.3"), "testDapp");
|
|
68
|
-
expect(result).toBe(false);
|
|
69
|
-
});
|
|
70
|
-
});
|
|
71
|
-
describe("checkUserRules", () => {
|
|
72
|
-
it("should return true if a user has a rule against it and a dapp", async () => {
|
|
73
|
-
const result = await frictionlessTaskManager.checkUserRules("testUser1", "testDapp");
|
|
74
|
-
expect(result).toBe(true);
|
|
75
|
-
});
|
|
76
|
-
it("should return true if a user has no rule against it", async () => {
|
|
77
|
-
const result = await frictionlessTaskManager.checkUserRules("testUser2", "testDapp");
|
|
78
|
-
expect(result).toBe(false);
|
|
79
|
-
});
|
|
80
|
-
});
|
|
81
28
|
describe("checkLangRules", () => {
|
|
82
29
|
it("should return an inflated score if a lang rule is set", async () => {
|
|
83
30
|
const result = frictionlessTaskManager.checkLangRules("en");
|
|
84
|
-
expect(result).toBe(
|
|
31
|
+
expect(result).toBe(config.lRules?.en);
|
|
85
32
|
});
|
|
86
33
|
it("should return zero score if a lang rule is not set", async () => {
|
|
87
34
|
const result = frictionlessTaskManager.checkLangRules("de");
|
|
88
35
|
expect(result).toBe(0);
|
|
89
36
|
});
|
|
90
37
|
});
|
|
38
|
+
describe("scoreIncreaseAccessPolicy", () => {
|
|
39
|
+
it("should return the correct score increase for 0 score", async () => {
|
|
40
|
+
const accessRule = {
|
|
41
|
+
isUserBlocked: false,
|
|
42
|
+
score: 1,
|
|
43
|
+
};
|
|
44
|
+
const tokenId = "tokenId";
|
|
45
|
+
const result = await frictionlessTaskManager.scoreIncreaseAccessPolicy(accessRule, 0, 0, tokenId);
|
|
46
|
+
expect(result).toBe(1);
|
|
47
|
+
});
|
|
48
|
+
it("should return the correct score increase for an existing score", async () => {
|
|
49
|
+
const accessRule = {
|
|
50
|
+
isUserBlocked: false,
|
|
51
|
+
score: 1,
|
|
52
|
+
};
|
|
53
|
+
const existingScore = 0.1;
|
|
54
|
+
const tokenId = "tokenId";
|
|
55
|
+
const result = await frictionlessTaskManager.scoreIncreaseAccessPolicy(accessRule, existingScore, existingScore, tokenId);
|
|
56
|
+
expect(result).toBe(1.1);
|
|
57
|
+
});
|
|
58
|
+
});
|
|
59
|
+
describe("scoreIncreaseTimestamp", () => {
|
|
60
|
+
it("should return the correct score increase when a timestamp is more than the 10 mins old", async () => {
|
|
61
|
+
const defaults = FrictionlessPenalties.parse({});
|
|
62
|
+
const result = await frictionlessTaskManager.scoreIncreaseTimestamp(0, 0, 0, "tokenId");
|
|
63
|
+
expect(result).toBe(defaults.PENALTY_OLD_TIMESTAMP);
|
|
64
|
+
});
|
|
65
|
+
});
|
|
91
66
|
});
|
|
92
67
|
//# sourceMappingURL=frictionlessTasks.unit.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frictionlessTasks.unit.test.js","sourceRoot":"","sources":["../../../../../src/tests/unit/tasks/frictionless/frictionlessTasks.unit.test.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"frictionlessTasks.unit.test.js","sourceRoot":"","sources":["../../../../../src/tests/unit/tasks/frictionless/frictionlessTasks.unit.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"frictionlessTasksUtils.unit.test.d.ts","sourceRoot":"","sources":["../../../../../src/tests/unit/tasks/frictionless/frictionlessTasksUtils.unit.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { describe, expect, it } from "vitest";
|
|
2
|
+
import { computeFrictionlessScore } from "../../../../tasks/frictionless/frictionlessTasksUtils.js";
|
|
3
|
+
describe("Frictionless Task Utils", () => {
|
|
4
|
+
describe("computeFrictionlessScore", () => {
|
|
5
|
+
it("should return the minimum of 1 and the sum of all score components", async () => {
|
|
6
|
+
const scoreComponents = {
|
|
7
|
+
a: 0.2,
|
|
8
|
+
b: 0.3,
|
|
9
|
+
c: 0.4,
|
|
10
|
+
d: 0.1,
|
|
11
|
+
};
|
|
12
|
+
const result = computeFrictionlessScore(scoreComponents);
|
|
13
|
+
expect(result).toBe(1);
|
|
14
|
+
});
|
|
15
|
+
it("should return the minimum of 1 and the sum of all score components", async () => {
|
|
16
|
+
const scoreComponents = {
|
|
17
|
+
a: 0.1,
|
|
18
|
+
b: 0.1,
|
|
19
|
+
c: 0.1,
|
|
20
|
+
d: 0.1,
|
|
21
|
+
};
|
|
22
|
+
const result = computeFrictionlessScore(scoreComponents);
|
|
23
|
+
expect(result).toBe(0.4);
|
|
24
|
+
});
|
|
25
|
+
it("should return 1 if the sum of all score components is greater than 1", async () => {
|
|
26
|
+
const scoreComponents = {
|
|
27
|
+
a: 1,
|
|
28
|
+
b: 0.3,
|
|
29
|
+
c: 0.4,
|
|
30
|
+
d: 0.2,
|
|
31
|
+
};
|
|
32
|
+
const result = computeFrictionlessScore(scoreComponents);
|
|
33
|
+
expect(result).toBe(1);
|
|
34
|
+
});
|
|
35
|
+
});
|
|
36
|
+
});
|
|
37
|
+
//# sourceMappingURL=frictionlessTasksUtils.unit.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"frictionlessTasksUtils.unit.test.js","sourceRoot":"","sources":["../../../../../src/tests/unit/tasks/frictionless/frictionlessTasksUtils.unit.test.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,wBAAwB,EAAE,MAAM,0DAA0D,CAAC;AAEpG,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACxC,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;QACzC,EAAE,CAAC,oEAAoE,EAAE,KAAK,IAAI,EAAE;YACnF,MAAM,eAAe,GAAG;gBACvB,CAAC,EAAE,GAAG;gBACN,CAAC,EAAE,GAAG;gBACN,CAAC,EAAE,GAAG;gBACN,CAAC,EAAE,GAAG;aACN,CAAC;YACF,MAAM,MAAM,GAAG,wBAAwB,CAAC,eAAe,CAAC,CAAC;YACzD,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,oEAAoE,EAAE,KAAK,IAAI,EAAE;YACnF,MAAM,eAAe,GAAG;gBACvB,CAAC,EAAE,GAAG;gBACN,CAAC,EAAE,GAAG;gBACN,CAAC,EAAE,GAAG;gBACN,CAAC,EAAE,GAAG;aACN,CAAC;YACF,MAAM,MAAM,GAAG,wBAAwB,CAAC,eAAe,CAAC,CAAC;YACzD,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,sEAAsE,EAAE,KAAK,IAAI,EAAE;YACrF,MAAM,eAAe,GAAG;gBACvB,CAAC,EAAE,CAAC;gBACJ,CAAC,EAAE,GAAG;gBACN,CAAC,EAAE,GAAG;gBACN,CAAC,EAAE,GAAG;aACN,CAAC;YACF,MAAM,MAAM,GAAG,wBAAwB,CAAC,eAAe,CAAC,CAAC;YACzD,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
|
@@ -117,9 +117,9 @@ describe("ImgCaptchaManager", () => {
|
|
|
117
117
|
.splice(0, size);
|
|
118
118
|
}),
|
|
119
119
|
getDatasetDetails: vi.fn(),
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
120
|
+
storePendingImageCommitment: vi.fn(),
|
|
121
|
+
getPendingImageCommitment: vi.fn(),
|
|
122
|
+
updatePendingImageCommitmentStatus: vi.fn(),
|
|
123
123
|
storeDappUserSolution: vi.fn(),
|
|
124
124
|
approveDappUserCommitment: vi.fn(),
|
|
125
125
|
getCaptchaById: vi.fn(),
|
|
@@ -138,7 +138,7 @@ describe("ImgCaptchaManager", () => {
|
|
|
138
138
|
solved: { count: 5 },
|
|
139
139
|
unsolved: { count: 4 },
|
|
140
140
|
};
|
|
141
|
-
imgCaptchaManager = new ImgCaptchaManager(db, pair,
|
|
141
|
+
imgCaptchaManager = new ImgCaptchaManager(db, pair, captchaConfig, logger);
|
|
142
142
|
vi.clearAllMocks();
|
|
143
143
|
});
|
|
144
144
|
describe("getCaptchaWithProof", () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"imgCaptchaTasks.unit.test.js","sourceRoot":"","sources":["../../../../../src/tests/unit/tasks/imgCaptcha/imgCaptchaTasks.unit.test.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAe,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EACN,yBAAyB,EACzB,4BAA4B,GAC5B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAGN,aAAa,GAGb,MAAM,gBAAgB,CAAC;AAKxB,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iDAAiD,CAAC;AACpF,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGjE,EAAE,CAAC,IAAI,CAAC,mBAAmB,EAAE,GAAG,EAAE,CAAC,CAAC;IACnC,yBAAyB,EAAE,EAAE,CAAC,EAAE,EAAE;IAClC,uBAAuB,EAAE,EAAE,CAAC,EAAE,EAAE;IAChC,4BAA4B,EAAE,EAAE,CAAC,EAAE,EAAE;CACrC,CAAC,CAAC,CAAC;AACJ,EAAE,CAAC,IAAI,CAAC,uBAAuB,EAAE,GAAG,EAAE,CAAC,CAAC;IACvC,WAAW,EAAE,EAAE,CAAC,EAAE,EAAE;IACpB,eAAe,EAAE,EAAE,CAAC,EAAE,EAAE;CACxB,CAAC,CAAC,CAAC;AACJ,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC,CAAC;IAChC,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE;IACjB,WAAW,EAAE,EAAE,CAAC,EAAE,EAAE;CACpB,CAAC,CAAC,CAAC;AACJ,EAAE,CAAC,IAAI,CAAC,qBAAqB,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE;IACvD,OAAO;QACN,GAAG,CAAC,MAAM,cAAc,EAAwC,CAAC;QACjE,YAAY,EAAE,EAAE,CAAC,EAAE,EAAE;KACrB,CAAC;AACH,CAAC,CAAC,CAAC;AACH,EAAE,CAAC,IAAI,CAAC,sDAAsD,EAAE,GAAG,EAAE,CAAC,CAAC;IACtE,2BAA2B,EAAE,EAAE,CAAC,EAAE,EAAE;CACpC,CAAC,CAAC,CAAC;AAEJ,MAAM,YAAY,GAAG;IACpB;QACC,SAAS,EAAE,UAAU;QACrB,QAAQ,EAAE,WAAW;QACrB,QAAQ,EAAE,WAAW;QACrB,OAAO,EAAE,CAAC,SAAS,CAAC;QACpB,SAAS,EAAE,WAAW;QACtB,MAAM,EAAE,IAAI;KACZ;IACD;QACC,SAAS,EAAE,UAAU;QACrB,QAAQ,EAAE,WAAW;QACrB,QAAQ,EAAE,WAAW;QACrB,OAAO,EAAE,CAAC,SAAS,CAAC;QACpB,SAAS,EAAE,WAAW;QACtB,MAAM,EAAE,IAAI;KACZ;IACD;QACC,SAAS,EAAE,UAAU;QACrB,QAAQ,EAAE,WAAW;QACrB,QAAQ,EAAE,WAAW;QACrB,OAAO,EAAE,CAAC,SAAS,CAAC;QACpB,SAAS,EAAE,WAAW;QACtB,MAAM,EAAE,IAAI;KACZ;IACD;QACC,SAAS,EAAE,UAAU;QACrB,QAAQ,EAAE,WAAW;QACrB,QAAQ,EAAE,WAAW;QACrB,OAAO,EAAE,CAAC,SAAS,CAAC;QACpB,SAAS,EAAE,WAAW;QACtB,MAAM,EAAE,IAAI;KACZ;IACD;QACC,SAAS,EAAE,UAAU;QACrB,QAAQ,EAAE,WAAW;QACrB,QAAQ,EAAE,WAAW;QACrB,OAAO,EAAE,CAAC,SAAS,CAAC;QACpB,SAAS,EAAE,WAAW;QACtB,MAAM,EAAE,IAAI;KACZ;IACD;QACC,SAAS,EAAE,UAAU;QACrB,QAAQ,EAAE,WAAW;QACrB,QAAQ,EAAE,WAAW;QACrB,OAAO,EAAE,CAAC,SAAS,CAAC;QACpB,SAAS,EAAE,WAAW;QACtB,MAAM,EAAE,KAAK;KACb;IACD;QACC,SAAS,EAAE,UAAU;QACrB,QAAQ,EAAE,WAAW;QACrB,QAAQ,EAAE,WAAW;QACrB,OAAO,EAAE,CAAC,SAAS,CAAC;QACpB,SAAS,EAAE,WAAW;QACtB,MAAM,EAAE,KAAK;KACb;IACD;QACC,SAAS,EAAE,UAAU;QACrB,QAAQ,EAAE,WAAW;QACrB,QAAQ,EAAE,WAAW;QACrB,OAAO,EAAE,CAAC,SAAS,CAAC;QACpB,SAAS,EAAE,WAAW;QACtB,MAAM,EAAE,KAAK;KACb;IACD;QACC,SAAS,EAAE,UAAU;QACrB,QAAQ,EAAE,WAAW;QACrB,QAAQ,EAAE,WAAW;QACrB,OAAO,EAAE,CAAC,SAAS,CAAC;QACpB,SAAS,EAAE,WAAW;QACtB,MAAM,EAAE,KAAK;KACb;CACuB,CAAC;AAE1B,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IAClC,IAAI,EAAqB,CAAC;IAC1B,IAAI,IAAiB,CAAC;IACtB,IAAI,MAAc,CAAC;IACnB,IAAI,aAAkB,CAAC;IACvB,IAAI,iBAAoC,CAAC;IAEzC,UAAU,CAAC,GAAG,EAAE;QACf,EAAE,GAAG;YACJ,gBAAgB,EAAE,EAAE,CAAC,EAAE,CACtB,CAAC,MAAe,EAAE,SAAiB,EAAE,IAAY,EAAE,EAAE;gBACpD,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;gBACpE,OAAO,YAAY;qBACjB,MAAM,CACN,CAAC,OAAO,EAAE,EAAE,CACX,OAAO,CAAC,MAAM,KAAK,MAAM,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,CAC7D;qBACA,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;YACnB,CAAC,CACD;YACD,iBAAiB,EAAE,EAAE,CAAC,EAAE,EAAE;YAC1B,oBAAoB,EAAE,EAAE,CAAC,EAAE,EAAE;YAC7B,kBAAkB,EAAE,EAAE,CAAC,EAAE,EAAE;YAC3B,2BAA2B,EAAE,EAAE,CAAC,EAAE,EAAE;YACpC,qBAAqB,EAAE,EAAE,CAAC,EAAE,EAAE;YAC9B,yBAAyB,EAAE,EAAE,CAAC,EAAE,EAAE;YAClC,cAAc,EAAE,EAAE,CAAC,EAAE,EAAE;YACvB,yBAAyB,EAAE,EAAE,CAAC,EAAE,EAAE;YAClC,8BAA8B,EAAE,EAAE,CAAC,EAAE,EAAE;SACP,CAAC;QAElC,IAAI,GAAG;YACN,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE;YACb,OAAO,EAAE,aAAa;SACI,CAAC;QAE5B,MAAM,GAAG;YACR,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE;YACb,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE;SACO,CAAC;QAEvB,aAAa,GAAG;YACf,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YACpB,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;SACtB,CAAC;QAEF,iBAAiB,GAAG,IAAI,iBAAiB,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;QAE3E,EAAE,CAAC,aAAa,EAAE,CAAC;IACpB,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;QACpC,EAAE,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;YAC9C,MAAM,SAAS,GAAG,WAAW,CAAC;YAC9B,MAAM,IAAI,GAAG,CAAC,CAAC;YACf,MAAM,MAAM,GAAG,IAAI,CAAC;YACpB,MAAM,WAAW,GAAG;gBACnB;oBACC,SAAS,EAAE,UAAU;oBACrB,QAAQ,EAAE,WAAW;oBACrB,QAAQ,EAAE,WAAW;oBACrB,OAAO,EAAE,CAAC,SAAS,CAAC;oBACpB,SAAS;iBACT;aACuB,CAAC;YAGzB,EAAE,CAAC,gBAAwB,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;YAE5D,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,mBAAmB,CACzD,SAAS,EACT,MAAM,EACN,IAAI,CACJ,CAAC;YAEF,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YACpC,MAAM,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,oBAAoB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;QAC3E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;YACtE,MAAM,SAAS,GAAG,WAAW,CAAC;YAC9B,MAAM,IAAI,GAAG,CAAC,CAAC;YACf,MAAM,MAAM,GAAG,IAAI,CAAC;YAEnB,EAAE,CAAC,gBAAwB,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAErD,MAAM,MAAM,CACX,iBAAiB,CAAC,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,CAC9D,CAAC,OAAO,CAAC,OAAO,CAChB,IAAI,eAAe,CAAC,6BAA6B,EAAE;gBAClD,OAAO,EAAE;oBACR,cAAc,EAAE,qBAAqB;oBACrC,SAAS;oBACT,MAAM;oBACN,IAAI;iBACJ;aACD,CAAC,CACF,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;YAC5D,MAAM,SAAS,GAAG,WAAW,CAAC;YAC9B,MAAM,IAAI,GAAG,CAAC,CAAC;YAEf,MAAM,YAAY,GAAG,MAAM,iBAAiB,CAAC,mBAAmB,CAC/D,SAAS,EACT,IAAI,EACJ,IAAI,CACJ,CAAC;YAEF,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEvC,MAAM,cAAc,GAAG,MAAM,iBAAiB,CAAC,mBAAmB,CACjE,SAAS,EACT,KAAK,EACL,IAAI,CACJ,CAAC;YAEF,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,iCAAiC,EAAE,GAAG,EAAE;QAChD,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;YAC5D,MAAM,SAAS,GAAG,WAAW,CAAC;YAC9B,MAAM,WAAW,GAAG,aAAa,CAAC;YAClC,MAAM,OAAO,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;YAC5C,MAAM,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;YAC1C,MAAM,OAAO,GAAmB,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC;YAE1D,EAAE,CAAC,iBAAyB,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;YACxD,EAAE,CAAC,gBAAwB,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;YAClD,WAAmB,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;YAClD,yBAAiC,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;YAClE,IAAI,CAAC,IAAY,CAAC,eAAe,CAAC,sBAAsB,CAAC,CAAC;YAC1D,QAAgB,CAAC,eAAe,CAAC,sBAAsB,CAAC,CAAC;YACzD,YAAoB,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;YAE1C,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,+BAA+B,CACrE,SAAS,EACT,WAAW,EACX,SAAS,EACT,OAAO,EACP,aAAa,CACb,CAAC;YAEF,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;gBACtB,QAAQ,EAAE,EAAE;gBACZ,WAAW,EAAE,cAAc;gBAC3B,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;gBAC7B,iBAAiB,EAAE,sBAAsB;aACzC,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;YACvE,MAAM,SAAS,GAAG,WAAW,CAAC;YAC9B,MAAM,WAAW,GAAG,aAAa,CAAC;YAClC,MAAM,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;YAC1C,MAAM,OAAO,GAAmB,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC;YAG1D,EAAE,CAAC,iBAAyB,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAEtD,MAAM,MAAM,CACX,iBAAiB,CAAC,+BAA+B,CAChD,SAAS,EACT,WAAW,EACX,SAAS,EACT,OAAO,EACP,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,CAChD,CACD,CAAC,OAAO,CAAC,OAAO,CAChB,IAAI,eAAe,CAAC,6BAA6B,EAAE;gBAClD,OAAO,EAAE;oBACR,cAAc,EAAE,iCAAiC;oBACjD,OAAO,EAAE,IAAI;oBACb,SAAS;iBACT;aACD,CAAC,CACF,CAAC;QACH,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;QAC1E,MAAM,QAAQ,GAAG;YAChB,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE;SAC/B,CAAC;QAClC,MAAM,cAAc,GAAG;YACtB;gBACC,SAAS,EAAE,UAAU;gBACrB,QAAQ,EAAE,WAAW;gBACrB,QAAQ,EAAE,WAAW;gBACrB,OAAO,EAAE,CAAC,SAAS,CAAC;gBACpB,SAAS,EAAE,UAAU;aACrB;SACuB,CAAC;QAEzB,4BAAoC,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAC/D,EAAE,CAAC,cAAsB,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;QAE7D,MAAM,MAAM,GACX,MAAM,iBAAiB,CAAC,6CAA6C,CACpE,QAAQ,CACR,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YACtB,cAAc;YACd,gBAAgB,EAAE,QAAQ;YAC1B,UAAU,EAAE,CAAC,UAAU,CAAC;SACxB,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kFAAkF,EAAE,KAAK,IAAI,EAAE;QACjG,MAAM,QAAQ,GAAG;YAChB,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE;SAC/B,CAAC;QAEjC,4BAAoC,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAC/D,EAAE,CAAC,cAAsB,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;QAEjD,MAAM,MAAM,CACX,iBAAiB,CAAC,6CAA6C,CAAC,QAAQ,CAAC,CACzE,CAAC,OAAO,CAAC,OAAO,CAChB,IAAI,eAAe,CAAC,4BAA4B,EAAE;YACjD,OAAO,EAAE;gBACR,cAAc,EAAE,+CAA+C;gBAC/D,QAAQ;aACR;SACD,CAAC,CACF,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;QACtE,MAAM,WAAW,GAAG,aAAa,CAAC;QAClC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;QACrC,MAAM,aAAa,GAAG;YACrB,WAAW,EAAE,aAAa;YAC1B,WAAW,EAAE,aAAa;YAC1B,SAAS,EAAE,WAAW;YACtB,IAAI,EAAE,MAAM;YACZ,iBAAiB,EAAE,SAAS;YAC5B,kBAAkB,EAAE,CAAC;SACe,CAAC;QACtC,MAAM,WAAW,GAAG,aAAa,CAAC;QAClC,MAAM,UAAU,GAAG,CAAC,UAAU,CAAC,CAAC;QAE/B,yBAAiC,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;QAElE,MAAM,MAAM,GACX,MAAM,iBAAiB,CAAC,wCAAwC,CAC/D,WAAW,EACX,aAAa,EACb,WAAW,EACX,UAAU,CACV,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;QAC5D,MAAM,WAAW,GAAG,aAAa,CAAC;QAClC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;QACrC,MAAM,aAAa,GAAG;YACrB,WAAW,EAAE,aAAa;YAC1B,WAAW,EAAE,aAAa;YAC1B,SAAS,EAAE,WAAW;YACtB,IAAI,EAAE,MAAM;YACZ,iBAAiB,EAAE,SAAS;YAC5B,kBAAkB,EAAE,CAAC;SACe,CAAC;QACtC,MAAM,WAAW,GAAG,aAAa,CAAC;QAClC,MAAM,UAAU,GAAG,CAAC,UAAU,CAAC,CAAC;QAEhC,MAAM,MAAM,GACX,MAAM,iBAAiB,CAAC,wCAAwC,CAC/D,WAAW,EACX,aAAa,EACb,WAAW,EACX,UAAU,CACV,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,oBAAoB,CACvC,gDAAgD,CAChD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;QACtD,MAAM,YAAY,GAAG,cAAc,CAAC;QACpC,MAAM,kBAAkB,GAAmB;YAC1C,EAAE,EAAE,cAAc;YAClB,WAAW,EAAE,aAAa;YAC1B,WAAW,EAAE,aAAa;YAC1B,eAAe,EAAE,iBAAiB;YAClC,SAAS,EAAE,WAAW;YACtB,MAAM,EAAE,EAAE,MAAM,EAAE,aAAa,CAAC,QAAQ,EAAE;YAC1C,aAAa,EAAE,EAAE;YACjB,aAAa,EAAE,IAAI;YACnB,aAAa,EAAE,KAAK;YACpB,oBAAoB,EAAE,CAAC;YACvB,SAAS,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE;YAC3C,OAAO,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE;YACnC,oBAAoB,EAAE,IAAI,CAAC,GAAG,EAAE;SAChC,CAAC;QAED,EAAE,CAAC,yBAAiC,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;QAE5E,MAAM,MAAM,GACX,MAAM,iBAAiB,CAAC,yBAAyB,CAAC,YAAY,CAAC,CAAC;QAEjE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;QACjF,MAAM,YAAY,GAAG,cAAc,CAAC;QAEnC,EAAE,CAAC,yBAAiC,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAE9D,MAAM,MAAM,CACX,iBAAiB,CAAC,yBAAyB,CAAC,YAAY,CAAC,CACzD,CAAC,OAAO,CAAC,OAAO,CAChB,IAAI,eAAe,CAAC,sCAAsC,EAAE;YAC3D,OAAO,EAAE;gBACR,cAAc,EAAE,2BAA2B;gBAC3C,YAAY,EAAE,YAAY;aAC1B;SACD,CAAC,CACF,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;QAC3D,MAAM,WAAW,GAAG,aAAa,CAAC;QAClC,MAAM,WAAW,GAAG,aAAa,CAAC;QAClC,MAAM,mBAAmB,GAAqB;YAC7C;gBACC,EAAE,EAAE,cAAc;gBAClB,WAAW;gBACX,WAAW;gBACX,eAAe,EAAE,iBAAiB;gBAClC,SAAS,EAAE,WAAW;gBACtB,MAAM,EAAE,EAAE,MAAM,EAAE,aAAa,CAAC,QAAQ,EAAE;gBAC1C,aAAa,EAAE,EAAE;gBACjB,aAAa,EAAE,IAAI;gBACnB,aAAa,EAAE,KAAK;gBACpB,oBAAoB,EAAE,CAAC;gBACvB,SAAS,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE;gBAC3C,OAAO,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE;gBACnC,oBAAoB,EAAE,IAAI,CAAC,GAAG,EAAE;aAChC;SACD,CAAC;QAED,EAAE,CAAC,8BAAsC,CAAC,iBAAiB,CAC3D,mBAAmB,CACnB,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,8BAA8B,CACpE,WAAW,EACX,WAAW,CACX,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iFAAiF,EAAE,KAAK,IAAI,EAAE;QAChG,MAAM,WAAW,GAAG,aAAa,CAAC;QAClC,MAAM,WAAW,GAAG,aAAa,CAAC;QAClC,MAAM,mBAAmB,GAAqB,EAAE,CAAC;QAEhD,EAAE,CAAC,8BAAsC,CAAC,iBAAiB,CAC3D,mBAAmB,CACnB,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,8BAA8B,CACpE,WAAW,EACX,WAAW,CACX,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,EAAE,CAAC;IAChC,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"imgCaptchaTasks.unit.test.js","sourceRoot":"","sources":["../../../../../src/tests/unit/tasks/imgCaptcha/imgCaptchaTasks.unit.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,7 @@
|
|
|
1
1
|
import { ProsopoEnvError } from "@prosopo/common";
|
|
2
2
|
import { CaptchaMerkleTree, computeCaptchaSolutionHash, } from "@prosopo/datasets";
|
|
3
|
-
import { BlockRuleType } from "@prosopo/types";
|
|
4
|
-
import { Address4 } from "ip-address";
|
|
5
3
|
import { beforeEach, describe, expect, it, vi } from "vitest";
|
|
6
|
-
import {
|
|
7
|
-
import { checkUserRules } from "../../../../rules/user.js";
|
|
8
|
-
import { buildTreeAndGetCommitmentId, getCaptchaConfig, } from "../../../../tasks/imgCaptcha/imgCaptchaTasksUtils.js";
|
|
4
|
+
import { buildTreeAndGetCommitmentId } from "../../../../tasks/imgCaptcha/imgCaptchaTasksUtils.js";
|
|
9
5
|
vi.mock("@prosopo/datasets", () => ({
|
|
10
6
|
CaptchaMerkleTree: vi.fn().mockImplementation(() => ({
|
|
11
7
|
build: vi.fn(),
|
|
@@ -13,16 +9,6 @@ vi.mock("@prosopo/datasets", () => ({
|
|
|
13
9
|
})),
|
|
14
10
|
computeCaptchaSolutionHash: vi.fn(),
|
|
15
11
|
}));
|
|
16
|
-
vi.mock("../../../../rules/ip.js", () => {
|
|
17
|
-
return {
|
|
18
|
-
checkIpRules: vi.fn(),
|
|
19
|
-
};
|
|
20
|
-
});
|
|
21
|
-
vi.mock("../../../../rules/user.js", () => {
|
|
22
|
-
return {
|
|
23
|
-
checkUserRules: vi.fn(),
|
|
24
|
-
};
|
|
25
|
-
});
|
|
26
12
|
describe("buildTreeAndGetCommitmentId", () => {
|
|
27
13
|
const mockCaptchaSolutions = [
|
|
28
14
|
{ challenge: "challenge1", solution: "solution1", salt: "salt1" },
|
|
@@ -57,90 +43,4 @@ describe("buildTreeAndGetCommitmentId", () => {
|
|
|
57
43
|
}));
|
|
58
44
|
});
|
|
59
45
|
});
|
|
60
|
-
describe("getCaptchaConfig", () => {
|
|
61
|
-
it("should return the default captcha config if no rules are found", async () => {
|
|
62
|
-
const db = {
|
|
63
|
-
getIPBlockRuleRecord: vi.fn().mockResolvedValue(null),
|
|
64
|
-
getUserBlockRuleRecord: vi.fn().mockResolvedValue(null),
|
|
65
|
-
};
|
|
66
|
-
const config = {
|
|
67
|
-
captchas: {
|
|
68
|
-
solved: { count: 1 },
|
|
69
|
-
unsolved: { count: 2 },
|
|
70
|
-
},
|
|
71
|
-
};
|
|
72
|
-
const ipAddress = new Address4("1.1.1.1");
|
|
73
|
-
const user = "mockedUser";
|
|
74
|
-
const dapp = "mockedDapp";
|
|
75
|
-
const result = await getCaptchaConfig(db, config, ipAddress, user, dapp);
|
|
76
|
-
expect(result).toEqual({
|
|
77
|
-
solved: { count: 1 },
|
|
78
|
-
unsolved: { count: 2 },
|
|
79
|
-
});
|
|
80
|
-
});
|
|
81
|
-
it("should return the users config if there is one specified against the user's ip address", async () => {
|
|
82
|
-
const ipRule = {
|
|
83
|
-
ip: 16843009,
|
|
84
|
-
global: false,
|
|
85
|
-
hardBlock: false,
|
|
86
|
-
type: BlockRuleType.ipAddress,
|
|
87
|
-
captchaConfig: {
|
|
88
|
-
solved: { count: 3 },
|
|
89
|
-
unsolved: { count: 4 },
|
|
90
|
-
},
|
|
91
|
-
};
|
|
92
|
-
checkIpRules.mockReturnValue(ipRule);
|
|
93
|
-
const db = {
|
|
94
|
-
getIPBlockRuleRecord: vi.fn().mockResolvedValue(ipRule),
|
|
95
|
-
getUserBlockRuleRecord: vi.fn().mockResolvedValue(null),
|
|
96
|
-
};
|
|
97
|
-
const config = {
|
|
98
|
-
captchas: {
|
|
99
|
-
solved: { count: 1 },
|
|
100
|
-
unsolved: { count: 2 },
|
|
101
|
-
},
|
|
102
|
-
};
|
|
103
|
-
const ipAddress = new Address4("1.1.1.1");
|
|
104
|
-
const user = "mockedUser";
|
|
105
|
-
const dapp = "mockedDapp";
|
|
106
|
-
const result = await getCaptchaConfig(db, config, ipAddress, user, dapp);
|
|
107
|
-
expect(result).toEqual({
|
|
108
|
-
solved: { count: 3 },
|
|
109
|
-
unsolved: { count: 4 },
|
|
110
|
-
});
|
|
111
|
-
});
|
|
112
|
-
it("should return the user's config if there is one specified against the user's account", async () => {
|
|
113
|
-
const userRule = {
|
|
114
|
-
userAccount: "mockedUser",
|
|
115
|
-
dappAccount: "mockedDapp",
|
|
116
|
-
global: false,
|
|
117
|
-
hardBlock: false,
|
|
118
|
-
type: BlockRuleType.userAccount,
|
|
119
|
-
captchaConfig: {
|
|
120
|
-
solved: { count: 5 },
|
|
121
|
-
unsolved: { count: 6 },
|
|
122
|
-
},
|
|
123
|
-
};
|
|
124
|
-
checkIpRules.mockReturnValue(null);
|
|
125
|
-
const db = {
|
|
126
|
-
getIPBlockRuleRecord: vi.fn().mockResolvedValue(null),
|
|
127
|
-
getUserBlockRuleRecord: vi.fn().mockResolvedValue(userRule),
|
|
128
|
-
};
|
|
129
|
-
checkUserRules.mockReturnValue(userRule);
|
|
130
|
-
const config = {
|
|
131
|
-
captchas: {
|
|
132
|
-
solved: { count: 1 },
|
|
133
|
-
unsolved: { count: 2 },
|
|
134
|
-
},
|
|
135
|
-
};
|
|
136
|
-
const ipAddress = new Address4("1.1.1.1");
|
|
137
|
-
const user = "mockedUser";
|
|
138
|
-
const dapp = "mockedDapp";
|
|
139
|
-
const result = await getCaptchaConfig(db, config, ipAddress, user, dapp);
|
|
140
|
-
expect(result).toEqual({
|
|
141
|
-
solved: { count: 5 },
|
|
142
|
-
unsolved: { count: 6 },
|
|
143
|
-
});
|
|
144
|
-
});
|
|
145
|
-
});
|
|
146
46
|
//# sourceMappingURL=imgCaptchaTasksUtils.unit.test.js.map
|