@dereekb/firebase-server 3.0.0 → 5.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/CHANGELOG.md +43 -0
- package/LICENSE +21 -0
- package/package.json +23 -9
- package/src/index.d.ts +0 -1
- package/src/index.js +0 -1
- package/src/index.js.map +1 -1
- package/src/lib/auth/auth.nest.d.ts +2 -1
- package/src/lib/auth/auth.nest.js +6 -6
- package/src/lib/auth/auth.nest.js.map +1 -1
- package/src/lib/auth/auth.service.d.ts +9 -5
- package/src/lib/auth/auth.service.js +3 -3
- package/src/lib/auth/auth.service.js.map +1 -1
- package/src/lib/firebase/firebase.nest.d.ts +1 -1
- package/src/lib/firestore/driver.accessor.batch.d.ts +1 -1
- package/src/lib/firestore/driver.accessor.batch.js.map +1 -1
- package/src/lib/firestore/driver.accessor.default.js.map +1 -1
- package/src/lib/firestore/driver.accessor.js.map +1 -1
- package/src/lib/firestore/driver.accessor.transaction.d.ts +1 -1
- package/src/lib/firestore/driver.accessor.transaction.js.map +1 -1
- package/src/lib/firestore/driver.d.ts +1 -2
- package/src/lib/firestore/driver.query.d.ts +1 -1
- package/src/lib/function/type.d.ts +8 -2
- package/src/lib/nest/app.d.ts +14 -2
- package/src/lib/nest/app.js +14 -9
- package/src/lib/nest/app.js.map +1 -1
- package/src/lib/nest/function/context.d.ts +2 -3
- package/src/lib/nest/function/index.d.ts +2 -2
- package/src/lib/nest/function/index.js +2 -2
- package/src/lib/nest/function/index.js.map +1 -1
- package/src/lib/nest/function/v1/call.d.ts +36 -0
- package/src/lib/nest/function/v1/call.js +28 -0
- package/src/lib/nest/function/v1/call.js.map +1 -0
- package/src/lib/nest/function/{nest.utility.d.ts → v1/call.utility.d.ts} +3 -3
- package/src/lib/nest/function/{nest.utility.js → v1/call.utility.js} +3 -3
- package/src/lib/nest/function/v1/call.utility.js.map +1 -0
- package/src/lib/nest/function/v1/event.d.ts +38 -0
- package/src/lib/nest/function/{nest.js → v1/event.js} +2 -35
- package/src/lib/nest/function/v1/event.js.map +1 -0
- package/src/lib/nest/function/v1/index.d.ts +3 -0
- package/src/lib/nest/function/v1/index.js +7 -0
- package/src/lib/nest/function/v1/index.js.map +1 -0
- package/src/lib/nest/function/v2/blocking.d.ts +19 -0
- package/src/lib/nest/function/v2/blocking.js +23 -0
- package/src/lib/nest/function/v2/blocking.js.map +1 -0
- package/src/lib/nest/function/v2/call.d.ts +36 -0
- package/src/lib/nest/function/v2/call.js +28 -0
- package/src/lib/nest/function/v2/call.js.map +1 -0
- package/src/lib/nest/function/v2/event.d.ts +20 -0
- package/src/lib/nest/function/v2/event.js +23 -0
- package/src/lib/nest/function/v2/event.js.map +1 -0
- package/src/lib/nest/function/v2/index.d.ts +4 -0
- package/src/lib/nest/function/v2/index.js +8 -0
- package/src/lib/nest/function/v2/index.js.map +1 -0
- package/src/lib/nest/function/v2/taskqueue.d.ts +19 -0
- package/src/lib/nest/function/v2/taskqueue.js +23 -0
- package/src/lib/nest/function/v2/taskqueue.js.map +1 -0
- package/src/lib/nest/index.d.ts +2 -0
- package/src/lib/nest/index.js +2 -0
- package/src/lib/nest/index.js.map +1 -1
- package/src/lib/nest/middleware/index.d.ts +2 -0
- package/src/lib/nest/middleware/index.js +6 -0
- package/src/lib/nest/middleware/index.js.map +1 -0
- package/src/lib/nest/middleware/rawbody.middleware.d.ts +6 -0
- package/src/lib/nest/middleware/rawbody.middleware.js +16 -0
- package/src/lib/nest/middleware/rawbody.middleware.js.map +1 -0
- package/src/lib/nest/middleware/webhook.d.ts +10 -0
- package/src/lib/nest/middleware/webhook.js +30 -0
- package/src/lib/nest/middleware/webhook.js.map +1 -0
- package/src/lib/nest/nest.provider.d.ts +23 -0
- package/src/lib/nest/nest.provider.js +13 -0
- package/src/lib/nest/nest.provider.js.map +1 -0
- package/test/CHANGELOG.md +22 -0
- package/test/README.md +11 -0
- package/test/package.json +38 -0
- package/test/src/index.d.ts +1 -0
- package/test/src/index.js +5 -0
- package/test/src/index.js.map +1 -0
- package/{src/test → test/src/lib}/firebase/firebase.admin.auth.d.ts +2 -1
- package/{src/test → test/src/lib}/firebase/firebase.admin.auth.js +4 -3
- package/test/src/lib/firebase/firebase.admin.auth.js.map +1 -0
- package/{src/test → test/src/lib}/firebase/firebase.admin.collection.d.ts +2 -1
- package/{src/test → test/src/lib}/firebase/firebase.admin.collection.js +3 -3
- package/test/src/lib/firebase/firebase.admin.collection.js.map +1 -0
- package/{src/test → test/src/lib}/firebase/firebase.admin.d.ts +9 -20
- package/{src/test → test/src/lib}/firebase/firebase.admin.function.d.ts +7 -6
- package/{src/test → test/src/lib}/firebase/firebase.admin.function.js +10 -7
- package/test/src/lib/firebase/firebase.admin.function.js.map +1 -0
- package/{src/test → test/src/lib}/firebase/firebase.admin.js +19 -24
- package/test/src/lib/firebase/firebase.admin.js.map +1 -0
- package/{src/test → test/src/lib}/firebase/firebase.admin.nest.d.ts +3 -2
- package/{src/test → test/src/lib}/firebase/firebase.admin.nest.function.context.d.ts +4 -4
- package/{src/test → test/src/lib}/firebase/firebase.admin.nest.function.context.js +4 -2
- package/test/src/lib/firebase/firebase.admin.nest.function.context.js.map +1 -0
- package/{src/test → test/src/lib}/firebase/firebase.admin.nest.function.d.ts +10 -10
- package/{src/test → test/src/lib}/firebase/firebase.admin.nest.function.js +8 -7
- package/test/src/lib/firebase/firebase.admin.nest.function.js.map +1 -0
- package/{src/test → test/src/lib}/firebase/firebase.admin.nest.js +6 -5
- package/test/src/lib/firebase/firebase.admin.nest.js.map +1 -0
- package/{src/test → test/src/lib}/firebase/firebase.admin.test.server.d.ts +1 -1
- package/{src/test → test/src/lib}/firebase/firebase.admin.test.server.js +4 -4
- package/test/src/lib/firebase/firebase.admin.test.server.js.map +1 -0
- package/{src/test → test/src/lib}/firebase/firebase.d.ts +0 -0
- package/test/src/lib/firebase/firebase.function.d.ts +23 -0
- package/test/src/lib/firebase/firebase.function.js +27 -0
- package/test/src/lib/firebase/firebase.function.js.map +1 -0
- package/{src/test → test/src/lib}/firebase/firebase.js +0 -0
- package/test/src/lib/firebase/firebase.js.map +1 -0
- package/{src/test → test/src/lib}/firebase/index.d.ts +7 -6
- package/{src/test → test/src/lib}/firebase/index.js +7 -6
- package/test/src/lib/firebase/index.js.map +1 -0
- package/{src/test → test/src/lib}/firestore/firestore.admin.d.ts +1 -1
- package/{src/test → test/src/lib}/firestore/firestore.admin.js +0 -0
- package/test/src/lib/firestore/firestore.admin.js.map +1 -0
- package/{src/test → test/src/lib}/firestore/firestore.d.ts +2 -2
- package/{src/test → test/src/lib}/firestore/firestore.fixture.admin.d.ts +1 -1
- package/{src/test → test/src/lib}/firestore/firestore.fixture.admin.js +2 -2
- package/test/src/lib/firestore/firestore.fixture.admin.js.map +1 -0
- package/{src/test → test/src/lib}/firestore/firestore.js +7 -6
- package/test/src/lib/firestore/firestore.js.map +1 -0
- package/{src/test → test/src/lib}/firestore/index.d.ts +0 -0
- package/{src/test → test/src/lib}/firestore/index.js +0 -0
- package/test/src/lib/firestore/index.js.map +1 -0
- package/{src/test → test/src/lib}/index.d.ts +0 -0
- package/{src/test → test/src/lib}/index.js +0 -0
- package/test/src/lib/index.js.map +1 -0
- package/src/lib/nest/function/nest.d.ts +0 -91
- package/src/lib/nest/function/nest.js.map +0 -1
- package/src/lib/nest/function/nest.utility.js.map +0 -1
- package/src/test/firebase/firebase.admin.auth.js.map +0 -1
- package/src/test/firebase/firebase.admin.collection.js.map +0 -1
- package/src/test/firebase/firebase.admin.function.js.map +0 -1
- package/src/test/firebase/firebase.admin.js.map +0 -1
- package/src/test/firebase/firebase.admin.nest.function.context.js.map +0 -1
- package/src/test/firebase/firebase.admin.nest.function.js.map +0 -1
- package/src/test/firebase/firebase.admin.nest.js.map +0 -1
- package/src/test/firebase/firebase.admin.test.server.js.map +0 -1
- package/src/test/firebase/firebase.js.map +0 -1
- package/src/test/firebase/index.js.map +0 -1
- package/src/test/firestore/firestore.admin.js.map +0 -1
- package/src/test/firestore/firestore.fixture.admin.js.map +0 -1
- package/src/test/firestore/firestore.js.map +0 -1
- package/src/test/firestore/index.js.map +0 -1
- package/src/test/index.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/firebase-server/test/src/index.ts"],"names":[],"mappings":";;;AAAA,gDAAsB"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { FirebaseAuthUserId } from '@dereekb/firebase';
|
|
2
|
-
import {
|
|
2
|
+
import { Factory, GetterOrValue, PromiseOrValue } from "@dereekb/util";
|
|
3
|
+
import { AbstractChildJestTestContextFixture, JestTestContextFixture } from "@dereekb/util/test";
|
|
3
4
|
import { FirebaseAdminTestContext } from "./firebase.admin";
|
|
4
5
|
import { CreateRequest } from 'firebase-admin/lib/auth/auth-config';
|
|
5
6
|
import { UserRecord } from 'firebase-admin/lib/auth/user-record';
|
|
@@ -3,8 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.testFirestoreClaimsFromUserRecord = exports.decodeEncodedCreateCustomTokenResult = exports.createEncodedTestFirestoreTokenForUserRecord = exports.createTestFirestoreTokenForUserRecord = exports.createTestFunctionContextOptions = exports.testUidFactory = exports.authorizedUserContextFactory = exports.authorizedUserContext = exports.AuthorizedUserTestContextInstance = exports.AuthorizedUserTestContextFixture = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const util_1 = require("@dereekb/util");
|
|
6
|
+
const test_1 = require("@dereekb/util/test");
|
|
6
7
|
const jsonwebtoken_1 = require("jsonwebtoken");
|
|
7
|
-
class AuthorizedUserTestContextFixture extends
|
|
8
|
+
class AuthorizedUserTestContextFixture extends test_1.AbstractChildJestTestContextFixture {
|
|
8
9
|
// MARK: AuthorizedUserTestContext (Forwarded)
|
|
9
10
|
get uid() {
|
|
10
11
|
return this.instance.uid;
|
|
@@ -67,7 +68,7 @@ function authorizedUserContextFactory(config) {
|
|
|
67
68
|
const makeUid = (uidGetter) ? (0, util_1.asGetter)(uidGetter) : exports.testUidFactory;
|
|
68
69
|
return (params, buildTests) => {
|
|
69
70
|
const { f, user: inputUser } = params;
|
|
70
|
-
return (0,
|
|
71
|
+
return (0, test_1.useJestContextFixture)({
|
|
71
72
|
fixture: makeFixture(f),
|
|
72
73
|
buildTests,
|
|
73
74
|
initInstance: () => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
@@ -99,7 +100,7 @@ exports.authorizedUserContextFactory = authorizedUserContextFactory;
|
|
|
99
100
|
*
|
|
100
101
|
* Has the format 'test-uid-<number>'
|
|
101
102
|
*/
|
|
102
|
-
exports.testUidFactory = (0, util_1.mapGetter)((0, util_1.incrementingNumberFactory)(), (i) => `test-uid-${i}`);
|
|
103
|
+
exports.testUidFactory = (0, util_1.mapGetter)((0, util_1.incrementingNumberFactory)(), (i) => `test-uid-${i}+${new Date().toISOString()}`);
|
|
103
104
|
/**
|
|
104
105
|
* Creates a CallableContextOptions with auth attached corresponding to the input UserRecord.
|
|
105
106
|
*
|
|
@@ -0,0 +1 @@
|
|
|
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,5 +1,6 @@
|
|
|
1
1
|
import { FirestoreCollection, FirestoreDocument, DocumentReference } from '@dereekb/firebase';
|
|
2
|
-
import {
|
|
2
|
+
import { ModelKey, PromiseOrValue } from '@dereekb/util';
|
|
3
|
+
import { JestTestContextFixture, AbstractChildJestTestContextFixture } from "@dereekb/util/test";
|
|
3
4
|
import { FirebaseAdminTestContext } from "./firebase.admin";
|
|
4
5
|
/**
|
|
5
6
|
* Testing context for a single model.
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.modelTestContextFactory = exports.ModelTestContextInstance = exports.ModelTestContextFixture = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
-
const
|
|
6
|
-
class ModelTestContextFixture extends
|
|
5
|
+
const test_1 = require("@dereekb/util/test");
|
|
6
|
+
class ModelTestContextFixture extends test_1.AbstractChildJestTestContextFixture {
|
|
7
7
|
// MARK: ModelTestContext (Forwarded)
|
|
8
8
|
get documentId() {
|
|
9
9
|
return this.instance.documentId;
|
|
@@ -40,7 +40,7 @@ function modelTestContextFactory(config) {
|
|
|
40
40
|
const { getCollection, makeRef = (collection) => collection.documentAccessor().newDocument().documentRef, makeInstance = (collection, ref, testInstance) => new ModelTestContextInstance(collection, ref, testInstance), makeFixture = (f) => new ModelTestContextFixture(f), initDocument } = config;
|
|
41
41
|
return (params, buildTests) => {
|
|
42
42
|
const { f } = params;
|
|
43
|
-
return (0,
|
|
43
|
+
return (0, test_1.useJestContextFixture)({
|
|
44
44
|
fixture: makeFixture(f),
|
|
45
45
|
buildTests,
|
|
46
46
|
initInstance: () => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"firebase.admin.collection.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/test/src/lib/firebase/firebase.admin.collection.ts"],"names":[],"mappings":";;;;AAEA,6CAAwH;AAYxH,MAAa,uBAMX,SAAQ,0CAA0C;IAGlD,qCAAqC;IACrC,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;IAClC,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;IACnC,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;IAChC,CAAC;CAEF;AAtBD,0DAsBC;AAED,MAAa,wBAAwB;IAKnC,YAAqB,UAAqC,EAAW,GAAyB,EAAW,WAAe;QAAnG,eAAU,GAAV,UAAU,CAA2B;QAAW,QAAG,GAAH,GAAG,CAAsB;QAAW,gBAAW,GAAX,WAAW,CAAI;IAAI,CAAC;IAE7H,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IACrB,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnE,CAAC;CAEF;AAnBD,4DAmBC;AAgDD;;GAEG;AACH,SAAgB,uBAAuB,CAOrC,MAA4D;IAC5D,MAAM,EACJ,aAAa,EACb,OAAO,GAAG,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC,WAAW,EAAE,CAAC,WAAW,EACjF,YAAY,GAAG,CAAC,UAAU,EAAE,GAAG,EAAE,YAAY,EAAE,EAAE,CAAC,IAAI,wBAAwB,CAAC,UAAU,EAAE,GAAG,EAAE,YAAY,CAAM,EAClH,WAAW,GAAG,CAAC,CAAK,EAAE,EAAE,CAAC,IAAI,uBAAuB,CAAkB,CAAC,CAAC,EACxE,YAAY,EACb,GAAG,MAAM,CAAC;IAEX,OAAO,CAAC,MAAyC,EAAE,UAA0B,EAAE,EAAE;QAC/E,MAAM,EAAE,CAAC,EAAE,GAAG,MAAM,CAAC;QACrB,OAAO,IAAA,4BAAqB,EAAO;YACjC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAM;YAC5B,UAAU;YACV,YAAY,EAAE,GAAS,EAAE;gBACvB,MAAM,cAAc,GAAG,CAAC,CAAC,QAAQ,CAAC;gBAClC,MAAM,UAAU,GAAG,aAAa,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;gBACzD,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;gBAC9D,MAAM,QAAQ,GAAM,MAAM,YAAY,CAAC,UAAU,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC;gBAExE,IAAI,YAAY,EAAE;oBAChB,MAAM,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;iBACtC;gBAED,OAAO,QAAQ,CAAC;YAClB,CAAC,CAAA;SACF,CAAC,CAAC;IACL,CAAC,CAAA;AACH,CAAC;AAnCD,0DAmCC;AAAA,CAAC"}
|
|
@@ -1,24 +1,13 @@
|
|
|
1
1
|
import * as admin from 'firebase-admin';
|
|
2
2
|
import { Firestore } from '@google-cloud/firestore';
|
|
3
3
|
import { Auth } from 'firebase-admin/lib/auth/auth';
|
|
4
|
-
import { JestTestFirestoreContextFactory, TestFirestoreContext, TestFirestoreContextFixture, TestFirestoreInstance } from '@dereekb/firebase';
|
|
5
|
-
import { AbstractJestTestContextFixture,
|
|
4
|
+
import { JestTestFirestoreContextFactory, TestFirestoreContext, TestFirestoreContextFixture, TestFirestoreInstance } from '@dereekb/firebase/test';
|
|
5
|
+
import { AbstractJestTestContextFixture, JestBuildTestsWithContextFunction, JestTestContextFactory, JestTestContextFixture } from "@dereekb/util/test";
|
|
6
6
|
import { GoogleCloudTestFirestoreInstance } from '../firestore/firestore';
|
|
7
|
-
import {
|
|
8
|
-
import { wrap, WrappedFunction, WrappedScheduledFunction } from 'firebase-functions-test/lib/main';
|
|
7
|
+
import { FirebaseAdminCloudFunctionWrapper, FirebaseAdminCloudFunctionWrapperSource } from './firebase.function';
|
|
9
8
|
export interface FirebaseAdminTestConfig {
|
|
10
9
|
}
|
|
11
|
-
export
|
|
12
|
-
export declare type WrapCloudFunctionInput<T> = CloudFunctionV1<T>;
|
|
13
|
-
export declare type WrappedCloudFunction<T> = WrappedScheduledFunction | WrappedFunction<T>;
|
|
14
|
-
export interface FirebaseAdminCloudFunctionWrapper {
|
|
15
|
-
/**
|
|
16
|
-
* Wrap function if available. If not in the right context/supported then this will throw an exception.
|
|
17
|
-
*/
|
|
18
|
-
get wrapCloudFunction(): WrapCloudFunction;
|
|
19
|
-
}
|
|
20
|
-
export declare function wrapCloudFunctionForTests<I, T extends WrapCloudFunctionInput<I> = WrapCloudFunctionInput<I>>(wrapper: FirebaseAdminCloudFunctionWrapper, getter: Getter<T>): Getter<WrappedCloudFunction<I>>;
|
|
21
|
-
export interface FirebaseAdminTestContext extends FirebaseAdminCloudFunctionWrapper {
|
|
10
|
+
export interface FirebaseAdminTestContext extends FirebaseAdminCloudFunctionWrapperSource {
|
|
22
11
|
readonly app: admin.app.App;
|
|
23
12
|
readonly auth: Auth;
|
|
24
13
|
readonly firestore: Firestore;
|
|
@@ -31,17 +20,17 @@ export declare class FirebaseAdminTestContextFixture extends AbstractJestTestCon
|
|
|
31
20
|
get firestore(): Firestore;
|
|
32
21
|
get firestoreInstance(): TestFirestoreInstance;
|
|
33
22
|
get firestoreContext(): TestFirestoreContext;
|
|
34
|
-
get
|
|
23
|
+
get fnWrapper(): FirebaseAdminCloudFunctionWrapper;
|
|
35
24
|
}
|
|
36
25
|
export declare class FirebaseAdminTestContextInstance implements FirebaseAdminTestContext {
|
|
37
26
|
readonly app: admin.app.App;
|
|
38
|
-
readonly getTestFirestoreInstance: import("@dereekb/util").CachedFactoryWithInput<GoogleCloudTestFirestoreInstance,
|
|
27
|
+
readonly getTestFirestoreInstance: import("@dereekb/util").CachedFactoryWithInput<GoogleCloudTestFirestoreInstance, unknown>;
|
|
39
28
|
constructor(app: admin.app.App);
|
|
40
29
|
get auth(): Auth;
|
|
41
30
|
get firestore(): Firestore;
|
|
42
31
|
get firestoreInstance(): TestFirestoreInstance;
|
|
43
32
|
get firestoreContext(): TestFirestoreContext;
|
|
44
|
-
get
|
|
33
|
+
get fnWrapper(): FirebaseAdminCloudFunctionWrapper;
|
|
45
34
|
}
|
|
46
35
|
export declare abstract class AbstractFirebaseAdminTestContextInstanceChild<F extends FirebaseAdminTestContextInstance = FirebaseAdminTestContextInstance> implements FirebaseAdminTestContext {
|
|
47
36
|
readonly parent: F;
|
|
@@ -51,14 +40,14 @@ export declare abstract class AbstractFirebaseAdminTestContextInstanceChild<F ex
|
|
|
51
40
|
get firestore(): Firestore;
|
|
52
41
|
get firestoreInstance(): TestFirestoreInstance;
|
|
53
42
|
get firestoreContext(): TestFirestoreContext;
|
|
54
|
-
get
|
|
43
|
+
get fnWrapper(): FirebaseAdminCloudFunctionWrapper;
|
|
55
44
|
}
|
|
56
45
|
/**
|
|
57
46
|
* A JestTestContextBuilderFunction for building firebase test context factories using firebase-admin.
|
|
58
47
|
*
|
|
59
48
|
* This can be used to easily build a testing context that sets up RulesTestEnvironment for tests that sets itself up and tears itself down.
|
|
60
49
|
*/
|
|
61
|
-
export declare const firebaseAdminTestBuilder: import("@dereekb/util").JestTestContextBuilderFunction<FirebaseAdminTestContextInstance, FirebaseAdminTestContextFixture, FirebaseAdminTestConfig>;
|
|
50
|
+
export declare const firebaseAdminTestBuilder: import("@dereekb/util/test").JestTestContextBuilderFunction<FirebaseAdminTestContextInstance, FirebaseAdminTestContextFixture, FirebaseAdminTestConfig>;
|
|
62
51
|
export declare type FirebaseAdminTestContextFactory = JestTestContextFactory<FirebaseAdminTestContextFixture>;
|
|
63
52
|
export declare const firebaseAdminTestContextFactory: FirebaseAdminTestContextFactory;
|
|
64
53
|
/**
|
|
@@ -2,9 +2,9 @@ import * as admin from 'firebase-admin';
|
|
|
2
2
|
import { Firestore } from '@google-cloud/firestore';
|
|
3
3
|
import { Auth } from 'firebase-admin/lib/auth/auth';
|
|
4
4
|
import { FeaturesList } from 'firebase-functions-test/lib/features';
|
|
5
|
-
import { TestFirestoreContext, TestFirestoreInstance } from '@dereekb/firebase';
|
|
6
|
-
import { AbstractJestTestContextFixture, JestTestContextFactory, JestTestContextFixture } from "@dereekb/util";
|
|
7
|
-
import { FirebaseAdminTestContext, FirebaseAdminTestContextInstance
|
|
5
|
+
import { TestFirestoreContext, TestFirestoreInstance } from '@dereekb/firebase/test';
|
|
6
|
+
import { AbstractJestTestContextFixture, JestTestContextFactory, JestTestContextFixture } from "@dereekb/util/test";
|
|
7
|
+
import { FirebaseAdminTestContext, FirebaseAdminTestContextInstance } from './firebase.admin';
|
|
8
8
|
export declare function setupFirebaseAdminFunctionTestSingleton(reroll?: boolean): FeaturesList;
|
|
9
9
|
export declare function rerollFirebaseAdminFunctionTestSingleton(): FeaturesList;
|
|
10
10
|
export interface FirebaseAdminFunctionTestConfig {
|
|
@@ -27,12 +27,13 @@ export declare class FirebaseAdminFunctionTestContextFixture extends AbstractJes
|
|
|
27
27
|
get firestore(): Firestore;
|
|
28
28
|
get firestoreInstance(): TestFirestoreInstance;
|
|
29
29
|
get firestoreContext(): TestFirestoreContext;
|
|
30
|
-
get
|
|
30
|
+
get fnWrapper(): import("./firebase.function").FirebaseAdminCloudFunctionWrapper;
|
|
31
31
|
}
|
|
32
32
|
export declare class FirebaseAdminFunctionTestContextInstance extends FirebaseAdminTestContextInstance implements FirebaseAdminFunctionTestContext {
|
|
33
33
|
readonly instance: FeaturesList;
|
|
34
|
+
private _fnWrapper;
|
|
34
35
|
constructor(instance: FeaturesList, app: admin.app.App);
|
|
35
|
-
get
|
|
36
|
+
get fnWrapper(): import("./firebase.function").FirebaseAdminCloudFunctionWrapper;
|
|
36
37
|
}
|
|
37
38
|
export declare let DEFAULT_FIREBASE_ADMIN_FUNCTION_TEST_USE_FUNCTION_SINGLETON_CONTEXT: boolean;
|
|
38
39
|
export declare function setDefaultFirebaseAdminFunctionTestUseFunctionSingleton(use: boolean): void;
|
|
@@ -41,6 +42,6 @@ export declare function setDefaultFirebaseAdminFunctionTestUseFunctionSingleton(
|
|
|
41
42
|
*
|
|
42
43
|
* This can be used to easily build a testing context that sets up RulesTestEnvironment for tests that sets itself up and tears itself down.
|
|
43
44
|
*/
|
|
44
|
-
export declare const firebaseAdminFunctionTestBuilder: import("@dereekb/util").JestTestContextBuilderFunction<FirebaseAdminTestContextInstance, FirebaseAdminFunctionTestContextFixture, FirebaseAdminFunctionTestConfig>;
|
|
45
|
+
export declare const firebaseAdminFunctionTestBuilder: import("@dereekb/util/test").JestTestContextBuilderFunction<FirebaseAdminTestContextInstance, FirebaseAdminFunctionTestContextFixture, FirebaseAdminFunctionTestConfig>;
|
|
45
46
|
export declare type FirebaseAdminFunctionTestContextFactory = JestTestContextFactory<FirebaseAdminFunctionTestContextFixture>;
|
|
46
47
|
export declare const firebaseAdminFunctionTestContextFactory: FirebaseAdminFunctionTestContextFactory;
|
|
@@ -4,9 +4,11 @@ exports.firebaseAdminFunctionTestContextFactory = exports.firebaseAdminFunctionT
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const admin = require("firebase-admin");
|
|
6
6
|
const functions = require("firebase-functions-test");
|
|
7
|
-
const
|
|
7
|
+
const test_1 = require("@dereekb/util/test");
|
|
8
8
|
const firebase_1 = require("./firebase");
|
|
9
9
|
const firebase_admin_1 = require("./firebase.admin");
|
|
10
|
+
const util_1 = require("@dereekb/util");
|
|
11
|
+
const firebase_function_1 = require("./firebase.function");
|
|
10
12
|
// MARK: FirebaseAdminFunctionTestBuilder
|
|
11
13
|
let functionsInitialized = false;
|
|
12
14
|
/**
|
|
@@ -35,7 +37,7 @@ function rerollFirebaseAdminFunctionTestSingleton() {
|
|
|
35
37
|
return setupFirebaseAdminFunctionTestSingleton(true);
|
|
36
38
|
}
|
|
37
39
|
exports.rerollFirebaseAdminFunctionTestSingleton = rerollFirebaseAdminFunctionTestSingleton;
|
|
38
|
-
class FirebaseAdminFunctionTestContextFixture extends
|
|
40
|
+
class FirebaseAdminFunctionTestContextFixture extends test_1.AbstractJestTestContextFixture {
|
|
39
41
|
// MARK: FirebaseAdminTestContext (Forwarded)
|
|
40
42
|
get app() {
|
|
41
43
|
return this.instance.app;
|
|
@@ -52,8 +54,8 @@ class FirebaseAdminFunctionTestContextFixture extends util_1.AbstractJestTestCon
|
|
|
52
54
|
get firestoreContext() {
|
|
53
55
|
return this.instance.firestoreContext;
|
|
54
56
|
}
|
|
55
|
-
get
|
|
56
|
-
return this.instance.
|
|
57
|
+
get fnWrapper() {
|
|
58
|
+
return this.instance.fnWrapper;
|
|
57
59
|
}
|
|
58
60
|
}
|
|
59
61
|
exports.FirebaseAdminFunctionTestContextFixture = FirebaseAdminFunctionTestContextFixture;
|
|
@@ -61,9 +63,10 @@ class FirebaseAdminFunctionTestContextInstance extends firebase_admin_1.Firebase
|
|
|
61
63
|
constructor(instance, app) {
|
|
62
64
|
super(app);
|
|
63
65
|
this.instance = instance;
|
|
66
|
+
this._fnWrapper = (0, util_1.cachedGetter)(() => (0, firebase_function_1.firebaseAdminCloudFunctionWrapper)(this.instance));
|
|
64
67
|
}
|
|
65
|
-
get
|
|
66
|
-
return this.
|
|
68
|
+
get fnWrapper() {
|
|
69
|
+
return this._fnWrapper();
|
|
67
70
|
}
|
|
68
71
|
}
|
|
69
72
|
exports.FirebaseAdminFunctionTestContextInstance = FirebaseAdminFunctionTestContextInstance;
|
|
@@ -77,7 +80,7 @@ exports.setDefaultFirebaseAdminFunctionTestUseFunctionSingleton = setDefaultFire
|
|
|
77
80
|
*
|
|
78
81
|
* This can be used to easily build a testing context that sets up RulesTestEnvironment for tests that sets itself up and tears itself down.
|
|
79
82
|
*/
|
|
80
|
-
exports.firebaseAdminFunctionTestBuilder = (0,
|
|
83
|
+
exports.firebaseAdminFunctionTestBuilder = (0, test_1.jestTestContextBuilder)({
|
|
81
84
|
buildConfig: (input) => {
|
|
82
85
|
var _a;
|
|
83
86
|
const config = Object.assign(Object.assign({}, input), { useFunctionSingletonContext: (_a = input === null || input === void 0 ? void 0 : input.useFunctionSingletonContext) !== null && _a !== void 0 ? _a : exports.DEFAULT_FIREBASE_ADMIN_FUNCTION_TEST_USE_FUNCTION_SINGLETON_CONTEXT });
|
|
@@ -0,0 +1 @@
|
|
|
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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"}
|
|
@@ -1,18 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.firebaseAdminFirestoreContextWithFixture = exports.firebaseAdminFirestoreContextFixture = exports.firebaseAdminTestContextFactory = exports.firebaseAdminTestBuilder = exports.AbstractFirebaseAdminTestContextInstanceChild = exports.FirebaseAdminTestContextInstance = exports.FirebaseAdminTestContextFixture =
|
|
3
|
+
exports.firebaseAdminFirestoreContextWithFixture = exports.firebaseAdminFirestoreContextFixture = exports.firebaseAdminTestContextFactory = exports.firebaseAdminTestBuilder = exports.AbstractFirebaseAdminTestContextInstanceChild = exports.FirebaseAdminTestContextInstance = exports.FirebaseAdminTestContextFixture = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const admin = require("firebase-admin");
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
const
|
|
6
|
+
const test_1 = require("@dereekb/firebase/test");
|
|
7
|
+
const test_2 = require("@dereekb/util/test");
|
|
8
|
+
const firebase_server_1 = require("@dereekb/firebase-server");
|
|
9
9
|
const firestore_1 = require("../firestore/firestore");
|
|
10
|
-
const
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
}
|
|
14
|
-
exports.wrapCloudFunctionForTests = wrapCloudFunctionForTests;
|
|
15
|
-
class FirebaseAdminTestContextFixture extends util_1.AbstractJestTestContextFixture {
|
|
10
|
+
const firebase_1 = require("./firebase");
|
|
11
|
+
const util_1 = require("@dereekb/util");
|
|
12
|
+
class FirebaseAdminTestContextFixture extends test_2.AbstractJestTestContextFixture {
|
|
16
13
|
// MARK: FirebaseAdminTestContext (Forwarded)
|
|
17
14
|
get app() {
|
|
18
15
|
return this.instance.app;
|
|
@@ -29,8 +26,8 @@ class FirebaseAdminTestContextFixture extends util_1.AbstractJestTestContextFixt
|
|
|
29
26
|
get firestoreContext() {
|
|
30
27
|
return this.instance.firestoreContext;
|
|
31
28
|
}
|
|
32
|
-
get
|
|
33
|
-
return this.instance.
|
|
29
|
+
get fnWrapper() {
|
|
30
|
+
return this.instance.fnWrapper;
|
|
34
31
|
}
|
|
35
32
|
}
|
|
36
33
|
exports.FirebaseAdminTestContextFixture = FirebaseAdminTestContextFixture;
|
|
@@ -39,7 +36,7 @@ class FirebaseAdminTestContextInstance {
|
|
|
39
36
|
constructor(app) {
|
|
40
37
|
this.app = app;
|
|
41
38
|
this.getTestFirestoreInstance = (0, util_1.cachedGetter)(() => {
|
|
42
|
-
const drivers = (0,
|
|
39
|
+
const drivers = (0, test_1.makeTestingFirestoreDrivers)((0, firebase_server_1.googleCloudFirestoreDrivers)());
|
|
43
40
|
return new firestore_1.GoogleCloudTestFirestoreInstance(drivers, this.firestore);
|
|
44
41
|
});
|
|
45
42
|
}
|
|
@@ -55,10 +52,8 @@ class FirebaseAdminTestContextInstance {
|
|
|
55
52
|
get firestoreContext() {
|
|
56
53
|
return this.firestoreInstance.context;
|
|
57
54
|
}
|
|
58
|
-
get
|
|
59
|
-
|
|
60
|
-
throw new Error('wrapCloudFunction is unsupported by this type.');
|
|
61
|
-
};
|
|
55
|
+
get fnWrapper() {
|
|
56
|
+
throw new Error('wrapCloudFunction is unsupported by this type.');
|
|
62
57
|
}
|
|
63
58
|
}
|
|
64
59
|
exports.FirebaseAdminTestContextInstance = FirebaseAdminTestContextInstance;
|
|
@@ -82,8 +77,8 @@ class AbstractFirebaseAdminTestContextInstanceChild {
|
|
|
82
77
|
get firestoreContext() {
|
|
83
78
|
return this.parent.firestoreContext;
|
|
84
79
|
}
|
|
85
|
-
get
|
|
86
|
-
return this.parent.
|
|
80
|
+
get fnWrapper() {
|
|
81
|
+
return this.parent.fnWrapper;
|
|
87
82
|
}
|
|
88
83
|
}
|
|
89
84
|
exports.AbstractFirebaseAdminTestContextInstanceChild = AbstractFirebaseAdminTestContextInstanceChild;
|
|
@@ -92,17 +87,17 @@ exports.AbstractFirebaseAdminTestContextInstanceChild = AbstractFirebaseAdminTes
|
|
|
92
87
|
*
|
|
93
88
|
* This can be used to easily build a testing context that sets up RulesTestEnvironment for tests that sets itself up and tears itself down.
|
|
94
89
|
*/
|
|
95
|
-
exports.firebaseAdminTestBuilder = (0,
|
|
90
|
+
exports.firebaseAdminTestBuilder = (0, test_2.jestTestContextBuilder)({
|
|
96
91
|
buildConfig: (input) => {
|
|
97
92
|
const config = Object.assign({}, input);
|
|
98
93
|
return config;
|
|
99
94
|
},
|
|
100
95
|
buildFixture: () => new FirebaseAdminTestContextFixture(),
|
|
101
96
|
setupInstance: (config) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
102
|
-
if (!(0,
|
|
97
|
+
if (!(0, firebase_1.isAdminEnvironmentInitialized)()) {
|
|
103
98
|
throw new Error('Call initFirebaseAdminTestEnvironment() from @dereekb/firebase-server was not called before using adminFirebaseTestBuilder().');
|
|
104
99
|
}
|
|
105
|
-
const projectId = (0,
|
|
100
|
+
const projectId = (0, firebase_1.generateNewProjectId)();
|
|
106
101
|
const app = admin.initializeApp({ projectId });
|
|
107
102
|
return new FirebaseAdminTestContextInstance(app);
|
|
108
103
|
}),
|
|
@@ -127,8 +122,8 @@ function firebaseAdminFirestoreContextFixture(factory) {
|
|
|
127
122
|
}
|
|
128
123
|
exports.firebaseAdminFirestoreContextFixture = firebaseAdminFirestoreContextFixture;
|
|
129
124
|
function firebaseAdminFirestoreContextWithFixture(f, buildTests) {
|
|
130
|
-
(0,
|
|
131
|
-
fixture: new
|
|
125
|
+
(0, test_2.useJestContextFixture)({
|
|
126
|
+
fixture: new test_1.TestFirestoreContextFixture(),
|
|
132
127
|
/**
|
|
133
128
|
* Build tests by passing the fixture to the testing functions.
|
|
134
129
|
*
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"firebase.admin.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/test/src/lib/firebase/firebase.admin.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { AbstractChildJestTestContextFixture,
|
|
1
|
+
import { AbstractChildJestTestContextFixture, JestBuildTestsWithContextFunction, JestTestContextFactory, JestTestContextFixture } from "@dereekb/util/test";
|
|
2
2
|
import { AbstractFirebaseAdminTestContextInstanceChild, FirebaseAdminTestContextInstance } from './firebase.admin';
|
|
3
3
|
import { Abstract, INestApplicationContext, Provider, Type } from '@nestjs/common/interfaces';
|
|
4
|
-
import { NestAppPromiseGetter } from "
|
|
4
|
+
import { NestAppPromiseGetter } from "@dereekb/firebase-server";
|
|
5
5
|
import { TestingModule } from '@nestjs/testing';
|
|
6
|
+
import { ArrayOrValue, ClassType, Getter } from '@dereekb/util';
|
|
6
7
|
export interface FirebaseAdminNestTestContext {
|
|
7
8
|
readonly nest: TestingModule;
|
|
8
9
|
readonly nestAppPromiseGetter: NestAppPromiseGetter;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { NestApplicationRunnableHttpFunctionFactory } from "
|
|
2
|
-
import { WrappedCloudFunction } from "./firebase.admin";
|
|
1
|
+
import { NestApplicationRunnableHttpFunctionFactory } from "@dereekb/firebase-server";
|
|
3
2
|
import { FirebaseAdminFunctionNestTestContext } from "./firebase.admin.nest.function";
|
|
3
|
+
import { WrappedCloudFunctionV1 } from "./firebase.function";
|
|
4
4
|
export interface CloudFunctionTestConfig<I> {
|
|
5
5
|
f: FirebaseAdminFunctionNestTestContext;
|
|
6
6
|
fn: NestApplicationRunnableHttpFunctionFactory<I>;
|
|
@@ -11,7 +11,7 @@ export interface CloudFunctionTestConfig<I> {
|
|
|
11
11
|
* @param config
|
|
12
12
|
* @param buildTests
|
|
13
13
|
*/
|
|
14
|
-
export declare function cloudFunctionTest<I>(config: CloudFunctionTestConfig<I>, buildTests: (fn:
|
|
14
|
+
export declare function cloudFunctionTest<I>(config: CloudFunctionTestConfig<I>, buildTests: (fn: WrappedCloudFunctionV1<I>) => void): void;
|
|
15
15
|
/**
|
|
16
16
|
* Convenience function that calls describe and cloudFunctionContext together.
|
|
17
17
|
*
|
|
@@ -19,4 +19,4 @@ export declare function cloudFunctionTest<I>(config: CloudFunctionTestConfig<I>,
|
|
|
19
19
|
* @param config
|
|
20
20
|
* @param buildTests
|
|
21
21
|
*/
|
|
22
|
-
export declare function describeCloudFunctionTest<I>(label: string, config: CloudFunctionTestConfig<I>, buildTests: (fn:
|
|
22
|
+
export declare function describeCloudFunctionTest<I>(label: string, config: CloudFunctionTestConfig<I>, buildTests: (fn: WrappedCloudFunctionV1<I>) => void): void;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.describeCloudFunctionTest = exports.cloudFunctionTest = void 0;
|
|
4
|
-
const
|
|
4
|
+
const test_1 = require("@dereekb/util/test");
|
|
5
5
|
const firebase_admin_nest_function_1 = require("./firebase.admin.nest.function");
|
|
6
6
|
/**
|
|
7
7
|
* Used to provide a test builder that exposes a WrappedCloudFunction using the input configuration.
|
|
@@ -11,7 +11,7 @@ const firebase_admin_nest_function_1 = require("./firebase.admin.nest.function")
|
|
|
11
11
|
*/
|
|
12
12
|
function cloudFunctionTest(config, buildTests) {
|
|
13
13
|
const { f, fn } = config;
|
|
14
|
-
(0,
|
|
14
|
+
(0, test_1.useJestFunctionFixture)({
|
|
15
15
|
fn: () => {
|
|
16
16
|
const x = (0, firebase_admin_nest_function_1.wrapCloudFunctionForNestTestsGetter)(f, fn)();
|
|
17
17
|
return x;
|
|
@@ -32,4 +32,6 @@ function describeCloudFunctionTest(label, config, buildTests) {
|
|
|
32
32
|
});
|
|
33
33
|
}
|
|
34
34
|
exports.describeCloudFunctionTest = describeCloudFunctionTest;
|
|
35
|
+
// MARK: V2
|
|
36
|
+
// TODO
|
|
35
37
|
//# sourceMappingURL=firebase.admin.nest.function.context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"firebase.admin.nest.function.context.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/test/src/lib/firebase/firebase.admin.nest.function.context.ts"],"names":[],"mappings":";;;AAAA,6CAA4D;AAE5D,iFAA2H;AAS3H;;;;;GAKG;AACH,SAAgB,iBAAiB,CAAI,MAAkC,EAAE,UAAmD;IAC1H,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC;IAEzB,IAAA,6BAAsB,EAA4B;QAChD,EAAE,EAAE,GAAG,EAAE;YACP,MAAM,CAAC,GAAG,IAAA,kEAAmC,EAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;YACvD,OAAO,CAAC,CAAC;QACX,CAAC;KACF,EAAE,UAAU,CAAC,CAAC;AACjB,CAAC;AATD,8CASC;AAED;;;;;;GAMG;AACH,SAAgB,yBAAyB,CAAI,KAAa,EAAE,MAAkC,EAAE,UAAmD;IACjJ,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE;QACnB,iBAAiB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;AACL,CAAC;AAJD,8DAIC;AAED,WAAW;AACX,OAAO"}
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
import { Getter
|
|
1
|
+
import { Getter } from "@dereekb/util";
|
|
2
|
+
import { JestBuildTestsWithContextFunction, JestTestContextFactory, JestTestContextFixture } from '@dereekb/util/test';
|
|
2
3
|
import { FirebaseAdminNestTestConfig, FirebaseAdminNestTestContext, FirebaseAdminNestTestContextFixture, FirebaseAdminNestTestContextInstance } from "./firebase.admin.nest";
|
|
3
4
|
import { FirebaseAdminFunctionTestContextInstance } from "./firebase.admin.function";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
export declare function wrapCloudFunctionForNestTestsGetter<I>(wrapper: FirebaseAdminFunctionNestTestContext, fn: NestApplicationRunnableHttpFunctionFactory<I>): Getter<
|
|
7
|
-
export interface FirebaseAdminFunctionNestTestContext extends FirebaseAdminNestTestContext,
|
|
8
|
-
get wrapCloudFunction(): WrapCloudFunction;
|
|
5
|
+
import { NestApplicationRunnableHttpFunctionFactory } from "@dereekb/firebase-server";
|
|
6
|
+
import { FirebaseAdminCloudFunctionWrapper, FirebaseAdminCloudFunctionWrapperSource, WrappedCloudFunctionV1 } from "./firebase.function";
|
|
7
|
+
export declare function wrapCloudFunctionForNestTestsGetter<I>(wrapper: FirebaseAdminFunctionNestTestContext, fn: NestApplicationRunnableHttpFunctionFactory<I>): Getter<WrappedCloudFunctionV1<I>>;
|
|
8
|
+
export interface FirebaseAdminFunctionNestTestContext extends FirebaseAdminNestTestContext, FirebaseAdminCloudFunctionWrapperSource {
|
|
9
9
|
}
|
|
10
10
|
export declare class FirebaseAdminFunctionNestTestContextFixture<PI extends FirebaseAdminFunctionTestContextInstance = FirebaseAdminFunctionTestContextInstance, PF extends JestTestContextFixture<PI> = JestTestContextFixture<PI>, I extends FirebaseAdminFunctionNestTestContextInstance<PI> = FirebaseAdminFunctionNestTestContextInstance<PI>> extends FirebaseAdminNestTestContextFixture<PI, PF, I> implements FirebaseAdminFunctionNestTestContext {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
wrapCloudFunctionForNestTests<I>(fn: NestApplicationRunnableHttpFunctionFactory<I>): WrappedCloudFunctionV1<I>;
|
|
12
|
+
wrapCloudFunctionForNestTestsGetter<I>(fn: NestApplicationRunnableHttpFunctionFactory<I>): Getter<WrappedCloudFunctionV1<I>>;
|
|
13
|
+
get fnWrapper(): FirebaseAdminCloudFunctionWrapper;
|
|
14
14
|
}
|
|
15
15
|
export declare class FirebaseAdminFunctionNestTestContextInstance<PI extends FirebaseAdminFunctionTestContextInstance = FirebaseAdminFunctionTestContextInstance> extends FirebaseAdminNestTestContextInstance<PI> implements FirebaseAdminFunctionNestTestContext {
|
|
16
|
-
get
|
|
16
|
+
get fnWrapper(): FirebaseAdminCloudFunctionWrapper;
|
|
17
17
|
}
|
|
18
18
|
export interface FirebaseAdminFunctionNestTestConfig<PI extends FirebaseAdminFunctionTestContextInstance = FirebaseAdminFunctionTestContextInstance, PF extends JestTestContextFixture<PI> = JestTestContextFixture<PI>, I extends FirebaseAdminFunctionNestTestContextInstance<PI> = FirebaseAdminFunctionNestTestContextInstance<PI>, C extends FirebaseAdminFunctionNestTestContextFixture<PI, PF, I> = FirebaseAdminFunctionNestTestContextFixture<PI, PF, I>> extends FirebaseAdminNestTestConfig<PI, PF, I, C> {
|
|
19
19
|
}
|
|
@@ -3,29 +3,30 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.firebaseAdminFunctionNestContextFactory = exports.firebaseAdminFunctionNestContextWithFixture = exports.FirebaseAdminFunctionNestRootModule = exports.firebaseAdminFunctionNestContextFixture = exports.FirebaseAdminFunctionNestTestContextInstance = exports.FirebaseAdminFunctionNestTestContextFixture = exports.wrapCloudFunctionForNestTestsGetter = void 0;
|
|
4
4
|
const firebase_admin_nest_1 = require("./firebase.admin.nest");
|
|
5
5
|
const firebase_admin_function_1 = require("./firebase.admin.function");
|
|
6
|
-
const
|
|
6
|
+
const firebase_function_1 = require("./firebase.function");
|
|
7
7
|
// MARK: Utility
|
|
8
8
|
function wrapCloudFunctionForNestTestsGetter(wrapper, fn) {
|
|
9
|
-
return (0,
|
|
9
|
+
return (0, firebase_function_1.wrapCloudFunctionV1ForTests)(wrapper.fnWrapper, () => fn(wrapper.nestAppPromiseGetter));
|
|
10
10
|
}
|
|
11
11
|
exports.wrapCloudFunctionForNestTestsGetter = wrapCloudFunctionForNestTestsGetter;
|
|
12
12
|
class FirebaseAdminFunctionNestTestContextFixture extends firebase_admin_nest_1.FirebaseAdminNestTestContextFixture {
|
|
13
13
|
// MARK: FirebaseAdminTestContext (Forwarded)
|
|
14
|
-
get wrapCloudFunction() {
|
|
15
|
-
return this.parent.instance.wrapCloudFunction;
|
|
16
|
-
}
|
|
17
14
|
wrapCloudFunctionForNestTests(fn) {
|
|
18
15
|
return this.wrapCloudFunctionForNestTestsGetter(fn)();
|
|
19
16
|
}
|
|
20
17
|
wrapCloudFunctionForNestTestsGetter(fn) {
|
|
21
18
|
return wrapCloudFunctionForNestTestsGetter(this, fn);
|
|
22
19
|
}
|
|
20
|
+
// MARK: FirebaseAdminCloudFunctionWrapperSource
|
|
21
|
+
get fnWrapper() {
|
|
22
|
+
return this.parent.instance.fnWrapper;
|
|
23
|
+
}
|
|
23
24
|
}
|
|
24
25
|
exports.FirebaseAdminFunctionNestTestContextFixture = FirebaseAdminFunctionNestTestContextFixture;
|
|
25
26
|
class FirebaseAdminFunctionNestTestContextInstance extends firebase_admin_nest_1.FirebaseAdminNestTestContextInstance {
|
|
26
27
|
// MARK: FirebaseAdminTestContext (Forwarded)
|
|
27
|
-
get
|
|
28
|
-
return this.parent.
|
|
28
|
+
get fnWrapper() {
|
|
29
|
+
return this.parent.fnWrapper;
|
|
29
30
|
}
|
|
30
31
|
}
|
|
31
32
|
exports.FirebaseAdminFunctionNestTestContextInstance = FirebaseAdminFunctionNestTestContextInstance;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"firebase.admin.nest.function.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/test/src/lib/firebase/firebase.admin.nest.function.ts"],"names":[],"mappings":";;;AAEA,+DAAkN;AAClN,uEAA8H;AAE9H,2DAAsK;AAEtK,gBAAgB;AAChB,SAAgB,mCAAmC,CAAI,OAA6C,EAAE,EAAiD;IACrJ,OAAO,IAAA,+CAA2B,EAAI,OAAO,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC;AACnG,CAAC;AAFD,kFAEC;AAKD,MAAa,2CAIT,SAAQ,yDAA8C;IAExD,6CAA6C;IAC7C,6BAA6B,CAAI,EAAiD;QAChF,OAAO,IAAI,CAAC,mCAAmC,CAAC,EAAE,CAAC,EAAE,CAAC;IACxD,CAAC;IAED,mCAAmC,CAAI,EAAiD;QACtF,OAAO,mCAAmC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,gDAAgD;IAChD,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;IACxC,CAAC;CAEF;AApBD,kGAoBC;AAED,MAAa,4CAET,SAAQ,0DAAwC;IAElD,6CAA6C;IAC7C,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;IAC/B,CAAC;CAEF;AATD,oGASC;AAgBD,SAAgB,uCAAuC,CAKrD,MAAyD,EAAE,OAAmC;IAC9F,OAAO,CAAC,UAAgD,EAAE,EAAE;QAC1D,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,2CAA2C,CAAe,MAAM,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;IACnG,CAAC,CAAC;AACJ,CAAC;AATD,0FASC;AAED,MAAa,mCAAmC;CAAI;AAApD,kFAAoD;AAEpD,SAAgB,2CAA2C,CAKzD,MAAyD,EAAE,CAAK,EAAE,UAAgD;IAClH,MAAM,YAAY,mBAChB,WAAW,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,2CAA2C,CAAC,MAAM,CAAM,EACrF,YAAY,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,4CAA4C,CAAK,QAAQ,EAAE,IAAI,CAAM,IACxG,MAAM,CACV,CAAC;IAEF,OAAO,IAAA,yDAAmC,EAAe,YAAY,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;AACxF,CAAC;AAbD,kGAaC;AAED,SAAgB,uCAAuC,CAErD,MAA0J;IAC1J,OAAO,uCAAuC,CAAgH,MAAM,EAAE,iEAAuC,CAAC,CAAC;AACjN,CAAC;AAJD,0FAIC"}
|
|
@@ -2,11 +2,12 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.firebaseAdminNestContextFactory = exports.firebaseAdminNestContextWithFixture = exports.FirebaseAdminNestRootModule = exports.firebaseAdminNestContextFixture = exports.FirebaseAdminNestTestContextInstance = exports.FirebaseAdminNestTestContextFixture = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
-
const
|
|
5
|
+
const test_1 = require("@dereekb/util/test");
|
|
6
6
|
const firebase_admin_1 = require("./firebase.admin");
|
|
7
|
+
const firebase_server_1 = require("@dereekb/firebase-server");
|
|
7
8
|
const testing_1 = require("@nestjs/testing");
|
|
8
|
-
const
|
|
9
|
-
class FirebaseAdminNestTestContextFixture extends
|
|
9
|
+
const util_1 = require("@dereekb/util");
|
|
10
|
+
class FirebaseAdminNestTestContextFixture extends test_1.AbstractChildJestTestContextFixture {
|
|
10
11
|
// MARK: Forwarded
|
|
11
12
|
get nest() {
|
|
12
13
|
return this.instance.nest;
|
|
@@ -41,7 +42,7 @@ class FirebaseAdminNestRootModule {
|
|
|
41
42
|
exports.FirebaseAdminNestRootModule = FirebaseAdminNestRootModule;
|
|
42
43
|
function firebaseAdminNestContextWithFixture(config, f, buildTests) {
|
|
43
44
|
const { nestModules, makeProviders = () => [], injectFirebaseServerAppTokenProvider, makeFixture = (parent) => new FirebaseAdminNestTestContextFixture(parent), makeInstance = (instance, nest) => new FirebaseAdminNestTestContextInstance(instance, nest), initInstance } = config;
|
|
44
|
-
(0,
|
|
45
|
+
(0, test_1.useJestContextFixture)({
|
|
45
46
|
fixture: makeFixture(f),
|
|
46
47
|
/**
|
|
47
48
|
* Build tests by passing the fixture to the testing functions.
|
|
@@ -55,7 +56,7 @@ function firebaseAdminNestContextWithFixture(config, f, buildTests) {
|
|
|
55
56
|
const providers = (_a = makeProviders(f.instance)) !== null && _a !== void 0 ? _a : [];
|
|
56
57
|
// Inject the firebaseServerAppTokenProvider
|
|
57
58
|
if (injectFirebaseServerAppTokenProvider) {
|
|
58
|
-
providers.push((0,
|
|
59
|
+
providers.push((0, firebase_server_1.firebaseServerAppTokenProvider)((0, util_1.asGetter)(f.instance.app)));
|
|
59
60
|
}
|
|
60
61
|
const rootModule = {
|
|
61
62
|
module: FirebaseAdminNestRootModule,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"firebase.admin.nest.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/test/src/lib/firebase/firebase.admin.nest.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { TestFirestoreContextFixture, TestFirestoreInstance } from "@dereekb/firebase";
|
|
1
|
+
import { TestFirestoreContextFixture, TestFirestoreInstance } from "@dereekb/firebase/test";
|
|
2
2
|
export declare function initFirebaseServerAdminTestEnvironment(): void;
|
|
3
3
|
export declare function describeFirestoreTest(s: TestFirestoreContextFixture<TestFirestoreInstance>): void;
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.describeFirestoreTest = exports.initFirebaseServerAdminTestEnvironment = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
-
const
|
|
6
|
-
const
|
|
5
|
+
const test_1 = require("@dereekb/firebase/test");
|
|
6
|
+
const firebase_1 = require("./firebase");
|
|
7
7
|
function initFirebaseServerAdminTestEnvironment() {
|
|
8
|
-
(0,
|
|
8
|
+
(0, firebase_1.initFirebaseAdminTestEnvironment)({
|
|
9
9
|
emulators: {
|
|
10
10
|
auth: '0.0.0.0:9903',
|
|
11
11
|
firestore: '0.0.0.0:9904',
|
|
@@ -17,7 +17,7 @@ exports.initFirebaseServerAdminTestEnvironment = initFirebaseServerAdminTestEnvi
|
|
|
17
17
|
function describeFirestoreTest(s) {
|
|
18
18
|
let collection;
|
|
19
19
|
beforeEach(() => {
|
|
20
|
-
collection = (0,
|
|
20
|
+
collection = (0, test_1.mockItemFirestoreCollection)(s.context);
|
|
21
21
|
});
|
|
22
22
|
describe('firestore', () => {
|
|
23
23
|
it('should interact with the firestore.', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"firebase.admin.test.server.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/test/src/lib/firebase/firebase.admin.test.server.ts"],"names":[],"mappings":";;;;AAAA,iDAAsJ;AACtJ,yCAA8D;AAE9D,SAAgB,sCAAsC;IACpD,IAAA,2CAAgC,EAAC;QAC/B,SAAS,EAAE;YACT,IAAI,EAAE,cAAc;YACpB,SAAS,EAAE,cAAc;YACzB,OAAO,EAAE,cAAc;SACxB;KACF,CAAC,CAAA;AACJ,CAAC;AARD,wFAQC;AAED,SAAgB,qBAAqB,CAAC,CAAqD;IAEzF,IAAI,UAAuC,CAAC;IAE5C,UAAU,CAAC,GAAG,EAAE;QACd,UAAU,GAAG,IAAA,kCAA2B,EAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;QAEzB,EAAE,CAAC,qCAAqC,EAAE,GAAS,EAAE;YACnD,MAAM,QAAQ,GAAG,UAAU,CAAC,gBAAgB,EAAE,CAAC,WAAW,EAAE,CAAC;YAE7D,MAAM,OAAO,GAAG;gBACd,KAAK,EAAE,GAAG;gBACV,IAAI,EAAE,IAAI;aACX,CAAC;YAEF,MAAM,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAErC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YAChD,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAE1B,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;YAC/C,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;YAE7B,MAAM,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;QAC7B,CAAC,CAAA,CAAC,CAAC;IAEL,CAAC,CAAC,CAAC;AAEL,CAAC;AA/BD,sDA+BC"}
|
|
File without changes
|