@eggjs/mock 7.0.0-beta.34 → 7.0.0-beta.36
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_virtual/rolldown_runtime.js +7 -0
- package/dist/app/extend/agent.d.ts +38 -34
- package/dist/app/extend/agent.js +48 -46
- package/dist/app/extend/application.d.ts +171 -167
- package/dist/app/extend/application.js +382 -442
- package/dist/app/middleware/cluster_app_mock.d.ts +5 -2
- package/dist/app/middleware/cluster_app_mock.js +95 -100
- package/dist/app.d.ts +9 -5
- package/dist/app.js +17 -18
- package/dist/bootstrap.d.ts +9 -5
- package/dist/bootstrap.js +11 -12
- package/dist/index.d.ts +20 -17
- package/dist/index.js +39 -78
- package/dist/inject_mocha.d.ts +1 -1
- package/dist/inject_mocha.js +27 -28
- package/dist/lib/agent_handler.d.ts +7 -3
- package/dist/lib/agent_handler.js +22 -20
- package/dist/lib/app.d.ts +7 -3
- package/dist/lib/app.js +246 -287
- package/dist/lib/app_handler.d.ts +9 -5
- package/dist/lib/app_handler.js +48 -61
- package/dist/lib/cluster.d.ts +122 -118
- package/dist/lib/cluster.js +278 -335
- package/dist/lib/context.d.ts +4 -1
- package/dist/lib/context.js +10 -11
- package/dist/lib/format_options.d.ts +9 -4
- package/dist/lib/format_options.js +60 -88
- package/dist/lib/inject_context.d.ts +8 -5
- package/dist/lib/inject_context.js +103 -123
- package/dist/lib/mock_agent.d.ts +8 -4
- package/dist/lib/mock_agent.js +42 -42
- package/dist/lib/mock_custom_loader.d.ts +4 -1
- package/dist/lib/mock_custom_loader.js +34 -33
- package/dist/lib/mock_http_server.d.ts +6 -2
- package/dist/lib/mock_http_server.js +16 -17
- package/dist/lib/mock_httpclient.d.ts +38 -34
- package/dist/lib/mock_httpclient.js +106 -142
- package/dist/lib/parallel/agent.d.ts +22 -18
- package/dist/lib/parallel/agent.js +106 -112
- package/dist/lib/parallel/app.d.ts +23 -19
- package/dist/lib/parallel/app.js +93 -106
- package/dist/lib/parallel/util.d.ts +5 -2
- package/dist/lib/parallel/util.js +56 -63
- package/dist/lib/prerequire.d.ts +1 -1
- package/dist/lib/prerequire.js +1 -25
- package/dist/lib/request_call_function.d.ts +1 -1
- package/dist/lib/request_call_function.js +34 -47
- package/dist/lib/restore.d.ts +4 -1
- package/dist/lib/restore.js +14 -11
- package/dist/lib/start-cluster.d.ts +1 -2
- package/dist/lib/start-cluster.js +15 -14
- package/dist/lib/supertest.d.ts +14 -9
- package/dist/lib/supertest.js +32 -36
- package/dist/lib/tmp/empty.d.ts +1 -1
- package/dist/lib/tmp/empty.js +1 -2
- package/dist/lib/types.d.ts +71 -67
- package/dist/lib/types.js +1 -2
- package/dist/lib/utils.d.ts +11 -8
- package/dist/lib/utils.js +34 -63
- package/dist/register.d.ts +11 -7
- package/dist/register.js +36 -40
- package/dist/typings/index.d.ts +1 -0
- package/package.json +36 -39
package/dist/lib/prerequire.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export {};
|
|
1
|
+
export { };
|
package/dist/lib/prerequire.js
CHANGED
|
@@ -1,25 +1 @@
|
|
|
1
|
-
|
|
2
|
-
// const path = require('path');
|
|
3
|
-
// const { existsSync } = require('fs');
|
|
4
|
-
// const globby = require('globby');
|
|
5
|
-
export {};
|
|
6
|
-
// const cwd = process.cwd();
|
|
7
|
-
// const dirs = [];
|
|
8
|
-
// if (existsSync(path.join(cwd, 'app'))) {
|
|
9
|
-
// dirs.push('app/**/*.js');
|
|
10
|
-
// }
|
|
11
|
-
// // avoid Error: ENOENT: no such file or directory, scandir
|
|
12
|
-
// if (existsSync(path.join(cwd, 'config'))) {
|
|
13
|
-
// dirs.push('config/**/*.js');
|
|
14
|
-
// }
|
|
15
|
-
// const files = globby.sync(dirs, { cwd });
|
|
16
|
-
// for (const file of files) {
|
|
17
|
-
// const filepath = path.join(cwd, file);
|
|
18
|
-
// try {
|
|
19
|
-
// debug('%s prerequire %s', process.pid, filepath);
|
|
20
|
-
// require(filepath);
|
|
21
|
-
// } catch (err) {
|
|
22
|
-
// debug('prerequire error %s', err.message);
|
|
23
|
-
// }
|
|
24
|
-
// }
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlcmVxdWlyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcHJlcmVxdWlyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpRUFBaUU7QUFDakUsZ0NBQWdDO0FBQ2hDLHdDQUF3QztBQUN4QyxvQ0FBb0M7O0FBRXBDLDZCQUE2QjtBQUM3QixtQkFBbUI7QUFDbkIsMkNBQTJDO0FBQzNDLDhCQUE4QjtBQUM5QixJQUFJO0FBQ0osNkRBQTZEO0FBQzdELDhDQUE4QztBQUM5QyxpQ0FBaUM7QUFDakMsSUFBSTtBQUNKLDRDQUE0QztBQUU1Qyw4QkFBOEI7QUFDOUIsMkNBQTJDO0FBQzNDLFVBQVU7QUFDVix3REFBd0Q7QUFDeEQseUJBQXlCO0FBQ3pCLG9CQUFvQjtBQUNwQixpREFBaUQ7QUFDakQsTUFBTTtBQUNOLElBQUkifQ==
|
|
1
|
+
export { };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export {};
|
|
1
|
+
export { };
|
|
@@ -1,50 +1,37 @@
|
|
|
1
|
-
import httpClient from
|
|
1
|
+
import httpClient from "urllib";
|
|
2
|
+
|
|
3
|
+
//#region src/lib/request_call_function.ts
|
|
2
4
|
const { port, method, args, property, needResult } = JSON.parse(process.argv[2]);
|
|
3
5
|
const url = `http://127.0.0.1:${port}/__egg_mock_call_function`;
|
|
4
|
-
httpClient
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
}
|
|
33
|
-
process.exit(0);
|
|
34
|
-
})
|
|
35
|
-
.catch((err) => {
|
|
36
|
-
// ignore ECONNREFUSED error on mockRestore
|
|
37
|
-
if (method === 'mockRestore' && err.message.includes('ECONNREFUSED')) {
|
|
38
|
-
process.exit(0);
|
|
39
|
-
}
|
|
40
|
-
console.error('POST %s error, method: %s, args: %j', url, method, args);
|
|
41
|
-
console.error(err.stack);
|
|
42
|
-
// ignore all error on mockRestore
|
|
43
|
-
if (method === 'mockRestore') {
|
|
44
|
-
process.exit(0);
|
|
45
|
-
}
|
|
46
|
-
else {
|
|
47
|
-
process.exit(1);
|
|
48
|
-
}
|
|
6
|
+
httpClient.request(url, {
|
|
7
|
+
method: "POST",
|
|
8
|
+
data: {
|
|
9
|
+
method,
|
|
10
|
+
args,
|
|
11
|
+
property,
|
|
12
|
+
needResult
|
|
13
|
+
},
|
|
14
|
+
contentType: "json",
|
|
15
|
+
dataType: "json"
|
|
16
|
+
}).then(({ data }) => {
|
|
17
|
+
if (!data.success) {
|
|
18
|
+
if (data.error) console.error(data.error);
|
|
19
|
+
else if (data.message) {
|
|
20
|
+
const err = new Error(data.message);
|
|
21
|
+
err.stack = data.stack;
|
|
22
|
+
console.error(err);
|
|
23
|
+
}
|
|
24
|
+
process.exit(2);
|
|
25
|
+
}
|
|
26
|
+
if (data.result) console.log("%j", data.result);
|
|
27
|
+
process.exit(0);
|
|
28
|
+
}).catch((err) => {
|
|
29
|
+
if (method === "mockRestore" && err.message.includes("ECONNREFUSED")) process.exit(0);
|
|
30
|
+
console.error("POST %s error, method: %s, args: %j", url, method, args);
|
|
31
|
+
console.error(err.stack);
|
|
32
|
+
if (method === "mockRestore") process.exit(0);
|
|
33
|
+
else process.exit(1);
|
|
49
34
|
});
|
|
50
|
-
|
|
35
|
+
|
|
36
|
+
//#endregion
|
|
37
|
+
export { };
|
package/dist/lib/restore.d.ts
CHANGED
package/dist/lib/restore.js
CHANGED
|
@@ -1,13 +1,16 @@
|
|
|
1
|
-
import { debuglog } from 'node:util';
|
|
2
|
-
import { restore as mmRestore } from 'mm';
|
|
3
1
|
import { restoreMockAgent } from "./mock_agent.js";
|
|
4
|
-
import { restore as
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
2
|
+
import { restore as restore$2 } from "./cluster.js";
|
|
3
|
+
import { restore as restore$1 } from "mm";
|
|
4
|
+
import { debuglog } from "node:util";
|
|
5
|
+
|
|
6
|
+
//#region src/lib/restore.ts
|
|
7
|
+
const debug = debuglog("egg/mock/lib/restore");
|
|
8
|
+
async function restore() {
|
|
9
|
+
restore$1();
|
|
10
|
+
await restore$2();
|
|
11
|
+
await restoreMockAgent();
|
|
12
|
+
debug("restore all");
|
|
12
13
|
}
|
|
13
|
-
|
|
14
|
+
|
|
15
|
+
//#endregion
|
|
16
|
+
export { restore };
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export {};
|
|
1
|
+
export { };
|
|
@@ -1,18 +1,19 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import assert from
|
|
3
|
-
import { debuglog } from
|
|
4
|
-
import { importModule } from
|
|
5
|
-
import { isAsyncFunction } from
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
// }
|
|
2
|
+
import assert from "node:assert";
|
|
3
|
+
import { debuglog } from "node:util";
|
|
4
|
+
import { importModule } from "@eggjs/utils";
|
|
5
|
+
import { isAsyncFunction } from "is-type-of";
|
|
6
|
+
|
|
7
|
+
//#region src/lib/start-cluster.ts
|
|
8
|
+
const debug = debuglog("egg/mock/lib/start-cluster");
|
|
10
9
|
async function main() {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
10
|
+
const options = JSON.parse(process.argv[2]);
|
|
11
|
+
debug("startCluster with options: %o", options);
|
|
12
|
+
const { startCluster } = await importModule(options.framework);
|
|
13
|
+
assert(isAsyncFunction(startCluster), `framework(${options.framework}) should export startCluster as an async function`);
|
|
14
|
+
await startCluster(options);
|
|
16
15
|
}
|
|
17
16
|
main();
|
|
18
|
-
|
|
17
|
+
|
|
18
|
+
//#endregion
|
|
19
|
+
export { };
|
package/dist/lib/supertest.d.ts
CHANGED
|
@@ -1,11 +1,16 @@
|
|
|
1
|
-
import { Request, Test } from
|
|
1
|
+
import { Request, Test } from "@eggjs/supertest";
|
|
2
|
+
|
|
3
|
+
//#region src/lib/supertest.d.ts
|
|
4
|
+
|
|
2
5
|
/**
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
* Test against the given `app`,
|
|
7
|
+
* returning a new `Test`.
|
|
8
|
+
*/
|
|
9
|
+
declare class EggTestRequest extends Request {
|
|
10
|
+
#private;
|
|
11
|
+
constructor(app: any);
|
|
12
|
+
protected _testRequest(method: string, url: string): Test;
|
|
10
13
|
}
|
|
11
|
-
|
|
14
|
+
declare function request(app: any): EggTestRequest;
|
|
15
|
+
//#endregion
|
|
16
|
+
export { EggTestRequest, request };
|
package/dist/lib/supertest.js
CHANGED
|
@@ -1,40 +1,36 @@
|
|
|
1
|
-
import path from 'node:path';
|
|
2
|
-
import { readJSONSync } from 'utility';
|
|
3
|
-
import { Request, Test } from '@eggjs/supertest';
|
|
4
1
|
import { createServer } from "./mock_http_server.js";
|
|
5
2
|
import { getSourceDirname } from "./utils.js";
|
|
6
|
-
|
|
7
|
-
|
|
3
|
+
import path from "node:path";
|
|
4
|
+
import { readJSONSync } from "utility";
|
|
5
|
+
import { Request, Test } from "@eggjs/supertest";
|
|
6
|
+
|
|
7
|
+
//#region src/lib/supertest.ts
|
|
8
|
+
let pkgVersion = "";
|
|
8
9
|
/**
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
}
|
|
33
|
-
test.set('User-Agent', `@eggjs/mock/${pkgVersion} Node.js/${process.version}`);
|
|
34
|
-
return test;
|
|
35
|
-
}
|
|
10
|
+
* Test against the given `app`,
|
|
11
|
+
* returning a new `Test`.
|
|
12
|
+
*/
|
|
13
|
+
var EggTestRequest = class extends Request {
|
|
14
|
+
#app;
|
|
15
|
+
constructor(app) {
|
|
16
|
+
super(createServer(app));
|
|
17
|
+
this.#app = app;
|
|
18
|
+
}
|
|
19
|
+
_testRequest(method, url) {
|
|
20
|
+
if (url[0] !== "/") {
|
|
21
|
+
const realUrl = this.#app.router.pathFor(url);
|
|
22
|
+
if (!realUrl) throw new Error(`Can't find router:${url}, please check your 'app/router.js'`);
|
|
23
|
+
url = realUrl;
|
|
24
|
+
}
|
|
25
|
+
const test = super._testRequest(method, url);
|
|
26
|
+
if (!pkgVersion) pkgVersion = readJSONSync(path.join(getSourceDirname(), "../package.json")).version;
|
|
27
|
+
test.set("User-Agent", `@eggjs/mock/${pkgVersion} Node.js/${process.version}`);
|
|
28
|
+
return test;
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
function request(app) {
|
|
32
|
+
return new EggTestRequest(app);
|
|
36
33
|
}
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
}
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VwZXJ0ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9zdXBlcnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxJQUFJLE1BQU0sV0FBVyxDQUFDO0FBRTdCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDdkMsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRTlDLGlIQUFpSDtBQUVqSCxJQUFJLFVBQVUsR0FBRyxFQUFFLENBQUM7QUFFcEI7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLGNBQWUsU0FBUSxPQUFPO0lBQ3pDLElBQUksQ0FBTTtJQUVWLFlBQVksR0FBUTtRQUNsQixLQUFLLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUM7SUFDbEIsQ0FBQztJQUVTLFlBQVksQ0FBQyxNQUFjLEVBQUUsR0FBVztRQUNoRCx1QkFBdUI7UUFDdkIsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7WUFDbkIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzlDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDYixNQUFNLElBQUksS0FBSyxDQUFDLHFCQUFxQixHQUFHLHFDQUFxQyxDQUFDLENBQUM7WUFDakYsQ0FBQztZQUNELEdBQUcsR0FBRyxPQUFPLENBQUM7UUFDaEIsQ0FBQztRQUNELE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQzdDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNoQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztZQUNqRSxNQUFNLEdBQUcsR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDbEMsVUFBVSxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUM7UUFDM0IsQ0FBQztRQUNELElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLGVBQWUsVUFBVSxZQUFZLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQy9FLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztDQUNGO0FBRUQsTUFBTSxVQUFVLE9BQU8sQ0FBQyxHQUFRO0lBQzlCLE9BQU8sSUFBSSxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDakMsQ0FBQyJ9
|
|
34
|
+
|
|
35
|
+
//#endregion
|
|
36
|
+
export { EggTestRequest, request };
|
package/dist/lib/tmp/empty.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export {};
|
|
1
|
+
export { };
|
package/dist/lib/tmp/empty.js
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1wdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3RtcC9lbXB0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
|
|
1
|
+
export { };
|
package/dist/lib/types.d.ts
CHANGED
|
@@ -1,72 +1,76 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
1
|
+
import { MockHttpClientMethod, MockResponseCallbackOptions, MockResultFunction, MockResultOptions, ResultObject } from "./mock_httpclient.js";
|
|
2
|
+
import { MockAgent } from "urllib";
|
|
3
|
+
|
|
4
|
+
//#region src/lib/types.d.ts
|
|
5
|
+
interface MockOptions {
|
|
6
|
+
/**
|
|
7
|
+
* The mode of the application
|
|
8
|
+
*/
|
|
9
|
+
mode?: "cluster" | "single";
|
|
10
|
+
/**
|
|
11
|
+
* The directory of the application
|
|
12
|
+
*/
|
|
13
|
+
baseDir?: string;
|
|
14
|
+
/**
|
|
15
|
+
* Custom you plugins
|
|
16
|
+
*/
|
|
17
|
+
plugins?: any;
|
|
18
|
+
/**
|
|
19
|
+
* The directory of the egg framework
|
|
20
|
+
*
|
|
21
|
+
* Set to `true` to use the current directory as framework directory
|
|
22
|
+
*/
|
|
23
|
+
framework?: string | boolean;
|
|
24
|
+
/**
|
|
25
|
+
* current test on plugin
|
|
26
|
+
*/
|
|
27
|
+
plugin?: boolean;
|
|
28
|
+
/**
|
|
29
|
+
* @deprecated please use `framework` instead
|
|
30
|
+
*/
|
|
31
|
+
customEgg?: string | boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Cache application based on baseDir
|
|
34
|
+
*/
|
|
35
|
+
cache?: boolean;
|
|
36
|
+
/**
|
|
37
|
+
* Switch on process coverage, but it'll be slower
|
|
38
|
+
*/
|
|
39
|
+
coverage?: boolean;
|
|
40
|
+
/**
|
|
41
|
+
* Remove $baseDir/logs and $baseDir/run before start, default is `true`
|
|
42
|
+
*/
|
|
43
|
+
clean?: boolean;
|
|
44
|
+
/**
|
|
45
|
+
* default options.mockCtxStorage value on each mockContext
|
|
46
|
+
*/
|
|
47
|
+
mockCtxStorage?: boolean;
|
|
48
|
+
beforeInit?: (app: any) => Promise<void>;
|
|
45
49
|
}
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
50
|
+
interface MockClusterOptions extends MockOptions {
|
|
51
|
+
workers?: number | string;
|
|
52
|
+
cache?: boolean;
|
|
53
|
+
port?: number;
|
|
54
|
+
/**
|
|
55
|
+
* opt pass to coffee, such as { execArgv: ['--debug'] }
|
|
56
|
+
*/
|
|
57
|
+
opt?: object;
|
|
58
|
+
startMode?: "process" | "worker_threads";
|
|
55
59
|
}
|
|
56
60
|
/**
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
61
|
+
* @deprecated please use MockOptions instead
|
|
62
|
+
* keep this for compatible
|
|
63
|
+
*/
|
|
64
|
+
type MockOption = MockOptions;
|
|
65
|
+
interface MockApplicationOptions extends MockOptions {
|
|
66
|
+
baseDir: string;
|
|
67
|
+
framework: string;
|
|
68
|
+
clusterPort?: number;
|
|
65
69
|
}
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
+
interface MockClusterApplicationOptions extends MockClusterOptions {
|
|
71
|
+
baseDir: string;
|
|
72
|
+
framework: string;
|
|
73
|
+
port: number;
|
|
70
74
|
}
|
|
71
|
-
|
|
72
|
-
export type
|
|
75
|
+
//#endregion
|
|
76
|
+
export { type MockAgent, MockApplicationOptions, MockClusterApplicationOptions, MockClusterOptions, type MockHttpClientMethod, MockOption, MockOptions, type MockResponseCallbackOptions, type MockResultFunction, type MockResultOptions, type ResultObject };
|
package/dist/lib/types.js
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
|
|
1
|
+
export { };
|
package/dist/lib/utils.d.ts
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
//#region src/lib/utils.d.ts
|
|
2
|
+
declare function getSourceDirname(): string;
|
|
3
|
+
declare function sleep(delay: number): Promise<void>;
|
|
4
|
+
declare function rimraf(filepath: string): Promise<void>;
|
|
5
|
+
declare function rimrafSync(filepath: string): void;
|
|
6
|
+
declare function getProperty(target: any, prop: PropertyKey): any;
|
|
7
|
+
declare function getEggOptions(): {
|
|
8
|
+
baseDir: string;
|
|
9
|
+
framework?: string;
|
|
9
10
|
};
|
|
11
|
+
//#endregion
|
|
12
|
+
export { getEggOptions, getProperty, getSourceDirname, rimraf, rimrafSync, sleep };
|
package/dist/lib/utils.js
CHANGED
|
@@ -1,69 +1,40 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { rmSync } from
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
// @ts-ignore
|
|
12
|
-
return path.dirname(path.dirname(fileURLToPath(import.meta.url)));
|
|
1
|
+
import path from "node:path";
|
|
2
|
+
import { rmSync } from "node:fs";
|
|
3
|
+
import { rm } from "node:fs/promises";
|
|
4
|
+
import { scheduler } from "node:timers/promises";
|
|
5
|
+
import { fileURLToPath } from "node:url";
|
|
6
|
+
|
|
7
|
+
//#region src/lib/utils.ts
|
|
8
|
+
function getSourceDirname() {
|
|
9
|
+
if (typeof __dirname !== "undefined") return path.dirname(__dirname);
|
|
10
|
+
return path.dirname(path.dirname(fileURLToPath(import.meta.url)));
|
|
13
11
|
}
|
|
14
|
-
|
|
15
|
-
|
|
12
|
+
async function sleep(delay) {
|
|
13
|
+
await scheduler.wait(delay);
|
|
16
14
|
}
|
|
17
|
-
|
|
18
|
-
|
|
15
|
+
async function rimraf(filepath) {
|
|
16
|
+
await rm(filepath, {
|
|
17
|
+
force: true,
|
|
18
|
+
recursive: true
|
|
19
|
+
});
|
|
19
20
|
}
|
|
20
|
-
|
|
21
|
-
|
|
21
|
+
function rimrafSync(filepath) {
|
|
22
|
+
rmSync(filepath, {
|
|
23
|
+
force: true,
|
|
24
|
+
recursive: true
|
|
25
|
+
});
|
|
22
26
|
}
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
}
|
|
28
|
-
return member;
|
|
27
|
+
function getProperty(target, prop) {
|
|
28
|
+
const member = target[prop];
|
|
29
|
+
if (typeof member === "function") return member.bind(target);
|
|
30
|
+
return member;
|
|
29
31
|
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
return options;
|
|
32
|
+
function getEggOptions() {
|
|
33
|
+
return {
|
|
34
|
+
baseDir: process.env.EGG_BASE_DIR ?? process.cwd(),
|
|
35
|
+
framework: process.env.EGG_FRAMEWORK
|
|
36
|
+
};
|
|
36
37
|
}
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
// *
|
|
41
|
-
// * @param {object} dest Object to add descriptors to
|
|
42
|
-
// * @param {object} src Object to clone descriptors from
|
|
43
|
-
// * @param {boolean} [redefine=true] Redefine `dest` properties with `src` properties
|
|
44
|
-
// * @return {object} Reference to dest
|
|
45
|
-
// * @public
|
|
46
|
-
// */
|
|
47
|
-
// function merge(dest, src, redefine) {
|
|
48
|
-
// if (!dest) {
|
|
49
|
-
// throw new TypeError('argument dest is required');
|
|
50
|
-
// }
|
|
51
|
-
// if (!src) {
|
|
52
|
-
// throw new TypeError('argument src is required');
|
|
53
|
-
// }
|
|
54
|
-
// if (redefine === undefined) {
|
|
55
|
-
// // Default to true
|
|
56
|
-
// redefine = true;
|
|
57
|
-
// }
|
|
58
|
-
// Object.getOwnPropertyNames(src).forEach(function forEachOwnPropertyName(name) {
|
|
59
|
-
// if (!redefine && hasOwnProperty.call(dest, name)) {
|
|
60
|
-
// // Skip descriptor
|
|
61
|
-
// return;
|
|
62
|
-
// }
|
|
63
|
-
// // Copy descriptor
|
|
64
|
-
// const descriptor = Object.getOwnPropertyDescriptor(src, name);
|
|
65
|
-
// Object.defineProperty(dest, name, descriptor);
|
|
66
|
-
// });
|
|
67
|
-
// return dest;
|
|
68
|
-
// }
|
|
69
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN0QyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ2pDLE9BQU8sSUFBSSxNQUFNLFdBQVcsQ0FBQztBQUM3QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVqRCxNQUFNLFVBQVUsZ0JBQWdCO0lBQzlCLElBQUksT0FBTyxTQUFTLEtBQUssV0FBVyxFQUFFLENBQUM7UUFDckMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFDRCw2REFBNkQ7SUFDN0QsYUFBYTtJQUNiLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNwRSxDQUFDO0FBRUQsTUFBTSxDQUFDLEtBQUssVUFBVSxLQUFLLENBQUMsS0FBYTtJQUN2QyxNQUFNLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDOUIsQ0FBQztBQUVELE1BQU0sQ0FBQyxLQUFLLFVBQVUsTUFBTSxDQUFDLFFBQWdCO0lBQzNDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7QUFDdkQsQ0FBQztBQUVELE1BQU0sVUFBVSxVQUFVLENBQUMsUUFBZ0I7SUFDekMsTUFBTSxDQUFDLFFBQVEsRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7QUFDckQsQ0FBQztBQUVELE1BQU0sVUFBVSxXQUFXLENBQUMsTUFBVyxFQUFFLElBQWlCO0lBQ3hELE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1QixJQUFJLE9BQU8sTUFBTSxLQUFLLFVBQVUsRUFBRSxDQUFDO1FBQ2pDLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBQ0QsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQztBQUVELE1BQU0sVUFBVSxhQUFhO0lBQzNCLE1BQU0sT0FBTyxHQUFHO1FBQ2QsT0FBTyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUU7UUFDbEQsU0FBUyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsYUFBYTtLQUNyQyxDQUFDO0lBQ0YsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQztBQUVELDBEQUEwRDtBQUUxRCxNQUFNO0FBQ04seURBQXlEO0FBQ3pELEtBQUs7QUFDTCx1REFBdUQ7QUFDdkQsMERBQTBEO0FBQzFELHVGQUF1RjtBQUN2Rix3Q0FBd0M7QUFDeEMsYUFBYTtBQUNiLE1BQU07QUFFTix3Q0FBd0M7QUFDeEMsaUJBQWlCO0FBQ2pCLHdEQUF3RDtBQUN4RCxNQUFNO0FBRU4sZ0JBQWdCO0FBQ2hCLHVEQUF1RDtBQUN2RCxNQUFNO0FBRU4sa0NBQWtDO0FBQ2xDLHlCQUF5QjtBQUN6Qix1QkFBdUI7QUFDdkIsTUFBTTtBQUVOLG9GQUFvRjtBQUNwRiwwREFBMEQ7QUFDMUQsMkJBQTJCO0FBQzNCLGdCQUFnQjtBQUNoQixRQUFRO0FBRVIseUJBQXlCO0FBQ3pCLHFFQUFxRTtBQUNyRSxxREFBcUQ7QUFDckQsUUFBUTtBQUVSLGlCQUFpQjtBQUNqQixJQUFJIn0=
|
|
38
|
+
|
|
39
|
+
//#endregion
|
|
40
|
+
export { getEggOptions, getProperty, getSourceDirname, rimraf, rimrafSync, sleep };
|
package/dist/register.d.ts
CHANGED
|
@@ -1,8 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
import "./inject_mocha.js";
|
|
2
|
+
|
|
3
|
+
//#region src/register.d.ts
|
|
4
|
+
declare function mochaGlobalSetup(): Promise<void>;
|
|
5
|
+
declare function mochaGlobalTeardown(): Promise<void>;
|
|
6
|
+
declare const mochaHooks: {
|
|
7
|
+
beforeAll: () => Promise<void>;
|
|
8
|
+
afterEach: () => Promise<void>;
|
|
9
|
+
afterAll: () => Promise<void>;
|
|
7
10
|
};
|
|
8
|
-
|
|
11
|
+
//#endregion
|
|
12
|
+
export { mochaGlobalSetup, mochaGlobalTeardown, mochaHooks };
|