@budibase/backend-core 2.30.2 → 2.30.4
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/index.js +371 -169
- package/dist/index.js.map +3 -3
- package/dist/index.js.meta.json +1 -1
- package/dist/package.json +5 -5
- package/dist/plugins.js +1 -0
- package/dist/plugins.js.map +2 -2
- package/dist/plugins.js.meta.json +1 -1
- package/dist/src/context/mainContext.d.ts +2 -0
- package/dist/src/context/mainContext.js +19 -0
- package/dist/src/context/mainContext.js.map +1 -1
- package/dist/src/context/types.d.ts +3 -0
- package/dist/src/environment.d.ts +4 -0
- package/dist/src/environment.js +27 -1
- package/dist/src/environment.js.map +1 -1
- package/dist/src/events/processors/posthog/PosthogProcessor.d.ts +1 -1
- package/dist/src/events/processors/posthog/PosthogProcessor.js +2 -2
- package/dist/src/events/processors/posthog/PosthogProcessor.js.map +1 -1
- package/dist/src/features/index.d.ts +30 -28
- package/dist/src/features/index.js +200 -79
- package/dist/src/features/index.js.map +1 -1
- package/dist/src/index.d.ts +3 -1
- package/dist/src/index.js +3 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/redis/redis.d.ts +1 -0
- package/dist/src/redis/redis.js +4 -0
- package/dist/src/redis/redis.js.map +1 -1
- package/dist/src/security/auth.js +1 -1
- package/dist/src/security/auth.js.map +1 -1
- package/dist/src/sql/sqlTable.js +23 -8
- package/dist/src/sql/sqlTable.js.map +1 -1
- package/dist/tests/core/utilities/mocks/index.d.ts +0 -2
- package/dist/tests/core/utilities/mocks/index.js +1 -7
- package/dist/tests/core/utilities/mocks/index.js.map +1 -1
- package/dist/tests/core/utilities/structures/users.js +1 -1
- package/dist/tests/core/utilities/structures/users.js.map +1 -1
- package/dist/tests/jestSetup.js +7 -2
- package/dist/tests/jestSetup.js.map +1 -1
- package/package.json +5 -5
- package/src/context/mainContext.ts +19 -0
- package/src/context/tests/index.spec.ts +1 -1
- package/src/context/types.ts +3 -0
- package/src/environment.ts +29 -0
- package/src/events/processors/posthog/PosthogProcessor.ts +1 -1
- package/src/events/processors/posthog/tests/PosthogProcessor.spec.ts +16 -22
- package/src/features/index.ts +242 -80
- package/src/features/tests/features.spec.ts +209 -63
- package/src/index.ts +1 -1
- package/src/middleware/passport/sso/tests/oidc.spec.ts +4 -12
- package/src/middleware/passport/sso/tests/sso.spec.ts +10 -12
- package/src/plugin/tests/validation.spec.ts +168 -42
- package/src/redis/redis.ts +4 -0
- package/src/redis/tests/redis.spec.ts +6 -3
- package/src/security/auth.ts +1 -1
- package/src/security/tests/auth.spec.ts +2 -2
- package/src/sql/sqlTable.ts +21 -7
- package/tests/core/utilities/mocks/index.ts +0 -2
- package/tests/core/utilities/structures/users.ts +1 -1
- package/tests/jestSetup.ts +10 -3
- package/dist/tests/core/utilities/mocks/fetch.d.ts +0 -32
- package/dist/tests/core/utilities/mocks/fetch.js +0 -15
- package/dist/tests/core/utilities/mocks/fetch.js.map +0 -1
- package/dist/tests/core/utilities/mocks/posthog.d.ts +0 -0
- package/dist/tests/core/utilities/mocks/posthog.js +0 -9
- package/dist/tests/core/utilities/mocks/posthog.js.map +0 -1
- package/tests/core/utilities/mocks/fetch.ts +0 -17
- package/tests/core/utilities/mocks/posthog.ts +0 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlTable.js","sourceRoot":"","sources":["../../../src/sql/sqlTable.ts"],"names":[],"mappings":";;AAAA,+BAAiC;AACjC,2CAWwB;AACxB,mCAA4D;AAC5D,uDAAsD;AAItD,SAAS,aAAa,CAAC,IAAe;IACpC,MAAM,OAAO,GAAG,CAAC,iBAAS,CAAC,IAAI,EAAE,iBAAS,CAAC,OAAO,CAAC,CAAA;IACnD,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;AACrC,CAAC;AAED,SAAS,cAAc,CACrB,MAA0B,EAC1B,KAAY,EACZ,MAA6B,EAC7B,WAAyB,IAAI,EAC7B,OAAsB;IAEtB,IAAI,
|
|
1
|
+
{"version":3,"file":"sqlTable.js","sourceRoot":"","sources":["../../../src/sql/sqlTable.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,5 @@ import * as _accounts from "../../../../src/accounts";
|
|
|
2
2
|
export declare const accounts: jest.MockedObjectDeep<typeof _accounts>;
|
|
3
3
|
export * as date from "./date";
|
|
4
4
|
export * as licenses from "./licenses";
|
|
5
|
-
export { default as fetch } from "./fetch";
|
|
6
5
|
export * from "./alerts";
|
|
7
6
|
import "./events";
|
|
8
|
-
import "./posthog";
|
|
@@ -25,19 +25,13 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
25
25
|
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
26
26
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
27
27
|
};
|
|
28
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
29
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
30
|
-
};
|
|
31
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
32
|
-
exports.
|
|
29
|
+
exports.licenses = exports.date = exports.accounts = void 0;
|
|
33
30
|
jest.mock("../../../../src/accounts");
|
|
34
31
|
const _accounts = __importStar(require("../../../../src/accounts"));
|
|
35
32
|
exports.accounts = jest.mocked(_accounts);
|
|
36
33
|
exports.date = __importStar(require("./date"));
|
|
37
34
|
exports.licenses = __importStar(require("./licenses"));
|
|
38
|
-
var fetch_1 = require("./fetch");
|
|
39
|
-
Object.defineProperty(exports, "fetch", { enumerable: true, get: function () { return __importDefault(fetch_1).default; } });
|
|
40
35
|
__exportStar(require("./alerts"), exports);
|
|
41
36
|
require("./events");
|
|
42
|
-
require("./posthog");
|
|
43
37
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../tests/core/utilities/mocks/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../tests/core/utilities/mocks/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAA;AACrC,oEAAqD;AAExC,QAAA,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;AAE9C,+CAA8B;AAC9B,uDAAsC;AACtC,2CAAwB;AACxB,oBAAiB"}
|
|
@@ -12,7 +12,7 @@ const newEmail = () => {
|
|
|
12
12
|
exports.newEmail = newEmail;
|
|
13
13
|
const user = (userProps) => {
|
|
14
14
|
const userId = userProps === null || userProps === void 0 ? void 0 : userProps._id;
|
|
15
|
-
return Object.assign({ _id: userId, userId, email: (0, exports.newEmail)(), password: "
|
|
15
|
+
return Object.assign({ _id: userId, userId, email: (0, exports.newEmail)(), password: "password123!", roles: { app_test: "admin" }, firstName: generator_1.generator.first(), lastName: generator_1.generator.last(), pictureUrl: "http://example.com", tenantId: _1.tenant.id() }, userProps);
|
|
16
16
|
};
|
|
17
17
|
exports.user = user;
|
|
18
18
|
const adminUser = (userProps) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"users.js","sourceRoot":"","sources":["../../../../../tests/core/utilities/structures/users.ts"],"names":[],"mappings":";;;AAwEA,0BAqBC;AArFD,+BAAmC;AACnC,qCAA+B;AAC/B,2CAAuC;AACvC,wBAA0B;AAEnB,MAAM,QAAQ,GAAG,GAAG,EAAE;IAC3B,OAAO,GAAG,IAAA,aAAI,GAAE,cAAc,CAAA;AAChC,CAAC,CAAA;AAFY,QAAA,QAAQ,YAEpB;AAEM,MAAM,IAAI,GAAG,CAAC,SAAyC,EAAQ,EAAE;IACtE,MAAM,MAAM,GAAG,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,GAAG,CAAA;IAC7B,uBACE,GAAG,EAAE,MAAM,EACX,MAAM,EACN,KAAK,EAAE,IAAA,gBAAQ,GAAE,EACjB,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"users.js","sourceRoot":"","sources":["../../../../../tests/core/utilities/structures/users.ts"],"names":[],"mappings":";;;AAwEA,0BAqBC;AArFD,+BAAmC;AACnC,qCAA+B;AAC/B,2CAAuC;AACvC,wBAA0B;AAEnB,MAAM,QAAQ,GAAG,GAAG,EAAE;IAC3B,OAAO,GAAG,IAAA,aAAI,GAAE,cAAc,CAAA;AAChC,CAAC,CAAA;AAFY,QAAA,QAAQ,YAEpB;AAEM,MAAM,IAAI,GAAG,CAAC,SAAyC,EAAQ,EAAE;IACtE,MAAM,MAAM,GAAG,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,GAAG,CAAA;IAC7B,uBACE,GAAG,EAAE,MAAM,EACX,MAAM,EACN,KAAK,EAAE,IAAA,gBAAQ,GAAE,EACjB,QAAQ,EAAE,cAAc,EACxB,KAAK,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAC5B,SAAS,EAAE,qBAAS,CAAC,KAAK,EAAE,EAC5B,QAAQ,EAAE,qBAAS,CAAC,IAAI,EAAE,EAC1B,UAAU,EAAE,oBAAoB,EAChC,QAAQ,EAAE,SAAM,CAAC,EAAE,EAAE,IAClB,SAAS,EACb;AACH,CAAC,CAAA;AAdY,QAAA,IAAI,QAchB;AAEM,MAAM,SAAS,GAAG,CAAC,SAAe,EAAa,EAAE;IACtD,uCACK,IAAA,YAAI,EAAC,SAAS,CAAC,KAClB,KAAK,EAAE;YACL,MAAM,EAAE,IAAI;SACb,EACD,OAAO,EAAE;YACP,MAAM,EAAE,IAAI;SACb,IACF;AACH,CAAC,CAAA;AAVY,QAAA,SAAS,aAUrB;AAEM,MAAM,aAAa,GAAG,CAAC,SAAe,EAAiB,EAAE;IAC9D,uCACK,IAAA,YAAI,EAAC,SAAS,CAAC,KAClB,KAAK,EAAE;YACL,MAAM,EAAE,IAAI;SACb,IACF;AACH,CAAC,CAAA;AAPY,QAAA,aAAa,iBAOzB;AAEM,MAAM,WAAW,GAAG,CAAC,SAAyB,EAAe,EAAE;IACpE,uCACK,IAAA,YAAI,EAAC,SAAS,CAAC,KAClB,OAAO,EAAE;YACP,MAAM,EAAE,IAAI;SACb,IACF;AACH,CAAC,CAAA;AAPY,QAAA,WAAW,eAOvB;AAEM,MAAM,cAAc,GAAG,CAAC,KAAa,EAAE,SAAe,EAAe,EAAE;IAC5E,uCACK,IAAA,YAAI,EAAC,SAAS,CAAC,KAClB,OAAO,EAAE;YACP,IAAI,EAAE,CAAC,KAAK,CAAC;SACd,IACF;AACH,CAAC,CAAA;AAPY,QAAA,cAAc,kBAO1B;AAED,SAAgB,OAAO,CACrB,OAAiD,EAAE;;IAEnD,MAAM,IAAI,GAAG,IAAA,YAAI,EAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC5B,OAAO,IAAI,CAAC,QAAQ,CAAA;IAEpB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAClB,IAAI,CAAC,OAAO,GAAG,IAAA,iBAAW,EAAC,IAAI,CAAC,CAAA;IAClC,CAAC;IAED,uCACK,IAAI,KACP,kBAAkB,EAAE,KAAK,EACzB,MAAM,EAAE,MAAA,IAAI,CAAC,OAAO,0CAAE,MAAM,EAC5B,QAAQ,EAAE,MAAA,IAAI,CAAC,OAAO,0CAAE,QAAS,EACjC,YAAY,EAAE,MAAA,IAAI,CAAC,OAAO,0CAAE,YAAa,EACzC,iBAAiB,EAAE;YACjB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,OAAO,EAAE,IAAI,CAAC,UAAU;SACzB,IACF;AACH,CAAC"}
|
package/dist/tests/jestSetup.js
CHANGED
|
@@ -7,11 +7,16 @@ require("./core/logging");
|
|
|
7
7
|
const environment_1 = __importDefault(require("../src/environment"));
|
|
8
8
|
const timers_1 = require("../src/timers");
|
|
9
9
|
const utilities_1 = require("./core/utilities");
|
|
10
|
-
|
|
11
|
-
utilities_1.mocks.fetch.enable();
|
|
10
|
+
const nock_1 = __importDefault(require("nock"));
|
|
12
11
|
// mock all dates to 2020-01-01T00:00:00.000Z
|
|
13
12
|
// use tk.reset() to use real dates in individual tests
|
|
14
13
|
const timekeeper_1 = __importDefault(require("timekeeper"));
|
|
14
|
+
nock_1.default.disableNetConnect();
|
|
15
|
+
nock_1.default.enableNetConnect(host => {
|
|
16
|
+
return (host.includes("localhost") ||
|
|
17
|
+
host.includes("127.0.0.1") ||
|
|
18
|
+
host.includes("::1"));
|
|
19
|
+
});
|
|
15
20
|
timekeeper_1.default.freeze(utilities_1.mocks.date.MOCK_DATE);
|
|
16
21
|
if (!process.env.DEBUG) {
|
|
17
22
|
console.log = jest.fn(); // console.log are ignored in tests
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jestSetup.js","sourceRoot":"","sources":["../../tests/jestSetup.ts"],"names":[],"mappings":";;;;;AAAA,0BAAuB;AACvB,qEAAoC;AACpC,0CAAuC;AACvC,gDAA4D;
|
|
1
|
+
{"version":3,"file":"jestSetup.js","sourceRoot":"","sources":["../../tests/jestSetup.ts"],"names":[],"mappings":";;;;;AAAA,0BAAuB;AACvB,qEAAoC;AACpC,0CAAuC;AACvC,gDAA4D;AAC5D,gDAAuB;AAEvB,6CAA6C;AAC7C,uDAAuD;AACvD,4DAA2B;AAE3B,cAAI,CAAC,iBAAiB,EAAE,CAAA;AACxB,cAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE;IAC3B,OAAO,CACL,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;QAC1B,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;QAC1B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CACrB,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,oBAAE,CAAC,MAAM,CAAC,iBAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;AAE/B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;IACvB,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,EAAE,CAAA,CAAC,mCAAmC;AAC7D,CAAC;AAED,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;IACpB,4CAA4C;IAC5C,cAAc;IACd,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;AACzB,CAAC;AAED,8BAAkB,CAAC,QAAQ,CAAC,qBAAG,CAAC,CAAA;AAEhC,QAAQ,CAAC,GAAG,EAAE;IACZ,IAAA,gBAAO,GAAE,CAAA;AACX,CAAC,CAAC,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@budibase/backend-core",
|
|
3
|
-
"version": "2.30.
|
|
3
|
+
"version": "2.30.4",
|
|
4
4
|
"description": "Budibase backend core libraries used in server and worker",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/src/index.d.ts",
|
|
@@ -23,8 +23,8 @@
|
|
|
23
23
|
"dependencies": {
|
|
24
24
|
"@budibase/nano": "10.1.5",
|
|
25
25
|
"@budibase/pouchdb-replication-stream": "1.2.11",
|
|
26
|
-
"@budibase/shared-core": "2.30.
|
|
27
|
-
"@budibase/types": "2.30.
|
|
26
|
+
"@budibase/shared-core": "2.30.4",
|
|
27
|
+
"@budibase/types": "2.30.4",
|
|
28
28
|
"aws-cloudfront-sign": "3.0.2",
|
|
29
29
|
"aws-sdk": "2.1030.0",
|
|
30
30
|
"bcrypt": "5.1.0",
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
"passport-oauth2-refresh": "^2.1.0",
|
|
47
47
|
"pino": "8.11.0",
|
|
48
48
|
"pino-http": "8.3.3",
|
|
49
|
-
"posthog-node": "
|
|
49
|
+
"posthog-node": "4.0.1",
|
|
50
50
|
"pouchdb": "7.3.0",
|
|
51
51
|
"pouchdb-find": "7.2.2",
|
|
52
52
|
"redlock": "4.2.0",
|
|
@@ -95,5 +95,5 @@
|
|
|
95
95
|
}
|
|
96
96
|
}
|
|
97
97
|
},
|
|
98
|
-
"gitHead": "
|
|
98
|
+
"gitHead": "31ecd970317f72024de072a54e4d6759333e2b80"
|
|
99
99
|
}
|
|
@@ -375,3 +375,22 @@ export function getCurrentContext(): ContextMap | undefined {
|
|
|
375
375
|
return undefined
|
|
376
376
|
}
|
|
377
377
|
}
|
|
378
|
+
|
|
379
|
+
export function getFeatureFlags<T extends Record<string, any>>(
|
|
380
|
+
key: string
|
|
381
|
+
): T | undefined {
|
|
382
|
+
const context = getCurrentContext()
|
|
383
|
+
if (!context) {
|
|
384
|
+
return undefined
|
|
385
|
+
}
|
|
386
|
+
return context.featureFlagCache?.[key] as T
|
|
387
|
+
}
|
|
388
|
+
|
|
389
|
+
export function setFeatureFlags(key: string, value: Record<string, any>) {
|
|
390
|
+
const context = getCurrentContext()
|
|
391
|
+
if (!context) {
|
|
392
|
+
return
|
|
393
|
+
}
|
|
394
|
+
context.featureFlagCache ??= {}
|
|
395
|
+
context.featureFlagCache[key] = value
|
|
396
|
+
}
|
|
@@ -2,7 +2,7 @@ import { testEnv } from "../../../tests/extra"
|
|
|
2
2
|
import * as context from "../"
|
|
3
3
|
import { DEFAULT_TENANT_ID } from "../../constants"
|
|
4
4
|
import { structures } from "../../../tests"
|
|
5
|
-
import
|
|
5
|
+
import * as db from "../../db"
|
|
6
6
|
import Context from "../Context"
|
|
7
7
|
import { ContextMap } from "../types"
|
|
8
8
|
import { IdentityType } from "@budibase/types"
|
package/src/context/types.ts
CHANGED
package/src/environment.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { existsSync, readFileSync } from "fs"
|
|
2
2
|
import { ServiceType } from "@budibase/types"
|
|
3
|
+
import { cloneDeep } from "lodash"
|
|
3
4
|
|
|
4
5
|
function isTest() {
|
|
5
6
|
return isJest()
|
|
@@ -144,6 +145,8 @@ const environment = {
|
|
|
144
145
|
COOKIE_DOMAIN: process.env.COOKIE_DOMAIN,
|
|
145
146
|
PLATFORM_URL: process.env.PLATFORM_URL || "",
|
|
146
147
|
POSTHOG_TOKEN: process.env.POSTHOG_TOKEN,
|
|
148
|
+
POSTHOG_PERSONAL_TOKEN: process.env.POSTHOG_PERSONAL_TOKEN,
|
|
149
|
+
POSTHOG_API_HOST: process.env.POSTHOG_API_HOST || "https://us.i.posthog.com",
|
|
147
150
|
ENABLE_ANALYTICS: process.env.ENABLE_ANALYTICS,
|
|
148
151
|
TENANT_FEATURE_FLAGS: process.env.TENANT_FEATURE_FLAGS,
|
|
149
152
|
CLOUDFRONT_CDN: process.env.CLOUDFRONT_CDN,
|
|
@@ -208,6 +211,32 @@ const environment = {
|
|
|
208
211
|
OPENAI_API_KEY: process.env.OPENAI_API_KEY,
|
|
209
212
|
}
|
|
210
213
|
|
|
214
|
+
export function setEnv(newEnvVars: Partial<typeof environment>): () => void {
|
|
215
|
+
const oldEnv = cloneDeep(environment)
|
|
216
|
+
|
|
217
|
+
let key: keyof typeof newEnvVars
|
|
218
|
+
for (key in newEnvVars) {
|
|
219
|
+
environment._set(key, newEnvVars[key])
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
return () => {
|
|
223
|
+
for (const [key, value] of Object.entries(oldEnv)) {
|
|
224
|
+
environment._set(key, value)
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
export function withEnv<T>(envVars: Partial<typeof environment>, f: () => T) {
|
|
230
|
+
const cleanup = setEnv(envVars)
|
|
231
|
+
const result = f()
|
|
232
|
+
if (result instanceof Promise) {
|
|
233
|
+
return result.finally(cleanup)
|
|
234
|
+
} else {
|
|
235
|
+
cleanup()
|
|
236
|
+
return result
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
|
|
211
240
|
type EnvironmentKey = keyof typeof environment
|
|
212
241
|
export const SECRETS: EnvironmentKey[] = [
|
|
213
242
|
"API_ENCRYPTION_KEY",
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
import { testEnv } from "../../../../../tests/extra"
|
|
2
2
|
import PosthogProcessor from "../PosthogProcessor"
|
|
3
3
|
import { Event, IdentityType, Hosting } from "@budibase/types"
|
|
4
|
-
|
|
5
|
-
const tk = require("timekeeper")
|
|
6
|
-
|
|
4
|
+
import tk from "timekeeper"
|
|
7
5
|
import * as cache from "../../../../cache/generic"
|
|
8
6
|
import { CacheKey } from "../../../../cache/generic"
|
|
9
7
|
import * as context from "../../../../context"
|
|
@@ -18,6 +16,9 @@ const newIdentity = () => {
|
|
|
18
16
|
}
|
|
19
17
|
|
|
20
18
|
describe("PosthogProcessor", () => {
|
|
19
|
+
let processor: PosthogProcessor
|
|
20
|
+
let spy: jest.SpyInstance
|
|
21
|
+
|
|
21
22
|
beforeAll(() => {
|
|
22
23
|
testEnv.singleTenant()
|
|
23
24
|
})
|
|
@@ -27,33 +28,29 @@ describe("PosthogProcessor", () => {
|
|
|
27
28
|
await cache.bustCache(
|
|
28
29
|
`${CacheKey.EVENTS_RATE_LIMIT}:${Event.SERVED_BUILDER}`
|
|
29
30
|
)
|
|
31
|
+
|
|
32
|
+
processor = new PosthogProcessor("test")
|
|
33
|
+
spy = jest.spyOn(processor.posthog, "capture")
|
|
30
34
|
})
|
|
31
35
|
|
|
32
36
|
describe("processEvent", () => {
|
|
33
37
|
it("processes event", async () => {
|
|
34
|
-
const processor = new PosthogProcessor("test")
|
|
35
|
-
|
|
36
38
|
const identity = newIdentity()
|
|
37
39
|
const properties = {}
|
|
38
40
|
|
|
39
41
|
await processor.processEvent(Event.APP_CREATED, identity, properties)
|
|
40
|
-
|
|
41
|
-
expect(processor.posthog.capture).toHaveBeenCalledTimes(1)
|
|
42
|
+
expect(spy).toHaveBeenCalledTimes(1)
|
|
42
43
|
})
|
|
43
44
|
|
|
44
45
|
it("honours exclusions", async () => {
|
|
45
|
-
const processor = new PosthogProcessor("test")
|
|
46
|
-
|
|
47
46
|
const identity = newIdentity()
|
|
48
47
|
const properties = {}
|
|
49
48
|
|
|
50
49
|
await processor.processEvent(Event.AUTH_SSO_UPDATED, identity, properties)
|
|
51
|
-
expect(
|
|
50
|
+
expect(spy).toHaveBeenCalledTimes(0)
|
|
52
51
|
})
|
|
53
52
|
|
|
54
53
|
it("removes audited information", async () => {
|
|
55
|
-
const processor = new PosthogProcessor("test")
|
|
56
|
-
|
|
57
54
|
const identity = newIdentity()
|
|
58
55
|
const properties = {
|
|
59
56
|
email: "test",
|
|
@@ -63,7 +60,8 @@ describe("PosthogProcessor", () => {
|
|
|
63
60
|
}
|
|
64
61
|
|
|
65
62
|
await processor.processEvent(Event.USER_CREATED, identity, properties)
|
|
66
|
-
expect(
|
|
63
|
+
expect(spy).toHaveBeenCalled()
|
|
64
|
+
|
|
67
65
|
// @ts-ignore
|
|
68
66
|
const call = processor.posthog.capture.mock.calls[0][0]
|
|
69
67
|
expect(call.properties.audited).toBeUndefined()
|
|
@@ -72,7 +70,6 @@ describe("PosthogProcessor", () => {
|
|
|
72
70
|
|
|
73
71
|
describe("rate limiting", () => {
|
|
74
72
|
it("sends daily event once in same day", async () => {
|
|
75
|
-
const processor = new PosthogProcessor("test")
|
|
76
73
|
const identity = newIdentity()
|
|
77
74
|
const properties = {}
|
|
78
75
|
|
|
@@ -82,11 +79,10 @@ describe("PosthogProcessor", () => {
|
|
|
82
79
|
tk.freeze(new Date(2022, 0, 1, 15, 0))
|
|
83
80
|
await processor.processEvent(Event.SERVED_BUILDER, identity, properties)
|
|
84
81
|
|
|
85
|
-
expect(
|
|
82
|
+
expect(spy).toHaveBeenCalledTimes(1)
|
|
86
83
|
})
|
|
87
84
|
|
|
88
85
|
it("sends daily event once per unique day", async () => {
|
|
89
|
-
const processor = new PosthogProcessor("test")
|
|
90
86
|
const identity = newIdentity()
|
|
91
87
|
const properties = {}
|
|
92
88
|
|
|
@@ -102,11 +98,10 @@ describe("PosthogProcessor", () => {
|
|
|
102
98
|
tk.freeze(new Date(2022, 0, 3, 6, 0))
|
|
103
99
|
await processor.processEvent(Event.SERVED_BUILDER, identity, properties)
|
|
104
100
|
|
|
105
|
-
expect(
|
|
101
|
+
expect(spy).toHaveBeenCalledTimes(3)
|
|
106
102
|
})
|
|
107
103
|
|
|
108
104
|
it("sends event again after cache expires", async () => {
|
|
109
|
-
const processor = new PosthogProcessor("test")
|
|
110
105
|
const identity = newIdentity()
|
|
111
106
|
const properties = {}
|
|
112
107
|
|
|
@@ -120,11 +115,10 @@ describe("PosthogProcessor", () => {
|
|
|
120
115
|
tk.freeze(new Date(2022, 0, 1, 14, 0))
|
|
121
116
|
await processor.processEvent(Event.SERVED_BUILDER, identity, properties)
|
|
122
117
|
|
|
123
|
-
expect(
|
|
118
|
+
expect(spy).toHaveBeenCalledTimes(2)
|
|
124
119
|
})
|
|
125
120
|
|
|
126
121
|
it("sends per app events once per day per app", async () => {
|
|
127
|
-
const processor = new PosthogProcessor("test")
|
|
128
122
|
const identity = newIdentity()
|
|
129
123
|
const properties = {}
|
|
130
124
|
|
|
@@ -160,10 +154,10 @@ describe("PosthogProcessor", () => {
|
|
|
160
154
|
}
|
|
161
155
|
|
|
162
156
|
await runAppEvents("app_1")
|
|
163
|
-
expect(
|
|
157
|
+
expect(spy).toHaveBeenCalledTimes(4)
|
|
164
158
|
|
|
165
159
|
await runAppEvents("app_2")
|
|
166
|
-
expect(
|
|
160
|
+
expect(spy).toHaveBeenCalledTimes(8)
|
|
167
161
|
})
|
|
168
162
|
})
|
|
169
163
|
})
|