@prosopo/database 4.0.26 → 4.0.28
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 +9 -9
- package/.turbo/turbo-build$colon$tsc.log +16 -16
- package/.turbo/turbo-build.log +9 -9
- package/CHANGELOG.md +108 -0
- package/dist/base/mongo.d.ts +7 -1
- package/dist/base/mongo.d.ts.map +1 -1
- package/dist/base/mongo.js +14 -2
- package/dist/base/mongo.js.map +1 -1
- package/dist/cjs/base/mongo.cjs +14 -2
- package/dist/cjs/databases/captcha.cjs +2 -2
- package/dist/cjs/databases/centralDbStreamer.cjs +10 -1
- package/dist/cjs/databases/provider.cjs +10 -30
- package/dist/cjs/index.cjs +3 -3
- package/dist/cjs/mongooseOptions.cjs +20 -3
- package/dist/databases/captcha.d.ts +4 -4
- package/dist/databases/captcha.d.ts.map +1 -1
- package/dist/databases/captcha.js +2 -2
- package/dist/databases/captcha.js.map +1 -1
- package/dist/databases/centralDbStreamer.d.ts +2 -0
- package/dist/databases/centralDbStreamer.d.ts.map +1 -1
- package/dist/databases/centralDbStreamer.js +10 -1
- package/dist/databases/centralDbStreamer.js.map +1 -1
- package/dist/databases/provider.d.ts +2 -4
- package/dist/databases/provider.d.ts.map +1 -1
- package/dist/databases/provider.js +11 -31
- package/dist/databases/provider.js.map +1 -1
- package/dist/index.js +4 -4
- package/dist/index.js.map +1 -1
- package/dist/mongooseOptions.d.ts +4 -0
- package/dist/mongooseOptions.d.ts.map +1 -1
- package/dist/mongooseOptions.js +19 -4
- package/dist/mongooseOptions.js.map +1 -1
- package/dist/tests/integration/commitmentUpsertNoMutation.integration.test.d.ts +2 -0
- package/dist/tests/integration/commitmentUpsertNoMutation.integration.test.d.ts.map +1 -0
- package/dist/tests/integration/commitmentUpsertNoMutation.integration.test.js +51 -0
- package/dist/tests/integration/commitmentUpsertNoMutation.integration.test.js.map +1 -0
- package/dist/tests/integration/providedIpPipelineCast.integration.test.js +2 -2
- package/dist/tests/integration/providedIpPipelineCast.integration.test.js.map +1 -1
- package/dist/tests/integration/puzzleCentralStreaming.integration.test.js +4 -4
- package/dist/tests/integration/puzzleCentralStreaming.integration.test.js.map +1 -1
- package/dist/tests/mongooseOptions.unit.test.js +19 -1
- package/dist/tests/mongooseOptions.unit.test.js.map +1 -1
- package/dist/tests/unit/base/mongo.unit.test.d.ts +2 -0
- package/dist/tests/unit/base/mongo.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/base/mongo.unit.test.js +58 -0
- package/dist/tests/unit/base/mongo.unit.test.js.map +1 -0
- package/package.json +15 -15
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mongooseOptions.d.ts","sourceRoot":"","sources":["../src/mongooseOptions.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;AAqBlE,eAAO,MAAM,mBAAmB,QAC1B,MAAM,gBACE,eAAe,EAAE,KAC5B,eAAe,EAuCjB,CAAC;AAaF,eAAO,MAAM,yBAAyB,YAAa;IAClD,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"mongooseOptions.d.ts","sourceRoot":"","sources":["../src/mongooseOptions.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;AAqBlE,eAAO,MAAM,mBAAmB,QAC1B,MAAM,gBACE,eAAe,EAAE,KAC5B,eAAe,EAuCjB,CAAC;AAaF,eAAO,MAAM,0BAA0B,QAAQ,CAAC;AAChD,eAAO,MAAM,mCAAmC,QAAQ,CAAC;AAezD,eAAO,MAAM,yBAAyB,YAAa;IAClD,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,wBAAwB,CAAC,EAAE,MAAM,CAAC;CAClC,KAAG,cA2CH,CAAC"}
|
package/dist/mongooseOptions.js
CHANGED
|
@@ -25,6 +25,19 @@ var getMongoCompressors = (url, compressors = DEFAULT_COMPRESSORS) => {
|
|
|
25
25
|
}
|
|
26
26
|
};
|
|
27
27
|
/**
|
|
28
|
+
* Default connect / server-selection timeouts.
|
|
29
|
+
*
|
|
30
|
+
* These are sized for a database that is local to the process or at least on
|
|
31
|
+
* the same continent, where a connect that has not completed in 10s is a real
|
|
32
|
+
* fault worth failing fast on. They are *not* safe as a universal ceiling: a
|
|
33
|
+
* connection to a remote database can need far longer for the TLS handshake
|
|
34
|
+
* alone — pronode17 measures 2-30s to mongo1 — and every connect that trips
|
|
35
|
+
* the ceiling is a wasted attempt that will simply be retried. Callers that
|
|
36
|
+
* own a known long-haul connection pass their own values instead.
|
|
37
|
+
*/
|
|
38
|
+
var DEFAULT_CONNECT_TIMEOUT_MS = 1e4;
|
|
39
|
+
var DEFAULT_SERVER_SELECTION_TIMEOUT_MS = 2e4;
|
|
40
|
+
/**
|
|
28
41
|
* Returns default mongoose connection options with the ability to override specific values.
|
|
29
42
|
*
|
|
30
43
|
* @param options - Configuration options
|
|
@@ -33,10 +46,12 @@ var getMongoCompressors = (url, compressors = DEFAULT_COMPRESSORS) => {
|
|
|
33
46
|
* @param options.maxPoolSize - Maximum pool size (default: 10)
|
|
34
47
|
* @param options.minPoolSize - Minimum pool size (default: 0)
|
|
35
48
|
* @param options.dbName - Optional database name
|
|
49
|
+
* @param options.connectTimeoutMS - Max time to establish a connection (default: 10000)
|
|
50
|
+
* @param options.serverSelectionTimeoutMS - Max time to select a server (default: 20000)
|
|
36
51
|
* @returns Mongoose connection options object
|
|
37
52
|
*/
|
|
38
53
|
var getMongoConnectionOptions = (options) => {
|
|
39
|
-
const { url, appName, maxPoolSize = 10, minPoolSize = 0, dbName } = options;
|
|
54
|
+
const { url, appName, maxPoolSize = 10, minPoolSize = 0, dbName, connectTimeoutMS = DEFAULT_CONNECT_TIMEOUT_MS, serverSelectionTimeoutMS = DEFAULT_SERVER_SELECTION_TIMEOUT_MS } = options;
|
|
40
55
|
if (!url || url.trim() === "") throw new Error("MongoDB connection URL is required and cannot be empty or whitespace-only");
|
|
41
56
|
const compressors = getMongoCompressors(url);
|
|
42
57
|
const connectionOptions = {
|
|
@@ -48,15 +63,15 @@ var getMongoConnectionOptions = (options) => {
|
|
|
48
63
|
maxPoolSize,
|
|
49
64
|
minPoolSize,
|
|
50
65
|
maxConnecting: 2,
|
|
51
|
-
connectTimeoutMS
|
|
66
|
+
connectTimeoutMS,
|
|
52
67
|
socketTimeoutMS: 3e4,
|
|
53
68
|
maxIdleTimeMS: 3e5,
|
|
54
69
|
appName,
|
|
55
|
-
serverSelectionTimeoutMS
|
|
70
|
+
serverSelectionTimeoutMS,
|
|
56
71
|
compressors
|
|
57
72
|
};
|
|
58
73
|
if (dbName) connectionOptions.dbName = dbName;
|
|
59
74
|
return connectionOptions;
|
|
60
75
|
};
|
|
61
76
|
//#endregion
|
|
62
|
-
export { getMongoCompressors, getMongoConnectionOptions };
|
|
77
|
+
export { DEFAULT_CONNECT_TIMEOUT_MS, DEFAULT_SERVER_SELECTION_TIMEOUT_MS, getMongoCompressors, getMongoConnectionOptions };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mongooseOptions.js","sourceRoot":"","sources":["../src/mongooseOptions.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAW3C,MAAM,mBAAmB,GAAsB,EAAE,CAAC;AAalD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAClC,GAAW,EACX,cAAiC,mBAAmB,EAChC,EAAE;IACtB,IAAI,CAAC;QAEJ,MAAM,aAAa,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACzC,MAAM,kBAAkB,GACvB,aAAa,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QAI3D,IAAI,kBAAkB,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACtC,OAAO,EAAE,CAAC;QACX,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,aAAa,kBAAkB,EAAE,CAAC,CAAC;QAC7D,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC;QAKpC,MAAM,WAAW,GAChB,QAAQ,KAAK,WAAW;YACxB,QAAQ,KAAK,WAAW;YACxB,QAAQ,KAAK,OAAO;YACpB,QAAQ,KAAK,KAAK,CAAC;QAEpB,IAAI,WAAW,EAAE,CAAC;YACjB,OAAO,EAAE,CAAC;QACX,CAAC;QAKD,OAAO,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC;YACtD,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC;YAClB,CAAC,CAAC,EAAE,CAAC;IACP,CAAC;IAAC,MAAM,CAAC;QAER,OAAO,CAAC,GAAG,WAAW,CAAC,CAAC;IACzB,CAAC;AACF,CAAC,CAAC;AAaF,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"mongooseOptions.js","sourceRoot":"","sources":["../src/mongooseOptions.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAW3C,MAAM,mBAAmB,GAAsB,EAAE,CAAC;AAalD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAClC,GAAW,EACX,cAAiC,mBAAmB,EAChC,EAAE;IACtB,IAAI,CAAC;QAEJ,MAAM,aAAa,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACzC,MAAM,kBAAkB,GACvB,aAAa,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QAI3D,IAAI,kBAAkB,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACtC,OAAO,EAAE,CAAC;QACX,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,aAAa,kBAAkB,EAAE,CAAC,CAAC;QAC7D,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC;QAKpC,MAAM,WAAW,GAChB,QAAQ,KAAK,WAAW;YACxB,QAAQ,KAAK,WAAW;YACxB,QAAQ,KAAK,OAAO;YACpB,QAAQ,KAAK,KAAK,CAAC;QAEpB,IAAI,WAAW,EAAE,CAAC;YACjB,OAAO,EAAE,CAAC;QACX,CAAC;QAKD,OAAO,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC;YACtD,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC;YAClB,CAAC,CAAC,EAAE,CAAC;IACP,CAAC;IAAC,MAAM,CAAC;QAER,OAAO,CAAC,GAAG,WAAW,CAAC,CAAC;IACzB,CAAC;AACF,CAAC,CAAC;AAaF,MAAM,CAAC,MAAM,0BAA0B,GAAG,KAAK,CAAC;AAChD,MAAM,CAAC,MAAM,mCAAmC,GAAG,KAAK,CAAC;AAezD,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,OAQzC,EAAkB,EAAE;IACpB,MAAM,EACL,GAAG,EACH,OAAO,EACP,WAAW,GAAG,EAAE,EAChB,WAAW,GAAG,CAAC,EACf,MAAM,EACN,gBAAgB,GAAG,0BAA0B,EAC7C,wBAAwB,GAAG,mCAAmC,GAC9D,GAAG,OAAO,CAAC;IAEZ,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CACd,2EAA2E,CAC3E,CAAC;IACH,CAAC;IAED,MAAM,WAAW,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAE7C,MAAM,iBAAiB,GAAmB;QACzC,SAAS,EAAE;YACV,OAAO,EAAE,gBAAgB,CAAC,EAAE;YAG5B,MAAM,EAAE,KAAK;YACb,iBAAiB,EAAE,KAAK;SACxB;QACD,WAAW;QACX,WAAW;QACX,aAAa,EAAE,CAAC;QAChB,gBAAgB;QAChB,eAAe,EAAE,KAAK;QACtB,aAAa,EAAE,MAAM;QACrB,OAAO;QACP,wBAAwB;QACxB,WAAW;KACX,CAAC;IAEF,IAAI,MAAM,EAAE,CAAC;QACZ,iBAAiB,CAAC,MAAM,GAAG,MAAM,CAAC;IACnC,CAAC;IAED,OAAO,iBAAiB,CAAC;AAC1B,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commitmentUpsertNoMutation.integration.test.d.ts","sourceRoot":"","sources":["../../../src/tests/integration/commitmentUpsertNoMutation.integration.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { CaptchaStatus } from "@prosopo/types";
|
|
2
|
+
import { UserCommitmentRecordSchema, } from "@prosopo/types-database";
|
|
3
|
+
import { MongoMemoryServer } from "mongodb-memory-server";
|
|
4
|
+
import mongoose from "mongoose";
|
|
5
|
+
import { afterAll, beforeAll, describe, expect, it } from "vitest";
|
|
6
|
+
describe("commitment upsert does not mutate the caller's record", () => {
|
|
7
|
+
let mongod;
|
|
8
|
+
let conn;
|
|
9
|
+
let CommitmentModel;
|
|
10
|
+
beforeAll(async () => {
|
|
11
|
+
mongod = await MongoMemoryServer.create();
|
|
12
|
+
conn = await mongoose
|
|
13
|
+
.createConnection(mongod.getUri(), { dbName: "mutation_test" })
|
|
14
|
+
.asPromise();
|
|
15
|
+
CommitmentModel = conn.model("commitment", UserCommitmentRecordSchema);
|
|
16
|
+
});
|
|
17
|
+
afterAll(async () => {
|
|
18
|
+
await conn.close();
|
|
19
|
+
await mongod.stop();
|
|
20
|
+
});
|
|
21
|
+
const buildRecord = (id) => ({
|
|
22
|
+
id,
|
|
23
|
+
userAccount: "userTest",
|
|
24
|
+
dappAccount: "dappTest",
|
|
25
|
+
datasetId: "datasetTest",
|
|
26
|
+
providerAccount: "providerTest",
|
|
27
|
+
pending: false,
|
|
28
|
+
userSignature: "0xsig",
|
|
29
|
+
salt: "0xsalt",
|
|
30
|
+
requestHash: "requestHashTest",
|
|
31
|
+
threshold: 1,
|
|
32
|
+
deadlineTimestamp: new Date("2026-06-10T07:35:00Z"),
|
|
33
|
+
requestedAtTimestamp: new Date("2026-06-10T07:30:00Z"),
|
|
34
|
+
lastUpdatedTimestamp: new Date("2026-06-10T07:30:05Z"),
|
|
35
|
+
result: { status: CaptchaStatus.approved },
|
|
36
|
+
userSubmitted: true,
|
|
37
|
+
serverChecked: false,
|
|
38
|
+
});
|
|
39
|
+
it("leaves no $-prefixed keys on the record after an upsert", async () => {
|
|
40
|
+
const record = buildRecord("commitment-no-mutation");
|
|
41
|
+
await CommitmentModel.updateOne({ id: record.id }, { $set: { ...record } }, { upsert: true });
|
|
42
|
+
expect(Object.keys(record).filter((k) => k.startsWith("$"))).toEqual([]);
|
|
43
|
+
});
|
|
44
|
+
it("can re-stream the same record straight after the upsert", async () => {
|
|
45
|
+
const record = buildRecord("commitment-restream");
|
|
46
|
+
await CommitmentModel.updateOne({ id: record.id }, { $set: { ...record } }, { upsert: true });
|
|
47
|
+
const { _id, ...safeDoc } = record;
|
|
48
|
+
await expect(CommitmentModel.updateOne({ id: safeDoc.id }, { $set: safeDoc }, { upsert: true })).resolves.toBeDefined();
|
|
49
|
+
});
|
|
50
|
+
});
|
|
51
|
+
//# sourceMappingURL=commitmentUpsertNoMutation.integration.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commitmentUpsertNoMutation.integration.test.js","sourceRoot":"","sources":["../../../src/tests/integration/commitmentUpsertNoMutation.integration.test.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAEN,0BAA0B,GAC1B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,QAAwB,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAuBnE,QAAQ,CAAC,uDAAuD,EAAE,GAAG,EAAE;IACtE,IAAI,MAAyB,CAAC;IAC9B,IAAI,IAAyB,CAAC;IAC9B,IAAI,eAA4C,CAAC;IAEjD,SAAS,CAAC,KAAK,IAAI,EAAE;QACpB,MAAM,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,CAAC;QAC1C,IAAI,GAAG,MAAM,QAAQ;aACnB,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;aAC9D,SAAS,EAAE,CAAC;QACd,eAAe,GAAG,IAAI,CAAC,KAAK,CAC3B,YAAY,EACZ,0BAA0B,CAC1B,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,KAAK,IAAI,EAAE;QACnB,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACnB,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;IACrB,CAAC,CAAC,CAAC;IAIH,MAAM,WAAW,GAAG,CAAC,EAAU,EAAqB,EAAE,CAAC,CAAC;QACvD,EAAE;QACF,WAAW,EAAE,UAAU;QACvB,WAAW,EAAE,UAAU;QACvB,SAAS,EAAE,aAAa;QACxB,eAAe,EAAE,cAAc;QAC/B,OAAO,EAAE,KAAK;QACd,aAAa,EAAE,OAAO;QACtB,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,iBAAiB;QAC9B,SAAS,EAAE,CAAC;QACZ,iBAAiB,EAAE,IAAI,IAAI,CAAC,sBAAsB,CAAC;QACnD,oBAAoB,EAAE,IAAI,IAAI,CAAC,sBAAsB,CAAC;QACtD,oBAAoB,EAAE,IAAI,IAAI,CAAC,sBAAsB,CAAC;QACtD,MAAM,EAAE,EAAE,MAAM,EAAE,aAAa,CAAC,QAAQ,EAAE;QAC1C,aAAa,EAAE,IAAI;QACnB,aAAa,EAAE,KAAK;KACpB,CAAC,CAAC;IAEH,EAAE,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;QACxE,MAAM,MAAM,GAAG,WAAW,CAAC,wBAAwB,CAAC,CAAC;QAErD,MAAM,eAAe,CAAC,SAAS,CAC9B,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EACjB,EAAE,IAAI,EAAE,EAAE,GAAG,MAAM,EAAE,EAAE,EACvB,EAAE,MAAM,EAAE,IAAI,EAAE,CAChB,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;QAGxE,MAAM,MAAM,GAAG,WAAW,CAAC,qBAAqB,CAAC,CAAC;QAElD,MAAM,eAAe,CAAC,SAAS,CAC9B,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EACjB,EAAE,IAAI,EAAE,EAAE,GAAG,MAAM,EAAE,EAAE,EACvB,EAAE,MAAM,EAAE,IAAI,EAAE,CAChB,CAAC;QAEF,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,EAAE,GAAG,MAAM,CAAC;QACnC,MAAM,MAAM,CACX,eAAe,CAAC,SAAS,CACxB,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,EAClB,EAAE,IAAI,EAAE,OAAO,EAAE,EACjB,EAAE,MAAM,EAAE,IAAI,EAAE,CAChB,CACD,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;IAC1B,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
|
@@ -88,7 +88,7 @@ describe("updateDappUserCommitment pipeline cast on providedIp.lower", () => {
|
|
|
88
88
|
},
|
|
89
89
|
},
|
|
90
90
|
},
|
|
91
|
-
]);
|
|
91
|
+
], { updatePipeline: true });
|
|
92
92
|
const stored = await CommitmentModel.findOne({ id }).lean();
|
|
93
93
|
expect(stored?.providedIp).toBeDefined();
|
|
94
94
|
expect(isBsonLong(stored?.providedIp?.lower)).toBe(true);
|
|
@@ -106,7 +106,7 @@ describe("updateDappUserCommitment pipeline cast on providedIp.lower", () => {
|
|
|
106
106
|
},
|
|
107
107
|
},
|
|
108
108
|
},
|
|
109
|
-
]);
|
|
109
|
+
], { updatePipeline: true });
|
|
110
110
|
const poisoned = await CommitmentModel.findOne({ id }).lean();
|
|
111
111
|
expect(poisoned).not.toBeNull();
|
|
112
112
|
if (!poisoned?.providedIp)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providedIpPipelineCast.integration.test.js","sourceRoot":"","sources":["../../../src/tests/integration/providedIpPipelineCast.integration.test.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"providedIpPipelineCast.integration.test.js","sourceRoot":"","sources":["../../../src/tests/integration/providedIpPipelineCast.integration.test.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EAEN,0BAA0B,GAC1B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAgC7D,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,6BAA6B,CAAC,CAAC;AAM7E,MAAM,WAAW,GAAG,SAAS,CAAC;AAO9B,MAAM,kBAAkB,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC;AAUxD,MAAM,UAAU,GAAG,CAAC,CAAU,EAAa,EAAE,CAC5C,CAAC,YAAY,IAAI;IACjB,CAAC,OAAO,CAAC,KAAK,QAAQ;QACrB,CAAC,KAAK,IAAI;QACV,WAAW,IAAI,CAAC;QACf,CAA2B,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC;AAErD,QAAQ,CAAC,4DAA4D,EAAE,GAAG,EAAE;IAC3E,IAAI,OAA4B,CAAC;IACjC,IAAI,eAAqD,CAAC;IAE1D,SAAS,CAAC,KAAK,IAAI,EAAE;QACpB,OAAO,GAAG,IAAI,mBAAmB,CAAC,SAAS,EAAE,gBAAgB,EAAE,MAAM,CAAC,CAAC;QACvE,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QACvE,CAAC;QACD,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC,KAAK,CACzC,YAAY,EACZ,0BAA0B,CAC1B,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,KAAK,IAAI,EAAE;QACnB,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,MAAM,cAAc,GAAG,KAAK,EAAE,EAAU,EAAiB,EAAE;QAK1D,MAAM,eAAe,CAAC,MAAM,CAAC;YAC5B,EAAE;YACF,WAAW,EAAE,UAAU;YACvB,WAAW,EAAE,UAAU;YACvB,eAAe,EAAE,cAAc;YAC/B,SAAS,EAAE,aAAa;YACxB,MAAM,EAAE,EAAE,MAAM,EAAE,aAAa,CAAC,OAAO,EAAE;YACzC,aAAa,EAAE,OAAO;YACtB,SAAS,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,CAAC,EAAE,EAAE;YACzD,OAAO,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE;YACvC,GAAG,EAAE,UAAU;YACf,aAAa,EAAE,KAAK;YACpB,aAAa,EAAE,KAAK;YACpB,oBAAoB,EAAE,IAAI,IAAI,EAAE;YAChC,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,MAAM;YACZ,WAAW,EAAE,WAAW;YACxB,iBAAiB,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC;YAChD,SAAS,EAAE,GAAG;SACd,CAAC,CAAC;IACJ,CAAC,CAAC;IAEF,EAAE,CAAC,0HAA0H,EAAE,KAAK,IAAI,EAAE;QACzI,MAAM,EAAE,GAAG,wBAAwB,CAAC;QACpC,MAAM,cAAc,CAAC,EAAE,CAAC,CAAC;QASzB,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QAC7B,MAAM,eAAe,CAAC,SAAS,CAC9B,EAAE,EAAE,EAAE,EACN;YACC,IAAI,EAAE;gBACL,UAAU,EAAE;oBACX,KAAK,EAAE,kBAAkB;oBACzB,KAAK,EAAE,kBAAkB;oBACzB,IAAI,EAAE,aAAa,CAAC,EAAE;iBACtB;gBACD,sBAAsB,EAAE,SAAS;gBACjC,YAAY,EAAE,IAAI;aAClB;SACD,CACD,CAAC;QAKF,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,EAEtD,CAAC;QAEJ,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC9B,IAAI,CAAC,MAAM,EAAE,UAAU;YAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAGzE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QAMtD,MAAM,CACL,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,EACnC,sFAAsF,CACtF,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACd,MAAM,CACL,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,EACnC,+DAA+D,CAC/D,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAId,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,KAA+B,CAAC;QAChE,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4HAA4H,EAAE,KAAK,IAAI,EAAE;QAS3I,MAAM,EAAE,GAAG,yCAAyC,CAAC;QACrD,MAAM,cAAc,CAAC,EAAE,CAAC,CAAC;QAEzB,MAAM,eAAe,CAAC,SAAS,CAC9B,EAAE,EAAE,EAAE,EACN;YACC;gBACC,IAAI,EAAE;oBACL,UAAU,EAAE;wBACX,KAAK,EAAE,kBAAkB;wBACzB,KAAK,EAAE,kBAAkB;wBACzB,IAAI,EAAE,aAAa,CAAC,EAAE;qBACtB;iBACD;aACD;SACD,EAED,EAAE,cAAc,EAAE,IAAI,EAAE,CACxB,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,EAEtD,CAAC;QACJ,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;QACzC,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qIAAqI,EAAE,KAAK,IAAI,EAAE;QAgBpJ,MAAM,EAAE,GAAG,8BAA8B,CAAC;QAC1C,MAAM,cAAc,CAAC,EAAE,CAAC,CAAC;QACzB,MAAM,eAAe,CAAC,SAAS,CAC9B,EAAE,EAAE,EAAE,EACN;YACC;gBACC,IAAI,EAAE;oBACL,UAAU,EAAE;wBACX,KAAK,EAAE,kBAAkB;wBACzB,KAAK,EAAE,kBAAkB;wBACzB,IAAI,EAAE,aAAa,CAAC,EAAE;qBACtB;iBACD;aACD;SACD,EAED,EAAE,cAAc,EAAE,IAAI,EAAE,CACxB,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,EAExD,CAAC;QACJ,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAChC,IAAI,CAAC,QAAQ,EAAE,UAAU;YAAE,OAAO;QAOlC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAOzD,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,CAAC;QACvD,MAAM,OAAO,GAAG,IAAI,eAAe,CAClC,aAAa,CAAC,MAAM,EAAE,EACtB,gBAAgB,EAChB,SAAS,EACT,MAAM,CACN,CAAC;QACF,IAAI,CAAC;YACJ,MAAM,OAAO,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC,QAAgC,CAAC,EAAE,EAAE,CAAC,CAAC;YAIvE,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;YACxB,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,UAAU;iBAC9C,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC;iBACf,IAAI,EAA2C,CAAC;YAClD,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;YAChC,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,CAAC;gBAC3B,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;YAC9D,CAAC;YAID,MAAM,CACL,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,EACrC,2EAA2E,CAC3E,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACd,MAAM,CACJ,QAAQ,CAAC,UAAU,CAAC,KAAgC,EAAE,SAAS,CAChE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAKrB,MAAM,QAAQ,GAAG,kBAAkB,CAAC,QAAQ,EAAE,CAAC;YAC/C,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAC9C,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC5B,CAAC;gBAAS,CAAC;YACV,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;YACtB,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC;QAC5B,CAAC;IACF,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
|
@@ -69,7 +69,7 @@ describe("CentralDbStreamer end-to-end: puzzle records", () => {
|
|
|
69
69
|
await mongod.stop();
|
|
70
70
|
});
|
|
71
71
|
it("streamPuzzleRecord upserts the record to central puzzlecaptcha collection", async () => {
|
|
72
|
-
const challenge = "
|
|
72
|
+
const challenge = "1___puzzle___e2e-1";
|
|
73
73
|
const record = buildPuzzleRecord(challenge);
|
|
74
74
|
streamer.streamPuzzleRecord(record);
|
|
75
75
|
const tables = streamer.db.tables;
|
|
@@ -87,7 +87,7 @@ describe("CentralDbStreamer end-to-end: puzzle records", () => {
|
|
|
87
87
|
expect(stored.ipInfo).toMatchObject(validIpInfo);
|
|
88
88
|
});
|
|
89
89
|
it("streamPuzzleRecord calls markStored with the record's lastUpdatedTimestamp", async () => {
|
|
90
|
-
const challenge = "
|
|
90
|
+
const challenge = "2___puzzle___e2e-2";
|
|
91
91
|
const record = buildPuzzleRecord(challenge);
|
|
92
92
|
let capturedTimestamp;
|
|
93
93
|
const markStored = async (ts) => {
|
|
@@ -101,7 +101,7 @@ describe("CentralDbStreamer end-to-end: puzzle records", () => {
|
|
|
101
101
|
expect(capturedTimestamp?.toISOString()).toBe(record.lastUpdatedTimestamp?.toISOString());
|
|
102
102
|
});
|
|
103
103
|
it("streamPuzzleRecord upsert replaces fields on subsequent calls with the same challenge", async () => {
|
|
104
|
-
const challenge = "
|
|
104
|
+
const challenge = "3___puzzle___e2e-upsert";
|
|
105
105
|
const first = buildPuzzleRecord(challenge, {
|
|
106
106
|
result: { status: CaptchaStatus.pending },
|
|
107
107
|
userSubmitted: false,
|
|
@@ -135,7 +135,7 @@ describe("CentralDbStreamer end-to-end: puzzle records", () => {
|
|
|
135
135
|
expect(stored.serverChecked).toBe(true);
|
|
136
136
|
});
|
|
137
137
|
it("streamPuzzleUpdate fetches the full record and streams it", async () => {
|
|
138
|
-
const challenge = "
|
|
138
|
+
const challenge = "4___puzzle___e2e-update";
|
|
139
139
|
const record = buildPuzzleRecord(challenge, {
|
|
140
140
|
result: { status: CaptchaStatus.approved },
|
|
141
141
|
userSubmitted: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"puzzleCentralStreaming.integration.test.js","sourceRoot":"","sources":["../../../src/tests/integration/puzzleCentralStreaming.integration.test.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EACN,aAAa,EAGb,aAAa,
|
|
1
|
+
{"version":3,"file":"puzzleCentralStreaming.integration.test.js","sourceRoot":"","sources":["../../../src/tests/integration/puzzleCentralStreaming.integration.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ServerApiVersion } from "mongodb";
|
|
2
2
|
import { describe, expect, it } from "vitest";
|
|
3
|
-
import { getMongoCompressors, getMongoConnectionOptions, } from "../mongooseOptions.js";
|
|
3
|
+
import { DEFAULT_CONNECT_TIMEOUT_MS, DEFAULT_SERVER_SELECTION_TIMEOUT_MS, getMongoCompressors, getMongoConnectionOptions, } from "../mongooseOptions.js";
|
|
4
4
|
const DEFAULT_COMPRESSORS = [];
|
|
5
5
|
const EXPLICIT_COMPRESSORS = [
|
|
6
6
|
"zstd",
|
|
@@ -151,6 +151,24 @@ describe("getMongoConnectionOptions", () => {
|
|
|
151
151
|
expect(options.maxPoolSize).toBe(50);
|
|
152
152
|
expect(options.minPoolSize).toBe(5);
|
|
153
153
|
});
|
|
154
|
+
it("defaults the connect and server selection timeouts", () => {
|
|
155
|
+
const options = getMongoConnectionOptions({
|
|
156
|
+
url: "mongodb://example.com:27017/db",
|
|
157
|
+
appName,
|
|
158
|
+
});
|
|
159
|
+
expect(options.connectTimeoutMS).toBe(DEFAULT_CONNECT_TIMEOUT_MS);
|
|
160
|
+
expect(options.serverSelectionTimeoutMS).toBe(DEFAULT_SERVER_SELECTION_TIMEOUT_MS);
|
|
161
|
+
});
|
|
162
|
+
it("applies connect and server selection timeout overrides", () => {
|
|
163
|
+
const options = getMongoConnectionOptions({
|
|
164
|
+
url: "mongodb://example.com:27017/db",
|
|
165
|
+
appName,
|
|
166
|
+
connectTimeoutMS: 45_000,
|
|
167
|
+
serverSelectionTimeoutMS: 45_000,
|
|
168
|
+
});
|
|
169
|
+
expect(options.connectTimeoutMS).toBe(45_000);
|
|
170
|
+
expect(options.serverSelectionTimeoutMS).toBe(45_000);
|
|
171
|
+
});
|
|
154
172
|
it("only sets dbName when provided", () => {
|
|
155
173
|
const withDbName = getMongoConnectionOptions({
|
|
156
174
|
url: "mongodb://example.com:27017/db",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mongooseOptions.unit.test.js","sourceRoot":"","sources":["../../src/tests/mongooseOptions.unit.test.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,
|
|
1
|
+
{"version":3,"file":"mongooseOptions.unit.test.js","sourceRoot":"","sources":["../../src/tests/mongooseOptions.unit.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mongo.unit.test.d.ts","sourceRoot":"","sources":["../../../../src/tests/unit/base/mongo.unit.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { EventEmitter } from "node:events";
|
|
2
|
+
import mongoose from "mongoose";
|
|
3
|
+
import { afterEach, describe, expect, it, vi } from "vitest";
|
|
4
|
+
import { MongoDatabase } from "../../../base/mongo.js";
|
|
5
|
+
const createMockLogger = () => {
|
|
6
|
+
const logger = {
|
|
7
|
+
debug: vi.fn(),
|
|
8
|
+
info: vi.fn(),
|
|
9
|
+
warn: vi.fn(),
|
|
10
|
+
error: vi.fn(),
|
|
11
|
+
trace: vi.fn(),
|
|
12
|
+
fatal: vi.fn(),
|
|
13
|
+
log: vi.fn(),
|
|
14
|
+
with: vi.fn(() => logger),
|
|
15
|
+
};
|
|
16
|
+
return logger;
|
|
17
|
+
};
|
|
18
|
+
class FakeConnection extends EventEmitter {
|
|
19
|
+
constructor() {
|
|
20
|
+
super(...arguments);
|
|
21
|
+
this.destroy = vi.fn((_force) => Promise.resolve());
|
|
22
|
+
this.close = vi.fn((_force) => Promise.resolve());
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
const asConnection = (fake) => fake;
|
|
26
|
+
const flush = () => new Promise((resolve) => setTimeout(resolve, 10));
|
|
27
|
+
describe("MongoDatabase.connect", () => {
|
|
28
|
+
afterEach(() => {
|
|
29
|
+
vi.restoreAllMocks();
|
|
30
|
+
});
|
|
31
|
+
it("destroys a connection that failed to open", async () => {
|
|
32
|
+
const fake = new FakeConnection();
|
|
33
|
+
vi.spyOn(mongoose, "createConnection").mockReturnValue(asConnection(fake));
|
|
34
|
+
const db = new MongoDatabase("mongodb://user:pass@example.com:27017/db", "db", undefined, createMockLogger());
|
|
35
|
+
const connecting = db.connect();
|
|
36
|
+
await flush();
|
|
37
|
+
fake.emit("error", new Error("connect ETIMEDOUT"));
|
|
38
|
+
await expect(connecting).rejects.toThrow("connect ETIMEDOUT");
|
|
39
|
+
expect(fake.destroy).toHaveBeenCalledTimes(1);
|
|
40
|
+
expect(db.connected).toBe(false);
|
|
41
|
+
expect(db.connection).toBeUndefined();
|
|
42
|
+
});
|
|
43
|
+
it("does not destroy a connection that already opened", async () => {
|
|
44
|
+
const fake = new FakeConnection();
|
|
45
|
+
vi.spyOn(mongoose, "createConnection").mockReturnValue(asConnection(fake));
|
|
46
|
+
const db = new MongoDatabase("mongodb://user:pass@example.com:27017/db", "db", undefined, createMockLogger());
|
|
47
|
+
const connecting = db.connect();
|
|
48
|
+
await flush();
|
|
49
|
+
fake.emit("open");
|
|
50
|
+
await connecting;
|
|
51
|
+
expect(db.connected).toBe(true);
|
|
52
|
+
expect(db.connection).toBe(asConnection(fake));
|
|
53
|
+
fake.emit("error", new Error("transient topology error"));
|
|
54
|
+
await flush();
|
|
55
|
+
expect(fake.destroy).not.toHaveBeenCalled();
|
|
56
|
+
});
|
|
57
|
+
});
|
|
58
|
+
//# sourceMappingURL=mongo.unit.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mongo.unit.test.js","sourceRoot":"","sources":["../../../../src/tests/unit/base/mongo.unit.test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@prosopo/database",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.28",
|
|
4
4
|
"description": "Prosopo database plugins for provider",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -38,23 +38,23 @@
|
|
|
38
38
|
"homepage": "https://github.com/prosopo/captcha#readme",
|
|
39
39
|
"dependencies": {
|
|
40
40
|
"@polkadot/util": "13.5.7",
|
|
41
|
-
"@prosopo/common": "3.1.
|
|
42
|
-
"@prosopo/logger": "2.0.
|
|
43
|
-
"@prosopo/redis-client": "1.0.
|
|
44
|
-
"@prosopo/types": "5.
|
|
45
|
-
"@prosopo/types-database": "5.
|
|
46
|
-
"@prosopo/user-access-policy": "3.
|
|
47
|
-
"@prosopo/util": "3.3.
|
|
48
|
-
"bson": "
|
|
49
|
-
"make-dir": "
|
|
50
|
-
"mongodb": "6.
|
|
41
|
+
"@prosopo/common": "3.1.54",
|
|
42
|
+
"@prosopo/logger": "2.0.9",
|
|
43
|
+
"@prosopo/redis-client": "1.0.35",
|
|
44
|
+
"@prosopo/types": "5.7.0",
|
|
45
|
+
"@prosopo/types-database": "5.4.1",
|
|
46
|
+
"@prosopo/user-access-policy": "3.13.0",
|
|
47
|
+
"@prosopo/util": "3.3.9",
|
|
48
|
+
"bson": "7.3.2",
|
|
49
|
+
"make-dir": "5.1.0",
|
|
50
|
+
"mongodb": "7.6.0",
|
|
51
51
|
"mongodb-memory-server": "10.3.0",
|
|
52
|
-
"mongoose": "
|
|
52
|
+
"mongoose": "9.9.4"
|
|
53
53
|
},
|
|
54
54
|
"devDependencies": {
|
|
55
|
-
"@prosopo/config": "3.3.
|
|
55
|
+
"@prosopo/config": "3.3.14",
|
|
56
56
|
"@types/node": "22.10.2",
|
|
57
|
-
"@vitest/coverage-v8": "4.1.
|
|
57
|
+
"@vitest/coverage-v8": "4.1.11",
|
|
58
58
|
"concurrently": "9.0.1",
|
|
59
59
|
"del-cli": "6.0.0",
|
|
60
60
|
"npm-run-all": "4.1.5",
|
|
@@ -62,7 +62,7 @@
|
|
|
62
62
|
"tsx": "4.20.3",
|
|
63
63
|
"typescript": "5.6.2",
|
|
64
64
|
"vite": "8.1.5",
|
|
65
|
-
"vitest": "4.1.
|
|
65
|
+
"vitest": "4.1.11"
|
|
66
66
|
},
|
|
67
67
|
"sideEffects": false
|
|
68
68
|
}
|