@dereekb/firebase-server 12.6.21 → 13.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/index.cjs.js +2937 -0
- package/index.esm.js +2775 -0
- package/mailgun/index.cjs.js +48 -0
- package/mailgun/index.esm.js +46 -0
- package/mailgun/package.json +26 -6
- package/model/index.cjs.js +5298 -0
- package/model/index.d.ts +1 -0
- package/model/index.esm.js +5161 -0
- package/model/package.json +31 -3
- package/model/src/lib/notification/notification.module.d.ts +10 -10
- package/model/src/lib/storagefile/storagefile.task.service.handler.d.ts +3 -14
- package/package.json +48 -27
- package/src/lib/auth/auth.context.d.ts +1 -1
- package/src/lib/auth/auth.service.d.ts +1 -1
- package/src/lib/function/assert.d.ts +2 -2
- package/src/lib/function/context.d.ts +1 -1
- package/src/lib/index.d.ts +1 -0
- package/src/lib/nest/app.d.ts +1 -1
- package/src/lib/nest/development/development.app.function.d.ts +1 -2
- package/src/lib/nest/function/call.d.ts +1 -1
- package/src/lib/nest/function/context.d.ts +0 -4
- package/src/lib/nest/function/index.d.ts +0 -1
- package/src/lib/nest/function/nest.d.ts +1 -1
- package/src/lib/nest/function/v2/blocking.d.ts +3 -2
- package/src/lib/nest/model/crud.assert.function.d.ts +0 -4
- package/src/lib/storage/storage.d.ts +1 -1
- package/src/lib/type.d.ts +9 -0
- package/test/index.cjs.js +1324 -0
- package/test/index.d.ts +1 -0
- package/test/index.esm.js +1247 -0
- package/test/package.json +34 -3
- package/test/src/lib/firebase/firebase.admin.auth.d.ts +22 -13
- package/test/src/lib/firebase/firebase.admin.collection.d.ts +6 -6
- package/test/src/lib/firebase/firebase.admin.d.ts +10 -10
- package/test/src/lib/firebase/firebase.admin.function.d.ts +9 -9
- package/test/src/lib/firebase/firebase.admin.nest.d.ts +8 -8
- package/test/src/lib/firebase/firebase.admin.nest.function.d.ts +9 -9
- package/test/src/lib/firebase/firebase.test.d.ts +30 -0
- package/test/src/lib/firebase/index.d.ts +1 -1
- package/test/src/lib/firestore/firestore.admin.d.ts +3 -3
- package/test/src/lib/firestore/firestore.d.ts +2 -2
- package/test/src/lib/storage/storage.admin.d.ts +3 -3
- package/test/src/lib/storage/storage.d.ts +2 -2
- package/zoho/LICENSE +1 -1
- package/zoho/index.d.ts +1 -0
- package/zoho/index.esm.js +2 -2
- package/zoho/package.json +12 -8
- package/CHANGELOG.md +0 -2233
- package/mailgun/src/index.js +0 -5
- package/mailgun/src/index.js.map +0 -1
- package/mailgun/src/lib/auth.mailgun.js +0 -41
- package/mailgun/src/lib/auth.mailgun.js.map +0 -1
- package/mailgun/src/lib/index.js +0 -5
- package/mailgun/src/lib/index.js.map +0 -1
- package/model/src/index.js +0 -5
- package/model/src/index.js.map +0 -1
- package/model/src/lib/index.js +0 -7
- package/model/src/lib/index.js.map +0 -1
- package/model/src/lib/mailgun/index.js +0 -5
- package/model/src/lib/mailgun/index.js.map +0 -1
- package/model/src/lib/mailgun/notification.send.service.mailgun.js +0 -68
- package/model/src/lib/mailgun/notification.send.service.mailgun.js.map +0 -1
- package/model/src/lib/notification/index.js +0 -20
- package/model/src/lib/notification/index.js.map +0 -1
- package/model/src/lib/notification/notification.action.init.service.js +0 -230
- package/model/src/lib/notification/notification.action.init.service.js.map +0 -1
- package/model/src/lib/notification/notification.action.service.js +0 -1487
- package/model/src/lib/notification/notification.action.service.js.map +0 -1
- package/model/src/lib/notification/notification.config.js +0 -13
- package/model/src/lib/notification/notification.config.js.map +0 -1
- package/model/src/lib/notification/notification.config.service.js +0 -60
- package/model/src/lib/notification/notification.config.service.js.map +0 -1
- package/model/src/lib/notification/notification.create.run.js +0 -59
- package/model/src/lib/notification/notification.create.run.js.map +0 -1
- package/model/src/lib/notification/notification.error.js +0 -87
- package/model/src/lib/notification/notification.error.js.map +0 -1
- package/model/src/lib/notification/notification.expedite.service.js +0 -112
- package/model/src/lib/notification/notification.expedite.service.js.map +0 -1
- package/model/src/lib/notification/notification.module.js +0 -106
- package/model/src/lib/notification/notification.module.js.map +0 -1
- package/model/src/lib/notification/notification.send.js +0 -3
- package/model/src/lib/notification/notification.send.js.map +0 -1
- package/model/src/lib/notification/notification.send.service.js +0 -10
- package/model/src/lib/notification/notification.send.service.js.map +0 -1
- package/model/src/lib/notification/notification.send.service.notificationsummary.js +0 -104
- package/model/src/lib/notification/notification.send.service.notificationsummary.js.map +0 -1
- package/model/src/lib/notification/notification.send.service.text.js +0 -29
- package/model/src/lib/notification/notification.send.service.text.js.map +0 -1
- package/model/src/lib/notification/notification.task.service.handler.js +0 -65
- package/model/src/lib/notification/notification.task.service.handler.js.map +0 -1
- package/model/src/lib/notification/notification.task.service.js +0 -10
- package/model/src/lib/notification/notification.task.service.js.map +0 -1
- package/model/src/lib/notification/notification.task.service.util.js +0 -27
- package/model/src/lib/notification/notification.task.service.util.js.map +0 -1
- package/model/src/lib/notification/notification.task.subtask.handler.js +0 -256
- package/model/src/lib/notification/notification.task.subtask.handler.js.map +0 -1
- package/model/src/lib/notification/notification.util.js +0 -478
- package/model/src/lib/notification/notification.util.js.map +0 -1
- package/model/src/lib/storagefile/index.js +0 -12
- package/model/src/lib/storagefile/index.js.map +0 -1
- package/model/src/lib/storagefile/storagefile.action.init.service.js +0 -155
- package/model/src/lib/storagefile/storagefile.action.init.service.js.map +0 -1
- package/model/src/lib/storagefile/storagefile.action.server.js +0 -797
- package/model/src/lib/storagefile/storagefile.action.server.js.map +0 -1
- package/model/src/lib/storagefile/storagefile.error.js +0 -106
- package/model/src/lib/storagefile/storagefile.error.js.map +0 -1
- package/model/src/lib/storagefile/storagefile.module.js +0 -64
- package/model/src/lib/storagefile/storagefile.module.js.map +0 -1
- package/model/src/lib/storagefile/storagefile.task.service.handler.js +0 -287
- package/model/src/lib/storagefile/storagefile.task.service.handler.js.map +0 -1
- package/model/src/lib/storagefile/storagefile.upload.service.initializer.js +0 -180
- package/model/src/lib/storagefile/storagefile.upload.service.initializer.js.map +0 -1
- package/model/src/lib/storagefile/storagefile.upload.service.js +0 -10
- package/model/src/lib/storagefile/storagefile.upload.service.js.map +0 -1
- package/model/src/lib/storagefile/storagefile.util.js +0 -54
- package/model/src/lib/storagefile/storagefile.util.js.map +0 -1
- package/src/index.js +0 -5
- package/src/index.js.map +0 -1
- package/src/lib/auth/auth.context.js +0 -13
- package/src/lib/auth/auth.context.js.map +0 -1
- package/src/lib/auth/auth.service.error.js +0 -34
- package/src/lib/auth/auth.service.error.js.map +0 -1
- package/src/lib/auth/auth.service.js +0 -427
- package/src/lib/auth/auth.service.js.map +0 -1
- package/src/lib/auth/auth.util.js +0 -23
- package/src/lib/auth/auth.util.js.map +0 -1
- package/src/lib/auth/index.js +0 -8
- package/src/lib/auth/index.js.map +0 -1
- package/src/lib/env/env.service.js +0 -7
- package/src/lib/env/env.service.js.map +0 -1
- package/src/lib/env/index.js +0 -5
- package/src/lib/env/index.js.map +0 -1
- package/src/lib/firestore/array.js +0 -34
- package/src/lib/firestore/array.js.map +0 -1
- package/src/lib/firestore/driver.accessor.batch.js +0 -93
- package/src/lib/firestore/driver.accessor.batch.js.map +0 -1
- package/src/lib/firestore/driver.accessor.default.js +0 -62
- package/src/lib/firestore/driver.accessor.default.js.map +0 -1
- package/src/lib/firestore/driver.accessor.js +0 -50
- package/src/lib/firestore/driver.accessor.js.map +0 -1
- package/src/lib/firestore/driver.accessor.transaction.js +0 -96
- package/src/lib/firestore/driver.accessor.transaction.js.map +0 -1
- package/src/lib/firestore/driver.js +0 -14
- package/src/lib/firestore/driver.js.map +0 -1
- package/src/lib/firestore/driver.query.js +0 -55
- package/src/lib/firestore/driver.query.js.map +0 -1
- package/src/lib/firestore/firestore.js +0 -10
- package/src/lib/firestore/firestore.js.map +0 -1
- package/src/lib/firestore/increment.js +0 -17
- package/src/lib/firestore/increment.js.map +0 -1
- package/src/lib/firestore/index.js +0 -9
- package/src/lib/firestore/index.js.map +0 -1
- package/src/lib/function/assert.js +0 -68
- package/src/lib/function/assert.js.map +0 -1
- package/src/lib/function/context.js +0 -14
- package/src/lib/function/context.js.map +0 -1
- package/src/lib/function/error.auth.js +0 -25
- package/src/lib/function/error.auth.js.map +0 -1
- package/src/lib/function/error.js +0 -221
- package/src/lib/function/error.js.map +0 -1
- package/src/lib/function/index.js +0 -9
- package/src/lib/function/index.js.map +0 -1
- package/src/lib/function/type.js +0 -3
- package/src/lib/function/type.js.map +0 -1
- package/src/lib/index.js +0 -11
- package/src/lib/index.js.map +0 -1
- package/src/lib/nest/app.js +0 -114
- package/src/lib/nest/app.js.map +0 -1
- package/src/lib/nest/auth/auth.module.js +0 -60
- package/src/lib/nest/auth/auth.module.js.map +0 -1
- package/src/lib/nest/auth/auth.util.js +0 -72
- package/src/lib/nest/auth/auth.util.js.map +0 -1
- package/src/lib/nest/auth/index.js +0 -6
- package/src/lib/nest/auth/index.js.map +0 -1
- package/src/lib/nest/development/development.app.function.js +0 -38
- package/src/lib/nest/development/development.app.function.js.map +0 -1
- package/src/lib/nest/development/development.assert.function.js +0 -3
- package/src/lib/nest/development/development.assert.function.js.map +0 -1
- package/src/lib/nest/development/development.function.js +0 -41
- package/src/lib/nest/development/development.function.js.map +0 -1
- package/src/lib/nest/development/development.schedule.function.error.js +0 -35
- package/src/lib/nest/development/development.schedule.function.error.js.map +0 -1
- package/src/lib/nest/development/development.schedule.function.js +0 -54
- package/src/lib/nest/development/development.schedule.function.js.map +0 -1
- package/src/lib/nest/development/index.js +0 -9
- package/src/lib/nest/development/index.js.map +0 -1
- package/src/lib/nest/env/env.service.js +0 -19
- package/src/lib/nest/env/env.service.js.map +0 -1
- package/src/lib/nest/env/env.util.js +0 -12
- package/src/lib/nest/env/env.util.js.map +0 -1
- package/src/lib/nest/env/index.js +0 -6
- package/src/lib/nest/env/index.js.map +0 -1
- package/src/lib/nest/firebase/firebase.module.js +0 -17
- package/src/lib/nest/firebase/firebase.module.js.map +0 -1
- package/src/lib/nest/firebase/index.js +0 -5
- package/src/lib/nest/firebase/index.js.map +0 -1
- package/src/lib/nest/firestore/firestore.module.js +0 -86
- package/src/lib/nest/firestore/firestore.module.js.map +0 -1
- package/src/lib/nest/firestore/index.js +0 -5
- package/src/lib/nest/firestore/index.js.map +0 -1
- package/src/lib/nest/function/call.js +0 -46
- package/src/lib/nest/function/call.js.map +0 -1
- package/src/lib/nest/function/context.js +0 -79
- package/src/lib/nest/function/context.js.map +0 -1
- package/src/lib/nest/function/index.js +0 -10
- package/src/lib/nest/function/index.js.map +0 -1
- package/src/lib/nest/function/nest.js +0 -17
- package/src/lib/nest/function/nest.js.map +0 -1
- package/src/lib/nest/function/schedule.js +0 -8
- package/src/lib/nest/function/schedule.js.map +0 -1
- package/src/lib/nest/function/v1/call.d.ts +0 -59
- package/src/lib/nest/function/v1/call.js +0 -55
- package/src/lib/nest/function/v1/call.js.map +0 -1
- package/src/lib/nest/function/v1/event.d.ts +0 -80
- package/src/lib/nest/function/v1/event.js +0 -52
- package/src/lib/nest/function/v1/event.js.map +0 -1
- package/src/lib/nest/function/v1/index.d.ts +0 -3
- package/src/lib/nest/function/v1/index.js +0 -7
- package/src/lib/nest/function/v1/index.js.map +0 -1
- package/src/lib/nest/function/v1/schedule.d.ts +0 -47
- package/src/lib/nest/function/v1/schedule.js +0 -68
- package/src/lib/nest/function/v1/schedule.js.map +0 -1
- package/src/lib/nest/function/v2/blocking.js +0 -38
- package/src/lib/nest/function/v2/blocking.js.map +0 -1
- package/src/lib/nest/function/v2/call.js +0 -31
- package/src/lib/nest/function/v2/call.js.map +0 -1
- package/src/lib/nest/function/v2/event.js +0 -25
- package/src/lib/nest/function/v2/event.js.map +0 -1
- package/src/lib/nest/function/v2/index.js +0 -9
- package/src/lib/nest/function/v2/index.js.map +0 -1
- package/src/lib/nest/function/v2/schedule.js +0 -56
- package/src/lib/nest/function/v2/schedule.js.map +0 -1
- package/src/lib/nest/function/v2/taskqueue.js +0 -26
- package/src/lib/nest/function/v2/taskqueue.js.map +0 -1
- package/src/lib/nest/index.js +0 -15
- package/src/lib/nest/index.js.map +0 -1
- package/src/lib/nest/middleware/appcheck.decorator.js +0 -12
- package/src/lib/nest/middleware/appcheck.decorator.js.map +0 -1
- package/src/lib/nest/middleware/appcheck.js +0 -3
- package/src/lib/nest/middleware/appcheck.js.map +0 -1
- package/src/lib/nest/middleware/appcheck.middleware.js +0 -74
- package/src/lib/nest/middleware/appcheck.middleware.js.map +0 -1
- package/src/lib/nest/middleware/appcheck.module.js +0 -21
- package/src/lib/nest/middleware/appcheck.module.js.map +0 -1
- package/src/lib/nest/middleware/globalprefix.js +0 -11
- package/src/lib/nest/middleware/globalprefix.js.map +0 -1
- package/src/lib/nest/middleware/index.js +0 -10
- package/src/lib/nest/middleware/index.js.map +0 -1
- package/src/lib/nest/middleware/rawbody.middleware.js +0 -16
- package/src/lib/nest/middleware/rawbody.middleware.js.map +0 -1
- package/src/lib/nest/middleware/webhook.js +0 -24
- package/src/lib/nest/middleware/webhook.js.map +0 -1
- package/src/lib/nest/model/call.model.function.js +0 -73
- package/src/lib/nest/model/call.model.function.js.map +0 -1
- package/src/lib/nest/model/create.model.function.js +0 -27
- package/src/lib/nest/model/create.model.function.js.map +0 -1
- package/src/lib/nest/model/crud.assert.function.js +0 -3
- package/src/lib/nest/model/crud.assert.function.js.map +0 -1
- package/src/lib/nest/model/delete.model.function.js +0 -27
- package/src/lib/nest/model/delete.model.function.js.map +0 -1
- package/src/lib/nest/model/index.js +0 -11
- package/src/lib/nest/model/index.js.map +0 -1
- package/src/lib/nest/model/permission.error.js +0 -24
- package/src/lib/nest/model/permission.error.js.map +0 -1
- package/src/lib/nest/model/read.model.function.js +0 -27
- package/src/lib/nest/model/read.model.function.js.map +0 -1
- package/src/lib/nest/model/specifier.function.js +0 -35
- package/src/lib/nest/model/specifier.function.js.map +0 -1
- package/src/lib/nest/model/update.model.function.js +0 -27
- package/src/lib/nest/model/update.model.function.js.map +0 -1
- package/src/lib/nest/nest.provider.js +0 -89
- package/src/lib/nest/nest.provider.js.map +0 -1
- package/src/lib/nest/storage/index.js +0 -5
- package/src/lib/nest/storage/index.js.map +0 -1
- package/src/lib/nest/storage/storage.module.js +0 -112
- package/src/lib/nest/storage/storage.module.js.map +0 -1
- package/src/lib/storage/driver.accessor.js +0 -299
- package/src/lib/storage/driver.accessor.js.map +0 -1
- package/src/lib/storage/driver.js +0 -12
- package/src/lib/storage/driver.js.map +0 -1
- package/src/lib/storage/index.js +0 -8
- package/src/lib/storage/index.js.map +0 -1
- package/src/lib/storage/storage.js +0 -20
- package/src/lib/storage/storage.js.map +0 -1
- package/src/lib/storage/storage.service.js +0 -26
- package/src/lib/storage/storage.service.js.map +0 -1
- package/test/src/index.js +0 -5
- package/test/src/index.js.map +0 -1
- package/test/src/lib/firebase/firebase.admin.auth.js +0 -260
- package/test/src/lib/firebase/firebase.admin.auth.js.map +0 -1
- package/test/src/lib/firebase/firebase.admin.collection.js +0 -108
- package/test/src/lib/firebase/firebase.admin.collection.js.map +0 -1
- package/test/src/lib/firebase/firebase.admin.function.js +0 -132
- package/test/src/lib/firebase/firebase.admin.function.js.map +0 -1
- package/test/src/lib/firebase/firebase.admin.js +0 -174
- package/test/src/lib/firebase/firebase.admin.js.map +0 -1
- package/test/src/lib/firebase/firebase.admin.nest.function.callable.context.js +0 -42
- package/test/src/lib/firebase/firebase.admin.nest.function.callable.context.js.map +0 -1
- package/test/src/lib/firebase/firebase.admin.nest.function.cloud.context.js +0 -40
- package/test/src/lib/firebase/firebase.admin.nest.function.cloud.context.js.map +0 -1
- package/test/src/lib/firebase/firebase.admin.nest.function.js +0 -64
- package/test/src/lib/firebase/firebase.admin.nest.function.js.map +0 -1
- package/test/src/lib/firebase/firebase.admin.nest.js +0 -107
- package/test/src/lib/firebase/firebase.admin.nest.js.map +0 -1
- package/test/src/lib/firebase/firebase.admin.test.server.js +0 -37
- package/test/src/lib/firebase/firebase.admin.test.server.js.map +0 -1
- package/test/src/lib/firebase/firebase.function.js +0 -58
- package/test/src/lib/firebase/firebase.function.js.map +0 -1
- package/test/src/lib/firebase/firebase.jest.d.ts +0 -21
- package/test/src/lib/firebase/firebase.jest.js +0 -45
- package/test/src/lib/firebase/firebase.jest.js.map +0 -1
- package/test/src/lib/firebase/firebase.js +0 -74
- package/test/src/lib/firebase/firebase.js.map +0 -1
- package/test/src/lib/firebase/index.js +0 -15
- package/test/src/lib/firebase/index.js.map +0 -1
- package/test/src/lib/firestore/firestore.admin.js +0 -21
- package/test/src/lib/firestore/firestore.admin.js.map +0 -1
- package/test/src/lib/firestore/firestore.js +0 -57
- package/test/src/lib/firestore/firestore.js.map +0 -1
- package/test/src/lib/firestore/index.js +0 -6
- package/test/src/lib/firestore/index.js.map +0 -1
- package/test/src/lib/index.js +0 -7
- package/test/src/lib/index.js.map +0 -1
- package/test/src/lib/storage/index.js +0 -6
- package/test/src/lib/storage/index.js.map +0 -1
- package/test/src/lib/storage/storage.admin.js +0 -21
- package/test/src/lib/storage/storage.admin.js.map +0 -1
- package/test/src/lib/storage/storage.js +0 -59
- package/test/src/lib/storage/storage.js.map +0 -1
- /package/{zoho/index.cjs.d.ts → index.d.ts} +0 -0
- /package/{zoho/index.esm.d.ts → mailgun/index.d.ts} +0 -0
|
@@ -1,260 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.testUidFactory = exports.AUTHORIZED_USER_RANDOM_PHONE_NUMBER_FACTORY = exports.AUTHORIZED_USER_RANDOM_EMAIL_FACTORY = exports.AuthorizedUserTestContextInstance = exports.AuthorizedUserTestContextFixture = void 0;
|
|
4
|
-
exports.authorizedUserContext = authorizedUserContext;
|
|
5
|
-
exports.authorizedUserContextFactory = authorizedUserContextFactory;
|
|
6
|
-
exports.createTestFunctionContextOptions = createTestFunctionContextOptions;
|
|
7
|
-
exports.createTestFunctionContextAuthData = createTestFunctionContextAuthData;
|
|
8
|
-
exports.createTestFirestoreTokenForUserRecord = createTestFirestoreTokenForUserRecord;
|
|
9
|
-
exports.createEncodedTestFirestoreTokenForUserRecord = createEncodedTestFirestoreTokenForUserRecord;
|
|
10
|
-
exports.decodeEncodedCreateCustomTokenResult = decodeEncodedCreateCustomTokenResult;
|
|
11
|
-
exports.testFirestoreClaimsFromUserRecord = testFirestoreClaimsFromUserRecord;
|
|
12
|
-
const util_1 = require("@dereekb/util");
|
|
13
|
-
const test_1 = require("@dereekb/util/test");
|
|
14
|
-
const jsonwebtoken_1 = require("jsonwebtoken");
|
|
15
|
-
class AuthorizedUserTestContextFixture extends test_1.AbstractChildJestTestContextFixture {
|
|
16
|
-
// MARK: AuthorizedUserTestContext (Forwarded)
|
|
17
|
-
get uid() {
|
|
18
|
-
return this.instance.uid;
|
|
19
|
-
}
|
|
20
|
-
loadUserRecord() {
|
|
21
|
-
return this.instance.loadUserRecord();
|
|
22
|
-
}
|
|
23
|
-
loadUserEmailAndPhone() {
|
|
24
|
-
return this.instance.loadUserEmailAndPhone();
|
|
25
|
-
}
|
|
26
|
-
loadIdToken() {
|
|
27
|
-
return this.instance.loadIdToken();
|
|
28
|
-
}
|
|
29
|
-
loadDecodedIdToken() {
|
|
30
|
-
return this.instance.loadDecodedIdToken();
|
|
31
|
-
}
|
|
32
|
-
makeContextOptions() {
|
|
33
|
-
return this.instance.makeContextOptions();
|
|
34
|
-
}
|
|
35
|
-
callWrappedFunction(fn, params, skipJsonConversion) {
|
|
36
|
-
return this.instance.callWrappedFunction(fn, params, skipJsonConversion);
|
|
37
|
-
}
|
|
38
|
-
callCloudFunction(fn, params, skipJsonConversion = false) {
|
|
39
|
-
return this.instance.callCloudFunction(fn, params, skipJsonConversion);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
exports.AuthorizedUserTestContextFixture = AuthorizedUserTestContextFixture;
|
|
43
|
-
function convertParamsToParsedJsonObjectAndBack(object) {
|
|
44
|
-
const paramsAsJson = JSON.parse(JSON.stringify(object));
|
|
45
|
-
return paramsAsJson;
|
|
46
|
-
}
|
|
47
|
-
class AuthorizedUserTestContextInstance {
|
|
48
|
-
uid;
|
|
49
|
-
testContext;
|
|
50
|
-
constructor(uid, testContext) {
|
|
51
|
-
this.uid = uid;
|
|
52
|
-
this.testContext = testContext;
|
|
53
|
-
}
|
|
54
|
-
loadUserRecord() {
|
|
55
|
-
return this.testContext.auth.getUser(this.uid);
|
|
56
|
-
}
|
|
57
|
-
async loadUserEmailAndPhone() {
|
|
58
|
-
const record = await this.loadUserRecord();
|
|
59
|
-
return {
|
|
60
|
-
email: record.email,
|
|
61
|
-
phone: record.phoneNumber
|
|
62
|
-
};
|
|
63
|
-
}
|
|
64
|
-
loadIdToken() {
|
|
65
|
-
return this.loadUserRecord().then((record) => createEncodedTestFirestoreTokenForUserRecord(this.testContext.auth, record));
|
|
66
|
-
}
|
|
67
|
-
loadDecodedIdToken() {
|
|
68
|
-
return this.loadIdToken().then(decodeEncodedCreateCustomTokenResult);
|
|
69
|
-
}
|
|
70
|
-
makeContextOptions() {
|
|
71
|
-
return this.loadUserRecord().then((record) => createTestFunctionContextOptions(this.testContext.auth, record));
|
|
72
|
-
}
|
|
73
|
-
/**
|
|
74
|
-
* Calls a wrapped function with the input params and the context from makeContextOptions().
|
|
75
|
-
*
|
|
76
|
-
* @param fn
|
|
77
|
-
* @param params
|
|
78
|
-
* @param skipJsonConversion
|
|
79
|
-
*/
|
|
80
|
-
callWrappedFunction(fn, params, skipJsonConversion) {
|
|
81
|
-
// Parse to JSON then back to simulate sending JSON to the server, and the server parsing it as a POJO.
|
|
82
|
-
const parsedParams = params == null || skipJsonConversion ? params : convertParamsToParsedJsonObjectAndBack(params);
|
|
83
|
-
return this.makeContextOptions().then((options) => fn(parsedParams, options));
|
|
84
|
-
}
|
|
85
|
-
callCloudFunction(fn, params, skipJsonConversion = false) {
|
|
86
|
-
if (params != null && params.scheduleTime) {
|
|
87
|
-
// Workaround for https://github.com/firebase/firebase-functions-test/issues/210
|
|
88
|
-
const scheduleTime = params.scheduleTime;
|
|
89
|
-
delete params.scheduleTime;
|
|
90
|
-
params.timestamp = scheduleTime;
|
|
91
|
-
}
|
|
92
|
-
return this.callWrappedFunction(fn, params, skipJsonConversion);
|
|
93
|
-
}
|
|
94
|
-
/**
|
|
95
|
-
* @deprecated gen 1
|
|
96
|
-
*
|
|
97
|
-
* @param fn
|
|
98
|
-
* @param params
|
|
99
|
-
* @param contextOptions
|
|
100
|
-
* @param skipJsonConversion
|
|
101
|
-
* @returns
|
|
102
|
-
*/
|
|
103
|
-
callEventCloudFunction(fn, params, contextOptions, skipJsonConversion = false) {
|
|
104
|
-
const parsedParams = params == null || skipJsonConversion ? params : convertParamsToParsedJsonObjectAndBack(params);
|
|
105
|
-
return this.makeContextOptions().then((options) => fn(parsedParams, contextOptions ? { ...contextOptions, ...options } : options));
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
exports.AuthorizedUserTestContextInstance = AuthorizedUserTestContextInstance;
|
|
109
|
-
/**
|
|
110
|
-
* Convenience function for using authorizedUserContextFactory directly and passing buildTests.
|
|
111
|
-
*/
|
|
112
|
-
function authorizedUserContext(config, buildTests) {
|
|
113
|
-
authorizedUserContextFactory(config)({ f: config.f }, buildTests);
|
|
114
|
-
}
|
|
115
|
-
exports.AUTHORIZED_USER_RANDOM_EMAIL_FACTORY = (0, util_1.randomEmailFactory)();
|
|
116
|
-
exports.AUTHORIZED_USER_RANDOM_PHONE_NUMBER_FACTORY = (0, util_1.randomPhoneNumberFactory)();
|
|
117
|
-
/**
|
|
118
|
-
* Creates a new Jest Context that has a random user for authorization for use in firebase server tests.
|
|
119
|
-
*/
|
|
120
|
-
function authorizedUserContextFactory(config) {
|
|
121
|
-
const { uid: uidGetter, makeInstance = (uid, testInstance) => new AuthorizedUserTestContextInstance(uid, testInstance), makeFixture = (f) => new AuthorizedUserTestContextFixture(f), makeUserDetails = () => ({}), initUser } = config;
|
|
122
|
-
const makeUid = uidGetter ? (0, util_1.asGetter)(uidGetter) : exports.testUidFactory;
|
|
123
|
-
return (params, buildTests) => {
|
|
124
|
-
const { f, user: inputUserGetterOrValue, addContactInfo: inputAddContactInfoGetterOrValue, template: inputTemplateGetterOrValue } = params;
|
|
125
|
-
const inputAddContactInfoGetter = (0, util_1.asGetter)(inputAddContactInfoGetterOrValue);
|
|
126
|
-
const inputUserGetter = (0, util_1.asGetter)(inputUserGetterOrValue);
|
|
127
|
-
const templateGetter = (0, util_1.asGetter)(inputTemplateGetterOrValue);
|
|
128
|
-
return (0, test_1.useJestContextFixture)({
|
|
129
|
-
fixture: makeFixture(f),
|
|
130
|
-
buildTests,
|
|
131
|
-
initInstance: async () => {
|
|
132
|
-
const inputAddContactInfo = await inputAddContactInfoGetter();
|
|
133
|
-
const inputUser = await inputUserGetter();
|
|
134
|
-
const inputTemplate = await templateGetter();
|
|
135
|
-
const uid = inputUser?.uid || makeUid();
|
|
136
|
-
const { details, claims, addContactInfo: userDetailsAddContactInfo } = { ...makeUserDetails(uid, params), ...inputTemplate };
|
|
137
|
-
const { phoneNumber: detailsPhoneNumber, email: detailsEmail } = details ?? {}; // keep details if provided
|
|
138
|
-
const addContactInfo = inputAddContactInfo || userDetailsAddContactInfo;
|
|
139
|
-
const auth = f.instance.auth;
|
|
140
|
-
let email;
|
|
141
|
-
let phoneNumber;
|
|
142
|
-
if (addContactInfo) {
|
|
143
|
-
email = detailsEmail ?? (0, exports.AUTHORIZED_USER_RANDOM_EMAIL_FACTORY)();
|
|
144
|
-
phoneNumber = detailsPhoneNumber ?? (0, exports.AUTHORIZED_USER_RANDOM_PHONE_NUMBER_FACTORY)();
|
|
145
|
-
}
|
|
146
|
-
else {
|
|
147
|
-
email = detailsEmail;
|
|
148
|
-
phoneNumber = detailsPhoneNumber ?? undefined;
|
|
149
|
-
}
|
|
150
|
-
const userRecord = await auth.createUser({
|
|
151
|
-
uid,
|
|
152
|
-
displayName: 'Test Person',
|
|
153
|
-
...details,
|
|
154
|
-
email,
|
|
155
|
-
phoneNumber,
|
|
156
|
-
...inputUser
|
|
157
|
-
});
|
|
158
|
-
if (claims) {
|
|
159
|
-
await auth.setCustomUserClaims(uid, claims);
|
|
160
|
-
}
|
|
161
|
-
const instance = await makeInstance(uid, f.instance, params, userRecord);
|
|
162
|
-
if (initUser) {
|
|
163
|
-
await initUser(instance, params);
|
|
164
|
-
}
|
|
165
|
-
return instance;
|
|
166
|
-
},
|
|
167
|
-
destroyInstance: async (instance) => {
|
|
168
|
-
const app = instance.testContext.app;
|
|
169
|
-
const uid = instance.uid;
|
|
170
|
-
await app.auth().deleteUser(uid);
|
|
171
|
-
}
|
|
172
|
-
});
|
|
173
|
-
};
|
|
174
|
-
}
|
|
175
|
-
/**
|
|
176
|
-
* Incrementing number factory for generating test UID values.
|
|
177
|
-
*
|
|
178
|
-
* Has the format 'test-uid-<number>'
|
|
179
|
-
*/
|
|
180
|
-
exports.testUidFactory = (0, util_1.mapGetter)((0, util_1.incrementingNumberFactory)(), (i) => `${new Date().getTime()}0${i}`);
|
|
181
|
-
/**
|
|
182
|
-
* Creates a CallableContextOptions with auth attached corresponding to the input UserRecord.
|
|
183
|
-
*
|
|
184
|
-
* @param auth
|
|
185
|
-
* @param userRecord
|
|
186
|
-
* @returns
|
|
187
|
-
*/
|
|
188
|
-
async function createTestFunctionContextOptions(auth, userRecord) {
|
|
189
|
-
const authData = await createTestFunctionContextAuthData(auth, userRecord);
|
|
190
|
-
const contextOptions = {
|
|
191
|
-
auth: authData
|
|
192
|
-
};
|
|
193
|
-
return contextOptions;
|
|
194
|
-
}
|
|
195
|
-
/**
|
|
196
|
-
* Creates AuthData from the input auth and user record.
|
|
197
|
-
*
|
|
198
|
-
* @param auth
|
|
199
|
-
* @param userRecord
|
|
200
|
-
* @returns
|
|
201
|
-
*/
|
|
202
|
-
async function createTestFunctionContextAuthData(auth, userRecord) {
|
|
203
|
-
const token = await createTestFirestoreTokenForUserRecord(auth, userRecord);
|
|
204
|
-
const authData = {
|
|
205
|
-
uid: token.uid,
|
|
206
|
-
token
|
|
207
|
-
};
|
|
208
|
-
return authData;
|
|
209
|
-
}
|
|
210
|
-
/**
|
|
211
|
-
* Creates and decodes a firestore token used for testing.
|
|
212
|
-
*
|
|
213
|
-
* @param auth
|
|
214
|
-
* @param userRecord
|
|
215
|
-
* @returns
|
|
216
|
-
*/
|
|
217
|
-
function createTestFirestoreTokenForUserRecord(auth, userRecord) {
|
|
218
|
-
return createEncodedTestFirestoreTokenForUserRecord(auth, userRecord).then(decodeEncodedCreateCustomTokenResult);
|
|
219
|
-
}
|
|
220
|
-
/**
|
|
221
|
-
* Creates an encoded firestore token used for testing.
|
|
222
|
-
*
|
|
223
|
-
* @param auth
|
|
224
|
-
* @param userRecord
|
|
225
|
-
* @returns
|
|
226
|
-
*/
|
|
227
|
-
function createEncodedTestFirestoreTokenForUserRecord(auth, userRecord) {
|
|
228
|
-
// TODO: Consider replacing createCustomToken, as the custom claims are put into an object called claims in the JWT, instead of spread over. The decodeEncodedCreateCustomTokenResult() function handles this issue, but it may not be expected.
|
|
229
|
-
return auth.createCustomToken(userRecord.uid, testFirestoreClaimsFromUserRecord(userRecord));
|
|
230
|
-
}
|
|
231
|
-
function decodeEncodedCreateCustomTokenResult(token) {
|
|
232
|
-
const decoded = (0, jsonwebtoken_1.decode)(token);
|
|
233
|
-
const decodedToken = {
|
|
234
|
-
...decoded,
|
|
235
|
-
...decoded.claims,
|
|
236
|
-
auth_time: decoded.iat,
|
|
237
|
-
firebase: decoded.claims?.firebase ?? {}
|
|
238
|
-
};
|
|
239
|
-
delete decodedToken.claims; // remove the "claims" item if it exists.
|
|
240
|
-
return decodedToken;
|
|
241
|
-
}
|
|
242
|
-
function testFirestoreClaimsFromUserRecord(userRecord) {
|
|
243
|
-
// Copy claims to be similar to DecodedIdToken pieces.
|
|
244
|
-
const baseClaims = {
|
|
245
|
-
picture: userRecord.photoURL,
|
|
246
|
-
email: userRecord.email,
|
|
247
|
-
email_verified: userRecord.emailVerified ?? false,
|
|
248
|
-
firebase: {
|
|
249
|
-
sign_in_provider: '@dereekb/firebase-server/test',
|
|
250
|
-
identities: []
|
|
251
|
-
}
|
|
252
|
-
};
|
|
253
|
-
const customClaims = userRecord.customClaims;
|
|
254
|
-
const claims = {
|
|
255
|
-
...customClaims,
|
|
256
|
-
...baseClaims
|
|
257
|
-
};
|
|
258
|
-
return claims;
|
|
259
|
-
}
|
|
260
|
-
//# sourceMappingURL=firebase.admin.auth.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"firebase.admin.auth.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/test/src/lib/firebase/firebase.admin.auth.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ModelTestContextInstance = exports.ModelTestContextFixture = void 0;
|
|
4
|
-
exports.modelTestContextFactory = modelTestContextFactory;
|
|
5
|
-
const firebase_1 = require("@dereekb/firebase");
|
|
6
|
-
const util_1 = require("@dereekb/util");
|
|
7
|
-
const test_1 = require("@dereekb/util/test");
|
|
8
|
-
class ModelTestContextFixture extends test_1.AbstractChildJestTestContextFixture {
|
|
9
|
-
// MARK: ModelTestContext (Forwarded)
|
|
10
|
-
get documentId() {
|
|
11
|
-
return this.instance.documentId;
|
|
12
|
-
}
|
|
13
|
-
get documentKey() {
|
|
14
|
-
return this.instance.documentKey;
|
|
15
|
-
}
|
|
16
|
-
get documentFlatKey() {
|
|
17
|
-
return this.instance.documentFlatKey;
|
|
18
|
-
}
|
|
19
|
-
get documentTwoWayFlatKey() {
|
|
20
|
-
return this.instance.documentTwoWayFlatKey;
|
|
21
|
-
}
|
|
22
|
-
get documentRef() {
|
|
23
|
-
return this.instance.documentRef;
|
|
24
|
-
}
|
|
25
|
-
get document() {
|
|
26
|
-
return this.instance.document;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
exports.ModelTestContextFixture = ModelTestContextFixture;
|
|
30
|
-
class ModelTestContextInstance {
|
|
31
|
-
collection;
|
|
32
|
-
ref;
|
|
33
|
-
testContext;
|
|
34
|
-
constructor(collection, ref, testContext) {
|
|
35
|
-
this.collection = collection;
|
|
36
|
-
this.ref = ref;
|
|
37
|
-
this.testContext = testContext;
|
|
38
|
-
}
|
|
39
|
-
get documentId() {
|
|
40
|
-
return this.ref.id;
|
|
41
|
-
}
|
|
42
|
-
get documentKey() {
|
|
43
|
-
return this.ref.path;
|
|
44
|
-
}
|
|
45
|
-
get documentFlatKey() {
|
|
46
|
-
return (0, firebase_1.flatFirestoreModelKey)(this.documentKey);
|
|
47
|
-
}
|
|
48
|
-
get documentTwoWayFlatKey() {
|
|
49
|
-
return (0, firebase_1.twoWayFlatFirestoreModelKey)(this.documentKey);
|
|
50
|
-
}
|
|
51
|
-
get documentRef() {
|
|
52
|
-
return this.ref;
|
|
53
|
-
}
|
|
54
|
-
get document() {
|
|
55
|
-
return this.collection.documentAccessor().loadDocument(this.ref);
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
exports.ModelTestContextInstance = ModelTestContextInstance;
|
|
59
|
-
/**
|
|
60
|
-
* Creates a new Jest Context that has a random user for authorization for use in firebase server tests.
|
|
61
|
-
*/
|
|
62
|
-
function modelTestContextFactory(config) {
|
|
63
|
-
const { getCollection, collectionForDocument, makeRef = (collection) => {
|
|
64
|
-
const accessor = collection.documentAccessor();
|
|
65
|
-
if (accessor.newDocument == null) {
|
|
66
|
-
throw new Error('collection passed to makeRef() was not a full FirestoreCollection. Either supply a custom makeRef() function or a FirestoreCollection that has newDocument() available on the documentAccessor.');
|
|
67
|
-
}
|
|
68
|
-
return accessor.newDocument().documentRef;
|
|
69
|
-
}, makeInstance = (collection, ref, testInstance) => new ModelTestContextInstance(collection, ref, testInstance), makeFixture = (f) => new ModelTestContextFixture(f), initDocument, destroyInstance } = config;
|
|
70
|
-
return (params, buildTests) => {
|
|
71
|
-
const { f } = params;
|
|
72
|
-
return (0, test_1.useJestContextFixture)({
|
|
73
|
-
fixture: makeFixture(f),
|
|
74
|
-
buildTests,
|
|
75
|
-
initInstance: async () => {
|
|
76
|
-
const parentInstance = f.instance;
|
|
77
|
-
let ref;
|
|
78
|
-
let collection;
|
|
79
|
-
let init;
|
|
80
|
-
if (params.doc) {
|
|
81
|
-
const doc = await (0, util_1.getValueFromGetter)(params.doc);
|
|
82
|
-
if (!collectionForDocument) {
|
|
83
|
-
throw new Error('collectionForDocument() is required when using ModelTestContextDocumentRefParams values as input.');
|
|
84
|
-
}
|
|
85
|
-
collection = collectionForDocument(parentInstance, doc);
|
|
86
|
-
const expectedCollectionName = collection.documentAccessor().modelIdentity.collectionName;
|
|
87
|
-
if (expectedCollectionName !== doc.modelIdentity.collectionName) {
|
|
88
|
-
throw new Error(`Input doc is in a different collection (${doc.modelIdentity.collectionName}) than expected (${expectedCollectionName}).`);
|
|
89
|
-
}
|
|
90
|
-
ref = doc.documentRef;
|
|
91
|
-
init = false;
|
|
92
|
-
}
|
|
93
|
-
else {
|
|
94
|
-
collection = getCollection(parentInstance, params);
|
|
95
|
-
ref = await makeRef(collection, params, parentInstance);
|
|
96
|
-
init = true;
|
|
97
|
-
}
|
|
98
|
-
const instance = await makeInstance(collection, ref, parentInstance);
|
|
99
|
-
if (init && initDocument) {
|
|
100
|
-
await initDocument(instance, params);
|
|
101
|
-
}
|
|
102
|
-
return instance;
|
|
103
|
-
},
|
|
104
|
-
destroyInstance
|
|
105
|
-
});
|
|
106
|
-
};
|
|
107
|
-
}
|
|
108
|
-
//# sourceMappingURL=firebase.admin.collection.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"firebase.admin.collection.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/test/src/lib/firebase/firebase.admin.collection.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.firebaseAdminFunctionTestContextFactory = exports.firebaseAdminFunctionTestBuilder = exports.DEFAULT_FIREBASE_ADMIN_FUNCTION_TEST_USE_FUNCTION_SINGLETON_CONTEXT = exports.FirebaseAdminFunctionTestContextInstance = exports.FirebaseAdminFunctionTestContextFixture = void 0;
|
|
4
|
-
exports.setupFirebaseAdminFunctionTestSingleton = setupFirebaseAdminFunctionTestSingleton;
|
|
5
|
-
exports.rerollFirebaseAdminFunctionTestSingleton = rerollFirebaseAdminFunctionTestSingleton;
|
|
6
|
-
exports.setDefaultFirebaseAdminFunctionTestUseFunctionSingleton = setDefaultFirebaseAdminFunctionTestUseFunctionSingleton;
|
|
7
|
-
const admin = require("firebase-admin");
|
|
8
|
-
const functions = require("firebase-functions-test");
|
|
9
|
-
const test_1 = require("@dereekb/util/test");
|
|
10
|
-
const firebase_1 = require("./firebase");
|
|
11
|
-
const firebase_admin_1 = require("./firebase.admin");
|
|
12
|
-
const util_1 = require("@dereekb/util");
|
|
13
|
-
const firebase_function_1 = require("./firebase.function");
|
|
14
|
-
// MARK: FirebaseAdminFunctionTestBuilder
|
|
15
|
-
let functionsInitialized = false;
|
|
16
|
-
/**
|
|
17
|
-
* firebase-functions-test uses a singleton internally, so we must track the reference to properly tear it down too.
|
|
18
|
-
*/
|
|
19
|
-
let firebaseFunctionsTestInstance;
|
|
20
|
-
function setupFirebaseAdminFunctionTestSingleton(reroll = false) {
|
|
21
|
-
if (!(0, firebase_1.isAdminEnvironmentInitialized)()) {
|
|
22
|
-
throw new Error('initFirebaseAdminTestEnvironment() was not called.');
|
|
23
|
-
}
|
|
24
|
-
if (firebaseFunctionsTestInstance) {
|
|
25
|
-
firebaseFunctionsTestInstance.cleanup(); // destroy the old instance if it is up.
|
|
26
|
-
}
|
|
27
|
-
firebaseFunctionsTestInstance = functions();
|
|
28
|
-
if (reroll) {
|
|
29
|
-
(0, firebase_1.rollNewGCloudProjectEnvironmentVariable)();
|
|
30
|
-
}
|
|
31
|
-
else {
|
|
32
|
-
(0, firebase_1.applyFirebaseGCloudTestProjectIdToFirebaseConfigEnv)();
|
|
33
|
-
}
|
|
34
|
-
functionsInitialized = true;
|
|
35
|
-
return firebaseFunctionsTestInstance;
|
|
36
|
-
}
|
|
37
|
-
function rerollFirebaseAdminFunctionTestSingleton() {
|
|
38
|
-
return setupFirebaseAdminFunctionTestSingleton(true);
|
|
39
|
-
}
|
|
40
|
-
class FirebaseAdminFunctionTestContextFixture extends test_1.AbstractJestTestContextFixture {
|
|
41
|
-
// MARK: FirebaseAdminTestContext (Forwarded)
|
|
42
|
-
get app() {
|
|
43
|
-
return this.instance.app;
|
|
44
|
-
}
|
|
45
|
-
get auth() {
|
|
46
|
-
return this.instance.auth;
|
|
47
|
-
}
|
|
48
|
-
get firestore() {
|
|
49
|
-
return this.instance.firestore;
|
|
50
|
-
}
|
|
51
|
-
get firestoreInstance() {
|
|
52
|
-
return this.instance.firestoreInstance;
|
|
53
|
-
}
|
|
54
|
-
get firestoreContext() {
|
|
55
|
-
return this.instance.firestoreContext;
|
|
56
|
-
}
|
|
57
|
-
get storage() {
|
|
58
|
-
return this.instance.storage;
|
|
59
|
-
}
|
|
60
|
-
get storageInstance() {
|
|
61
|
-
return this.instance.storageInstance;
|
|
62
|
-
}
|
|
63
|
-
get storageContext() {
|
|
64
|
-
return this.instance.storageContext;
|
|
65
|
-
}
|
|
66
|
-
get fnWrapper() {
|
|
67
|
-
return this.instance.fnWrapper;
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
exports.FirebaseAdminFunctionTestContextFixture = FirebaseAdminFunctionTestContextFixture;
|
|
71
|
-
class FirebaseAdminFunctionTestContextInstance extends firebase_admin_1.FirebaseAdminTestContextInstance {
|
|
72
|
-
instance;
|
|
73
|
-
_fnWrapper = (0, util_1.cachedGetter)(() => (0, firebase_function_1.firebaseAdminCloudFunctionWrapper)(this.instance));
|
|
74
|
-
constructor(instance, app) {
|
|
75
|
-
super(app);
|
|
76
|
-
this.instance = instance;
|
|
77
|
-
}
|
|
78
|
-
get fnWrapper() {
|
|
79
|
-
return this._fnWrapper();
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
exports.FirebaseAdminFunctionTestContextInstance = FirebaseAdminFunctionTestContextInstance;
|
|
83
|
-
exports.DEFAULT_FIREBASE_ADMIN_FUNCTION_TEST_USE_FUNCTION_SINGLETON_CONTEXT = false;
|
|
84
|
-
function setDefaultFirebaseAdminFunctionTestUseFunctionSingleton(use) {
|
|
85
|
-
exports.DEFAULT_FIREBASE_ADMIN_FUNCTION_TEST_USE_FUNCTION_SINGLETON_CONTEXT = use;
|
|
86
|
-
}
|
|
87
|
-
/**
|
|
88
|
-
* A JestTestContextBuilderFunction for building firebase test context factories using firebase-admin.
|
|
89
|
-
*
|
|
90
|
-
* This can be used to easily build a testing context that sets up RulesTestEnvironment for tests that sets itself up and tears itself down.
|
|
91
|
-
*/
|
|
92
|
-
exports.firebaseAdminFunctionTestBuilder = (0, test_1.jestTestContextBuilder)({
|
|
93
|
-
buildConfig: (input) => {
|
|
94
|
-
const config = {
|
|
95
|
-
...input,
|
|
96
|
-
useFunctionSingletonContext: input?.useFunctionSingletonContext ?? exports.DEFAULT_FIREBASE_ADMIN_FUNCTION_TEST_USE_FUNCTION_SINGLETON_CONTEXT
|
|
97
|
-
};
|
|
98
|
-
return config;
|
|
99
|
-
},
|
|
100
|
-
buildFixture: () => new FirebaseAdminFunctionTestContextFixture(),
|
|
101
|
-
setupInstance: async (config) => {
|
|
102
|
-
if (!(0, firebase_1.isAdminEnvironmentInitialized)()) {
|
|
103
|
-
throw new Error('initFirebaseAdminTestEnvironment() (in @dereekb/firebase-server package) was not called before using adminFirebaseTestBuilder().');
|
|
104
|
-
}
|
|
105
|
-
if (config.useFunctionSingletonContext) {
|
|
106
|
-
if (!functionsInitialized) {
|
|
107
|
-
throw new Error('Call setupFirebaseAdminFunctionTestSingleton() (in @dereekb/firebase-server package) if using functions in a singleton context (useFunctionSingletonContext = true/undefined).');
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
else if (config.useFunctionSingletonContext === false) {
|
|
111
|
-
firebaseFunctionsTestInstance = rerollFirebaseAdminFunctionTestSingleton();
|
|
112
|
-
}
|
|
113
|
-
const projectId = (0, firebase_1.getGCloudTestProjectId)();
|
|
114
|
-
const storageBucket = 'b-' + projectId;
|
|
115
|
-
const app = admin.initializeApp({ projectId, storageBucket });
|
|
116
|
-
return new FirebaseAdminFunctionTestContextInstance(firebaseFunctionsTestInstance, app);
|
|
117
|
-
},
|
|
118
|
-
teardownInstance: async (instance, config) => {
|
|
119
|
-
if (config.useFunctionSingletonContext === false) {
|
|
120
|
-
try {
|
|
121
|
-
await instance.app.delete(); // will be called in cleanup
|
|
122
|
-
firebaseFunctionsTestInstance.cleanup();
|
|
123
|
-
}
|
|
124
|
-
catch (e) {
|
|
125
|
-
// do nothing
|
|
126
|
-
}
|
|
127
|
-
firebaseFunctionsTestInstance = undefined;
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
});
|
|
131
|
-
exports.firebaseAdminFunctionTestContextFactory = (0, exports.firebaseAdminFunctionTestBuilder)({});
|
|
132
|
-
//# sourceMappingURL=firebase.admin.function.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"firebase.admin.function.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/test/src/lib/firebase/firebase.admin.function.ts"],"names":[],"mappings":"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"}
|