@muritavo/testing-toolkit 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -35,10 +35,14 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
35
35
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
36
  }
37
37
  };
38
+ var __importDefault = (this && this.__importDefault) || function (mod) {
39
+ return (mod && mod.__esModule) ? mod : { "default": mod };
40
+ };
38
41
  exports.__esModule = true;
39
42
  exports.clearFirestore = exports.setEmulatorConfig = exports.clearAuth = exports.addAuthUser = exports.setupEmulator = exports.deleteCollection = void 0;
40
- var node_fetch_1 = require("node-fetch");
43
+ var node_fetch_1 = __importDefault(require("node-fetch"));
41
44
  var rules_unit_testing_1 = require("@firebase/rules-unit-testing");
45
+ var consts_1 = require("../native/consts");
42
46
  var emulatorConfig;
43
47
  /**
44
48
  * Deletes a collection from firebase
@@ -48,7 +52,7 @@ var emulatorConfig;
48
52
  var deleteCollection = function (projectId, collectionPath) { return __awaiter(void 0, void 0, void 0, function () {
49
53
  return __generator(this, function (_a) {
50
54
  switch (_a.label) {
51
- case 0: return [4 /*yield*/, (0, node_fetch_1["default"])("http://localhost:".concat(_getPort("firestore"), "/emulator/v1/projects/").concat(projectId, "/databases/(default)/documents").concat(collectionPath), {
55
+ case 0: return [4 /*yield*/, (0, node_fetch_1["default"])("http://".concat(consts_1.LOCALHOST_DOMAIN, ":").concat(_getPort("firestore"), "/emulator/v1/projects/").concat(projectId, "/databases/(default)/documents").concat(collectionPath), {
52
56
  method: "delete"
53
57
  })];
54
58
  case 1:
@@ -70,11 +74,11 @@ var setupEmulator = function (projectId, cb, storageBucket) { return __awaiter(v
70
74
  case 0: return [4 /*yield*/, (0, rules_unit_testing_1.initializeTestEnvironment)({
71
75
  projectId: projectId,
72
76
  firestore: {
73
- host: "localhost",
77
+ host: consts_1.LOCALHOST_DOMAIN,
74
78
  port: _getPort("firestore")
75
79
  },
76
80
  storage: {
77
- host: "localhost",
81
+ host: consts_1.LOCALHOST_DOMAIN,
78
82
  port: _getPort("storage")
79
83
  }
80
84
  })];
@@ -113,7 +117,7 @@ var addAuthUser = function (projectId, email, password, localId) {
113
117
  var result;
114
118
  return __generator(this, function (_a) {
115
119
  switch (_a.label) {
116
- case 0: return [4 /*yield*/, (0, node_fetch_1["default"])("http://localhost:".concat(_getPort("auth"), "/identitytoolkit.googleapis.com/v1/projects/").concat(projectId, "/accounts"), {
120
+ case 0: return [4 /*yield*/, (0, node_fetch_1["default"])("http://".concat(consts_1.LOCALHOST_DOMAIN, ":").concat(_getPort("auth"), "/identitytoolkit.googleapis.com/v1/projects/").concat(projectId, "/accounts"), {
117
121
  body: JSON.stringify({
118
122
  email: email,
119
123
  password: password,
@@ -144,7 +148,7 @@ var clearAuth = function (projectId) { return __awaiter(void 0, void 0, void 0,
144
148
  var result;
145
149
  return __generator(this, function (_a) {
146
150
  switch (_a.label) {
147
- case 0: return [4 /*yield*/, (0, node_fetch_1["default"])("http://localhost:".concat(_getPort("auth"), "/emulator/v1/projects/").concat(projectId, "/accounts"), {
151
+ case 0: return [4 /*yield*/, (0, node_fetch_1["default"])("http://".concat(consts_1.LOCALHOST_DOMAIN, ":").concat(_getPort("auth"), "/emulator/v1/projects/").concat(projectId, "/accounts"), {
148
152
  method: "delete"
149
153
  })];
150
154
  case 1:
@@ -175,7 +179,7 @@ var clearFirestore = function (projectId) { return __awaiter(void 0, void 0, voi
175
179
  case 0: return [4 /*yield*/, (0, rules_unit_testing_1.initializeTestEnvironment)({
176
180
  projectId: projectId,
177
181
  firestore: {
178
- host: "localhost",
182
+ host: consts_1.LOCALHOST_DOMAIN,
179
183
  port: _getPort("firestore")
180
184
  }
181
185
  })];
@@ -1 +1 @@
1
- {"version":3,"file":"emulator.js","sourceRoot":"","sources":["../../src/client/emulator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAAmC;AACnC,mEAAyE;AAGzE,IAAI,cAAmC,CAAC;AAExC;;;;GAIG;AACI,IAAM,gBAAgB,GAAG,UAC9B,SAAiB,EACjB,cAAsB;;;oBAEtB,qBAAM,IAAA,uBAAS,EACb,2BAAoB,QAAQ,CAC1B,WAAW,CACZ,mCAAyB,SAAS,2CAAiC,cAAc,CAAE,EACpF;oBACE,MAAM,EAAE,QAAQ;iBACjB,CACF,EAAA;;gBAPD,SAOC,CAAC;;;;KACH,CAAC;AAZW,QAAA,gBAAgB,oBAY3B;AAEF;;;;GAIG;AACI,IAAM,aAAa,GAAG,UAC3B,SAAiB,EACjB,EAGkB,EAClB,aAAsB;;;;oBAEN,qBAAM,IAAA,8CAAyB,EAAC;oBAC9C,SAAS,EAAE,SAAS;oBACpB,SAAS,EAAE;wBACT,IAAI,EAAE,WAAW;wBACjB,IAAI,EAAE,QAAQ,CAAC,WAAW,CAAC;qBAC5B;oBACD,OAAO,EAAE;wBACP,IAAI,EAAE,WAAW;wBACjB,IAAI,EAAE,QAAQ,CAAC,SAAS,CAAC;qBAC1B;iBACF,CAAC,EAAA;;gBAVI,OAAO,GAAG,SAUd;gBACF,qBAAM,OAAO,CAAC,yBAAyB,CAAC,UAAO,GAAQ;;;wCACrD,qBAAM,EAAE,CACN,GAAG,CAAC,SAAS,CAAC;wCACZ,4BAA4B,EAAE,IAAI;wCAClC,KAAK,EAAE,IAAI;qCACZ,CAAC,EACF,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,CAC3B,EAAA;;oCAND,SAMC,CAAC;;;;yBACH,CAAC,EAAA;;gBARF,SAQE,CAAC;;;;KACJ,CAAC;AA5BW,QAAA,aAAa,iBA4BxB;AACF;;;;;;GAMG;AACI,IAAM,WAAW,GAAG,UACzB,SAAiB,EACjB,KAAa,EACb,QAAgB,EAChB,OAAoB;IAApB,wBAAA,EAAA,YAAoB;;;;;wBAEL,qBAAM,IAAA,uBAAS,EAC5B,2BAAoB,QAAQ,CAC1B,MAAM,CACP,yDAA+C,SAAS,cAAW,EACpE;wBACE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,KAAK,OAAA;4BACL,QAAQ,UAAA;4BACR,OAAO,SAAA;yBACR,CAAC;wBACF,OAAO,EAAE;4BACP,cAAc,EAAE,kBAAkB;4BAClC,aAAa,EAAE,cAAc;yBAC9B;wBACD,MAAM,EAAE,MAAM;qBACf,CACF,EAAA;;oBAhBK,MAAM,GAAG,SAgBd;oBAED,IAAI,MAAM,CAAC,MAAM,GAAG,GAAG;wBACrB,MAAM,IAAI,KAAK,CAAC,oCAA6B,MAAM,CAAC,MAAM,CAAE,CAAC,CAAC;;;;;CACjE,CAAC;AA1BW,QAAA,WAAW,eA0BtB;AAEF;;;;GAIG;AACI,IAAM,SAAS,GAAG,UAAO,SAAiB;;;;oBAChC,qBAAM,IAAA,uBAAS,EAC5B,2BAAoB,QAAQ,CAC1B,MAAM,CACP,mCAAyB,SAAS,cAAW,EAC9C;oBACE,MAAM,EAAE,QAAQ;iBACjB,CACF,EAAA;;gBAPK,MAAM,GAAG,SAOd;gBACD,IAAI,MAAM,CAAC,MAAM,GAAG,GAAG;oBACrB,MAAM,IAAI,KAAK,CAAC,qCAA8B,MAAM,CAAC,MAAM,CAAE,CAAC,CAAC;;;;KAClE,CAAC;AAXW,QAAA,SAAS,aAWpB;AAEF;;;GAGG;AACH,SAAgB,iBAAiB,CAAC,MAA2B;IAC3D,cAAc,GAAG,MAAM,CAAC;AAC1B,CAAC;AAFD,8CAEC;AAED;;;GAGG;AACI,IAAM,cAAc,GAAG,UAAO,SAAiB;;;;oBACpC,qBAAM,IAAA,8CAAyB,EAAC;oBAC9C,SAAS,EAAE,SAAS;oBACpB,SAAS,EAAE;wBACT,IAAI,EAAE,WAAW;wBACjB,IAAI,EAAE,QAAQ,CAAC,WAAW,CAAC;qBAC5B;iBACF,CAAC,EAAA;;gBANI,OAAO,GAAG,SAMd;gBACF,qBAAM,OAAO,CAAC,cAAc,EAAE,EAAA;;gBAA9B,SAA8B,CAAC;gBAC/B,OAAO,CAAC,OAAO,EAAE,CAAC;;;;KACnB,CAAC;AAVW,QAAA,cAAc,kBAUzB;AAEF,IAAM,mCAAmC,GAAG;IAC1C,SAAS,EAAE;QACT,IAAI,EAAE;YACJ,IAAI,EAAE,IAAc;SACrB;QACD,SAAS,EAAE;YACT,IAAI,EAAE,IAAc;SACrB;QACD,SAAS,EAAE;YACT,IAAI,EAAE,IAAc;SACrB;QACD,OAAO,EAAE;YACP,IAAI,EAAE,IAAc;SACrB;QACD,OAAO,EAAE;YACP,IAAI,EAAE,IAAc;SACrB;QACD,MAAM,EAAE;YACN,IAAI,EAAE,IAAc;SACrB;QACD,EAAE,EAAE;YACF,OAAO,EAAE,IAAe;YACxB,IAAI,EAAE,IAAc;SACrB;KACF;CACO,CAAC;AAIX;;;;GAIG;AACH,SAAS,QAAQ,CAAC,QAAgD;IAChE,IAAI,CAAC,cAAc,EAAE;QACnB,MAAM,IAAI,KAAK,CAAC,gSASnB,CAAC,CAAC;KACA;IACD,IAAM,iBAAiB,GAAG,cAAc,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC7D,IAAI,CAAC,iBAAiB,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE;QACjD,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;KAC9C;IACD,OAAO,iBAAiB,CAAC,IAAI,CAAC;AAChC,CAAC"}
1
+ {"version":3,"file":"emulator.js","sourceRoot":"","sources":["../../src/client/emulator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ declare type Addresses = {
2
+ [address: string]: {
3
+ balance: number;
4
+ unlocked: number;
5
+ secretKey: string;
6
+ };
7
+ };
8
+ export declare function startBlockchainNode(nftContractsProjectFolder: string): Promise<Addresses>;
9
+ export declare function deployContract(contractName: string, ...initializationArgs: any[]): Promise<{
10
+ address: string;
11
+ } | {
12
+ address: any;
13
+ owner: any;
14
+ }>;
15
+ export {};
@@ -0,0 +1,148 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
+ return new (P || (P = Promise))(function (resolve, reject) {
16
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
20
+ });
21
+ };
22
+ var __generator = (this && this.__generator) || function (thisArg, body) {
23
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
24
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
25
+ function verb(n) { return function (v) { return step([n, v]); }; }
26
+ function step(op) {
27
+ if (f) throw new TypeError("Generator is already executing.");
28
+ while (_) try {
29
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
30
+ if (y = 0, t) op = [op[0] & 2, t.value];
31
+ switch (op[0]) {
32
+ case 0: case 1: t = op; break;
33
+ case 4: _.label++; return { value: op[1], done: false };
34
+ case 5: _.label++; y = op[1]; op = [0]; continue;
35
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
36
+ default:
37
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
38
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
39
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
40
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
41
+ if (t[2]) _.ops.pop();
42
+ _.trys.pop(); continue;
43
+ }
44
+ op = body.call(thisArg, _);
45
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
46
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
+ }
48
+ };
49
+ exports.__esModule = true;
50
+ exports.deployContract = exports.startBlockchainNode = void 0;
51
+ var ganache_1 = require("ganache");
52
+ var logger = require("debug")("cypress-toolkit/blockchain");
53
+ var instance;
54
+ function startBlockchainNode(nftContractsProjectFolder) {
55
+ return __awaiter(this, void 0, void 0, function () {
56
+ var serverInstance, accounts;
57
+ return __generator(this, function (_a) {
58
+ switch (_a.label) {
59
+ case 0:
60
+ if (instance) {
61
+ return [2 /*return*/, instance.addresses];
62
+ }
63
+ logger("Starting blockchain server at \"".concat(nftContractsProjectFolder, "\""));
64
+ serverInstance = (0, ganache_1.server)({
65
+ miner: {
66
+ defaultTransactionGasLimit: 99000000000000,
67
+ callGasLimit: 99000000000000,
68
+ blockGasLimit: 99000000000000
69
+ },
70
+ wallet: {
71
+ deterministic: true
72
+ }
73
+ });
74
+ return [4 /*yield*/, serverInstance.listen(15000).then(function () {
75
+ return Object.entries(serverInstance.provider.getInitialAccounts()).reduce(function (r, _a) {
76
+ var _b;
77
+ var k = _a[0], v = _a[1];
78
+ return (__assign(__assign({}, r), (_b = {}, _b[k] = __assign(__assign({}, v), { balance: Number(v.balance), unlocked: Number(v.unlocked) }), _b)));
79
+ }, {});
80
+ })];
81
+ case 1:
82
+ accounts = _a.sent();
83
+ instance = {
84
+ process: serverInstance,
85
+ rootFolder: nftContractsProjectFolder,
86
+ contracts: {},
87
+ addresses: accounts
88
+ };
89
+ return [2 /*return*/, accounts];
90
+ }
91
+ });
92
+ });
93
+ }
94
+ exports.startBlockchainNode = startBlockchainNode;
95
+ function deployContract(contractName) {
96
+ var initializationArgs = [];
97
+ for (var _i = 1; _i < arguments.length; _i++) {
98
+ initializationArgs[_i - 1] = arguments[_i];
99
+ }
100
+ return __awaiter(this, void 0, void 0, function () {
101
+ var startingDir, hardhat, ethers, owner, Factory, lock, connection, initializationKey;
102
+ return __generator(this, function (_a) {
103
+ switch (_a.label) {
104
+ case 0:
105
+ if (!instance.contracts[contractName]) return [3 /*break*/, 1];
106
+ return [2 /*return*/, instance.contracts[contractName]];
107
+ case 1:
108
+ logger("Deploying contract ".concat(contractName, " with parameters ").concat(initializationArgs));
109
+ startingDir = process.cwd();
110
+ process.chdir(instance.rootFolder);
111
+ hardhat = require("hardhat");
112
+ hardhat.network.provider = instance.process.provider;
113
+ process.chdir(startingDir);
114
+ ethers = hardhat.ethers;
115
+ return [4 /*yield*/, ethers.getSigners()];
116
+ case 2:
117
+ owner = (_a.sent())[0];
118
+ return [4 /*yield*/, ethers.getContractFactory(contractName)];
119
+ case 3:
120
+ Factory = _a.sent();
121
+ return [4 /*yield*/, Factory.deploy()];
122
+ case 4:
123
+ lock = _a.sent();
124
+ return [4 /*yield*/, lock.deployed()];
125
+ case 5:
126
+ _a.sent();
127
+ if (!(initializationArgs.length > 0)) return [3 /*break*/, 7];
128
+ logger("Initializing contract with owner ".concat(owner, " and args ").concat(initializationArgs));
129
+ connection = lock.connect(owner);
130
+ initializationKey = Object.keys(connection.functions).find(function (a) {
131
+ return a.split(",", initializationArgs.length) &&
132
+ a.startsWith("initialize(");
133
+ }) || "initialize";
134
+ if (!connection[initializationKey]) return [3 /*break*/, 7];
135
+ return [4 /*yield*/, connection[initializationKey].apply(connection, initializationArgs)];
136
+ case 6:
137
+ _a.sent();
138
+ _a.label = 7;
139
+ case 7: return [2 /*return*/, {
140
+ address: lock.address,
141
+ owner: owner.address
142
+ }];
143
+ }
144
+ });
145
+ });
146
+ }
147
+ exports.deployContract = deployContract;
148
+ //# sourceMappingURL=blockchain.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blockchain.js","sourceRoot":"","sources":["../../src/native/blockchain.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * For some reason, on node 18 "node-fetch" fails when connecting to "localhost" domain
3
+ * So I needed to change to 127.0.0.1
4
+ */
5
+ export declare const LOCALHOST_DOMAIN = "127.0.0.1";
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ exports.__esModule = true;
3
+ exports.LOCALHOST_DOMAIN = void 0;
4
+ /**
5
+ * For some reason, on node 18 "node-fetch" fails when connecting to "localhost" domain
6
+ * So I needed to change to 127.0.0.1
7
+ */
8
+ exports.LOCALHOST_DOMAIN = "127.0.0.1";
9
+ //# sourceMappingURL=consts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consts.js","sourceRoot":"","sources":["../../src/native/consts.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACU,QAAA,gBAAgB,GAAG,WAAW,CAAA"}
@@ -18,4 +18,19 @@ export declare function startEmulator(args: {
18
18
  UIPort: number;
19
19
  /** An optional flag to indicate when a new emulator instance should be created */
20
20
  suiteId?: string;
21
- }): Promise<null>;
21
+ ports: number[];
22
+ shouldSaveData: boolean;
23
+ only: ("functions" | "hosting" | "firestore" | "storage" | "auth")[] | string[];
24
+ }, isRetry?: boolean): Promise<null>;
25
+ declare type Admin = ReturnType<typeof _getAuthAdminInstance>;
26
+ declare type KeysWithValsOfType<T, V> = keyof {
27
+ [P in keyof T as T[P] extends V ? P : never]: P;
28
+ };
29
+ export declare function invokeAuthAdmin<F extends KeysWithValsOfType<Admin, (...params: any[]) => any>>({ projectId, port, functionName, params, }: {
30
+ projectId: string;
31
+ port: string;
32
+ functionName: F;
33
+ params: Parameters<Admin[F]>;
34
+ }): Promise<any>;
35
+ declare function _getAuthAdminInstance(projectId: string, authPort: string): Promise<any>;
36
+ export {};
@@ -35,10 +35,15 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
35
35
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
36
  }
37
37
  };
38
+ var __importDefault = (this && this.__importDefault) || function (mod) {
39
+ return (mod && mod.__esModule) ? mod : { "default": mod };
40
+ };
38
41
  exports.__esModule = true;
39
- exports.startEmulator = exports.killEmulator = void 0;
40
- var node_fetch_1 = require("node-fetch");
42
+ exports.invokeAuthAdmin = exports.startEmulator = exports.killEmulator = void 0;
43
+ var node_fetch_1 = __importDefault(require("node-fetch"));
41
44
  var child_process_1 = require("child_process");
45
+ var kill_port_1 = __importDefault(require("kill-port"));
46
+ var consts_1 = require("./consts");
42
47
  var log = require("debug")("@muritavo/testing-toolkit/emulator");
43
48
  var spawnResult;
44
49
  function WaitTimeout(ml) {
@@ -64,7 +69,7 @@ function killEmulator() {
64
69
  var t_1 = setTimeout(function () {
65
70
  spawnResult = undefined;
66
71
  rej(new Error("Couldn't kill emulator"));
67
- }, 10000);
72
+ }, 20000);
68
73
  spawnResult.process.on("close", function () {
69
74
  clearTimeout(t_1);
70
75
  r(null);
@@ -85,7 +90,8 @@ exports.killEmulator = killEmulator;
85
90
  * @param args Check property typings for details
86
91
  * @returns A promise that resolves when the emulator is ready or fails if the emulator couldn't start or be reached
87
92
  */
88
- function startEmulator(args) {
93
+ function startEmulator(args, isRetry) {
94
+ if (isRetry === void 0) { isRetry = false; }
89
95
  return __awaiter(this, void 0, void 0, function () {
90
96
  var suiteId;
91
97
  var _this = this;
@@ -106,7 +112,7 @@ function startEmulator(args) {
106
112
  id: suiteId,
107
113
  project: args.projectId,
108
114
  database: args.databaseToImport,
109
- process: (0, child_process_1.spawn)("firebase emulators:start -P ".concat(args.projectId, " ").concat(args.databaseToImport ? "--import ".concat(args.databaseToImport) : ""), {
115
+ process: (0, child_process_1.spawn)("firebase emulators:start -P ".concat(args.projectId, " ").concat(args.databaseToImport ? "--import ".concat(args.databaseToImport) : "", " ").concat(args.shouldSaveData ? "--export-on-exit" : "", " ").concat(args.only.length ? "--only=".concat(args.only.join(",")) : ""), {
110
116
  cwd: undefined,
111
117
  env: process.env,
112
118
  shell: true
@@ -139,17 +145,32 @@ function startEmulator(args) {
139
145
  spawnResult.process.on("message", function (e) {
140
146
  log("Emulator start sent message", e.toString());
141
147
  });
142
- spawnResult.process.on("close", function (e) {
143
- clearTimeout(timeout);
144
- log("Emulator closed with", e, "and data", scriptOutput);
145
- rej(new Error("Emulator closed with code ".concat(e, ". Check the firebase-debug.log for more details")));
146
- spawnResult = undefined;
147
- });
148
148
  scriptOutput = "";
149
149
  spawnResult.process.stdout.on("data", function (data) {
150
150
  data = data.toString();
151
151
  scriptOutput += data;
152
152
  });
153
+ spawnResult.process.on("close", function (e) {
154
+ clearTimeout(timeout);
155
+ log("Emulator closed with", e);
156
+ var unavailablePorts = args.ports.filter(function (p) {
157
+ return scriptOutput.includes(String(p));
158
+ });
159
+ var failedWithUnavailablePort = unavailablePorts.length;
160
+ if (failedWithUnavailablePort) {
161
+ log("Killing ports", unavailablePorts, "detected from text", scriptOutput);
162
+ Promise.all(unavailablePorts.map(function (p) { return (0, kill_port_1["default"])(p)["catch"](function () { }); })).then(function () {
163
+ if (isRetry === false)
164
+ return startEmulator(args, true);
165
+ else
166
+ rej(new Error("Some ports were unavailable (".concat(unavailablePorts.join(", "), "). They were killed, please try running the emulator again")));
167
+ });
168
+ }
169
+ else {
170
+ rej(new Error("Emulator closed with code ".concat(e, ". Check the firebse-debug.log for more details")));
171
+ }
172
+ spawnResult = undefined;
173
+ });
153
174
  _a.label = 1;
154
175
  case 1:
155
176
  if (!!breakLoop) return [3 /*break*/, 7];
@@ -157,7 +178,7 @@ function startEmulator(args) {
157
178
  case 2:
158
179
  _a.trys.push([2, 4, , 5]);
159
180
  log("Checking if emulator is up");
160
- return [4 /*yield*/, (0, node_fetch_1["default"])("http://localhost:".concat(args.UIPort))];
181
+ return [4 /*yield*/, (0, node_fetch_1["default"])("http://".concat(consts_1.LOCALHOST_DOMAIN, ":").concat(args.UIPort))];
161
182
  case 3:
162
183
  _a.sent();
163
184
  log("Emulator is up and ready");
@@ -167,6 +188,7 @@ function startEmulator(args) {
167
188
  return [3 /*break*/, 5];
168
189
  case 4:
169
190
  e_1 = _a.sent();
191
+ log(e_1);
170
192
  log("Process is killed: ", spawnResult === null || spawnResult === void 0 ? void 0 : spawnResult.process.killed);
171
193
  log("Emulator is not ready yet, retrying in 1 sec");
172
194
  return [3 /*break*/, 5];
@@ -183,4 +205,36 @@ function startEmulator(args) {
183
205
  });
184
206
  }
185
207
  exports.startEmulator = startEmulator;
208
+ function invokeAuthAdmin(_a) {
209
+ var projectId = _a.projectId, port = _a.port, functionName = _a.functionName, params = _a.params;
210
+ return __awaiter(this, void 0, void 0, function () {
211
+ var app, func;
212
+ return __generator(this, function (_b) {
213
+ switch (_b.label) {
214
+ case 0:
215
+ app = _getAuthAdminInstance(projectId, port);
216
+ func = app[functionName];
217
+ return [4 /*yield*/, func.bind(app).apply(void 0, params)];
218
+ case 1:
219
+ _b.sent();
220
+ return [2 /*return*/, null];
221
+ }
222
+ });
223
+ });
224
+ }
225
+ exports.invokeAuthAdmin = invokeAuthAdmin;
226
+ var adminApp = {};
227
+ function _getAuthAdminInstance(projectId, authPort) {
228
+ return __awaiter(this, void 0, void 0, function () {
229
+ var initializeApp, getAuth;
230
+ return __generator(this, function (_a) {
231
+ initializeApp = require("firebase-admin/app").initializeApp;
232
+ getAuth = require("firebase-admin/auth").getAuth;
233
+ process.env.FIREBASE_AUTH_EMULATOR_HOST = "".concat(consts_1.LOCALHOST_DOMAIN, ":").concat(authPort);
234
+ adminApp[projectId] =
235
+ adminApp[projectId] || initializeApp({ projectId: projectId }, projectId);
236
+ return [2 /*return*/, getAuth(adminApp[projectId])];
237
+ });
238
+ });
239
+ }
186
240
  //# sourceMappingURL=emulator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"emulator.js","sourceRoot":"","sources":["../../src/native/emulator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"emulator.js","sourceRoot":"","sources":["../../src/native/emulator.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@muritavo/testing-toolkit",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "A series of functions to help with testing",
5
5
  "main": "index.js",
6
6
  "files": [
@@ -24,11 +24,15 @@
24
24
  "firebase": "^9.10.0",
25
25
  "firebase-admin": "^11.5.0",
26
26
  "text2png": "^2.3.0",
27
- "web3": "^1.8.0"
27
+ "web3": "^1.8.0",
28
+ "ganache": "^7.8.0",
29
+ "hardhat": "^2.14.1"
28
30
  },
29
31
  "dependencies": {
30
32
  "@firebase/rules-unit-testing": "^2.0.4",
33
+ "@types/kill-port": "^2.0.3",
31
34
  "@types/node-fetch": "^2.6.2",
35
+ "kill-port": "^2.0.1",
32
36
  "node-fetch": "^1",
33
37
  "typescript": "^4.8.4"
34
38
  }