@eggjs/mock 6.0.0-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +547 -0
- package/README.zh_CN.md +512 -0
- package/dist/commonjs/app/extend/agent.d.ts +33 -0
- package/dist/commonjs/app/extend/agent.js +49 -0
- package/dist/commonjs/app/extend/application.d.ts +175 -0
- package/dist/commonjs/app/extend/application.js +448 -0
- package/dist/commonjs/app/middleware/cluster_app_mock.d.ts +3 -0
- package/dist/commonjs/app/middleware/cluster_app_mock.js +100 -0
- package/dist/commonjs/app.d.ts +6 -0
- package/dist/commonjs/app.js +20 -0
- package/dist/commonjs/bootstrap.d.ts +4 -0
- package/dist/commonjs/bootstrap.js +58 -0
- package/dist/commonjs/index.d.ts +76 -0
- package/dist/commonjs/index.js +99 -0
- package/dist/commonjs/index.test-d.d.ts +1 -0
- package/dist/commonjs/index.test-d.js +43 -0
- package/dist/commonjs/lib/agent_handler.d.ts +3 -0
- package/dist/commonjs/lib/agent_handler.js +28 -0
- package/dist/commonjs/lib/app.d.ts +28 -0
- package/dist/commonjs/lib/app.js +303 -0
- package/dist/commonjs/lib/app_handler.d.ts +5 -0
- package/dist/commonjs/lib/app_handler.js +67 -0
- package/dist/commonjs/lib/cluster.d.ts +114 -0
- package/dist/commonjs/lib/cluster.js +337 -0
- package/dist/commonjs/lib/context.d.ts +1 -0
- package/dist/commonjs/lib/context.js +16 -0
- package/dist/commonjs/lib/format_options.d.ts +5 -0
- package/dist/commonjs/lib/format_options.js +100 -0
- package/dist/commonjs/lib/inject_context.d.ts +6 -0
- package/dist/commonjs/lib/inject_context.js +132 -0
- package/dist/commonjs/lib/mock_agent.d.ts +5 -0
- package/dist/commonjs/lib/mock_agent.js +49 -0
- package/dist/commonjs/lib/mock_custom_loader.d.ts +1 -0
- package/dist/commonjs/lib/mock_custom_loader.js +37 -0
- package/dist/commonjs/lib/mock_http_server.d.ts +2 -0
- package/dist/commonjs/lib/mock_http_server.js +24 -0
- package/dist/commonjs/lib/mock_httpclient.d.ts +35 -0
- package/dist/commonjs/lib/mock_httpclient.js +147 -0
- package/dist/commonjs/lib/parallel/agent.d.ts +20 -0
- package/dist/commonjs/lib/parallel/agent.js +125 -0
- package/dist/commonjs/lib/parallel/app.d.ts +20 -0
- package/dist/commonjs/lib/parallel/app.js +115 -0
- package/dist/commonjs/lib/parallel/util.d.ts +3 -0
- package/dist/commonjs/lib/parallel/util.js +77 -0
- package/dist/commonjs/lib/prerequire.d.ts +1 -0
- package/dist/commonjs/lib/prerequire.js +26 -0
- package/dist/commonjs/lib/request_call_function.d.ts +1 -0
- package/dist/commonjs/lib/request_call_function.js +52 -0
- package/dist/commonjs/lib/restore.d.ts +1 -0
- package/dist/commonjs/lib/restore.js +16 -0
- package/dist/commonjs/lib/start-cluster.d.ts +2 -0
- package/dist/commonjs/lib/start-cluster.js +23 -0
- package/dist/commonjs/lib/supertest.d.ts +11 -0
- package/dist/commonjs/lib/supertest.js +48 -0
- package/dist/commonjs/lib/tmp/empty.d.ts +1 -0
- package/dist/commonjs/lib/tmp/empty.js +3 -0
- package/dist/commonjs/lib/types.d.ts +60 -0
- package/dist/commonjs/lib/types.js +3 -0
- package/dist/commonjs/lib/utils.d.ts +9 -0
- package/dist/commonjs/lib/utils.js +80 -0
- package/dist/commonjs/package.json +3 -0
- package/dist/commonjs/register.d.ts +8 -0
- package/dist/commonjs/register.js +80 -0
- package/dist/esm/app/extend/agent.d.ts +33 -0
- package/dist/esm/app/extend/agent.js +46 -0
- package/dist/esm/app/extend/application.d.ts +175 -0
- package/dist/esm/app/extend/application.js +442 -0
- package/dist/esm/app/middleware/cluster_app_mock.d.ts +3 -0
- package/dist/esm/app/middleware/cluster_app_mock.js +98 -0
- package/dist/esm/app.d.ts +6 -0
- package/dist/esm/app.js +17 -0
- package/dist/esm/bootstrap.d.ts +4 -0
- package/dist/esm/bootstrap.js +16 -0
- package/dist/esm/index.d.ts +76 -0
- package/dist/esm/index.js +90 -0
- package/dist/esm/index.test-d.d.ts +1 -0
- package/dist/esm/index.test-d.js +42 -0
- package/dist/esm/lib/agent_handler.d.ts +3 -0
- package/dist/esm/lib/agent_handler.js +24 -0
- package/dist/esm/lib/app.d.ts +28 -0
- package/dist/esm/lib/app.js +295 -0
- package/dist/esm/lib/app_handler.d.ts +5 -0
- package/dist/esm/lib/app_handler.js +61 -0
- package/dist/esm/lib/cluster.d.ts +114 -0
- package/dist/esm/lib/cluster.js +328 -0
- package/dist/esm/lib/context.d.ts +1 -0
- package/dist/esm/lib/context.js +13 -0
- package/dist/esm/lib/format_options.d.ts +5 -0
- package/dist/esm/lib/format_options.js +94 -0
- package/dist/esm/lib/inject_context.d.ts +6 -0
- package/dist/esm/lib/inject_context.js +126 -0
- package/dist/esm/lib/mock_agent.d.ts +5 -0
- package/dist/esm/lib/mock_agent.js +45 -0
- package/dist/esm/lib/mock_custom_loader.d.ts +1 -0
- package/dist/esm/lib/mock_custom_loader.js +34 -0
- package/dist/esm/lib/mock_http_server.d.ts +2 -0
- package/dist/esm/lib/mock_http_server.js +18 -0
- package/dist/esm/lib/mock_httpclient.d.ts +35 -0
- package/dist/esm/lib/mock_httpclient.js +144 -0
- package/dist/esm/lib/parallel/agent.d.ts +20 -0
- package/dist/esm/lib/parallel/agent.js +117 -0
- package/dist/esm/lib/parallel/app.d.ts +20 -0
- package/dist/esm/lib/parallel/app.js +110 -0
- package/dist/esm/lib/parallel/util.d.ts +3 -0
- package/dist/esm/lib/parallel/util.js +73 -0
- package/dist/esm/lib/prerequire.d.ts +1 -0
- package/dist/esm/lib/prerequire.js +25 -0
- package/dist/esm/lib/request_call_function.d.ts +1 -0
- package/dist/esm/lib/request_call_function.js +47 -0
- package/dist/esm/lib/restore.d.ts +1 -0
- package/dist/esm/lib/restore.js +13 -0
- package/dist/esm/lib/start-cluster.d.ts +2 -0
- package/dist/esm/lib/start-cluster.js +18 -0
- package/dist/esm/lib/supertest.d.ts +11 -0
- package/dist/esm/lib/supertest.js +40 -0
- package/dist/esm/lib/tmp/empty.d.ts +1 -0
- package/dist/esm/lib/tmp/empty.js +2 -0
- package/dist/esm/lib/types.d.ts +60 -0
- package/dist/esm/lib/types.js +2 -0
- package/dist/esm/lib/utils.d.ts +9 -0
- package/dist/esm/lib/utils.js +69 -0
- package/dist/esm/package.json +3 -0
- package/dist/esm/register.d.ts +8 -0
- package/dist/esm/register.js +75 -0
- package/dist/package.json +4 -0
- package/package.json +131 -0
- package/src/app/extend/agent.ts +56 -0
- package/src/app/extend/application.ts +512 -0
- package/src/app/middleware/cluster_app_mock.ts +101 -0
- package/src/app.ts +18 -0
- package/src/bootstrap.ts +25 -0
- package/src/index.d.ts +193 -0
- package/src/index.test-d.ts +47 -0
- package/src/index.ts +110 -0
- package/src/lib/agent_handler.ts +28 -0
- package/src/lib/app.ts +313 -0
- package/src/lib/app_handler.ts +69 -0
- package/src/lib/cluster.ts +363 -0
- package/src/lib/context.ts +14 -0
- package/src/lib/format_options.ts +103 -0
- package/src/lib/inject_context.ts +134 -0
- package/src/lib/mock_agent.ts +57 -0
- package/src/lib/mock_custom_loader.ts +36 -0
- package/src/lib/mock_http_server.ts +19 -0
- package/src/lib/mock_httpclient.ts +181 -0
- package/src/lib/parallel/agent.ts +128 -0
- package/src/lib/parallel/app.ts +123 -0
- package/src/lib/parallel/util.ts +66 -0
- package/src/lib/prerequire.ts +25 -0
- package/src/lib/request_call_function.ts +49 -0
- package/src/lib/restore.ts +14 -0
- package/src/lib/start-cluster.ts +23 -0
- package/src/lib/supertest.ts +45 -0
- package/src/lib/tmp/.gitkeep +0 -0
- package/src/lib/tmp/empty.ts +0 -0
- package/src/lib/types.ts +72 -0
- package/src/lib/utils.ts +82 -0
- package/src/register.ts +80 -0
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const node_util_1 = require("node:util");
|
|
4
|
+
const debug = (0, node_util_1.debuglog)('@eggjs/mock/app/middleware/cluster_app_mock');
|
|
5
|
+
exports.default = () => {
|
|
6
|
+
return async function clusterAppMock(ctx, next) {
|
|
7
|
+
// use originalUrl to make sure other middlewares can't change request url
|
|
8
|
+
if (ctx.originalUrl !== '/__egg_mock_call_function') {
|
|
9
|
+
return next();
|
|
10
|
+
}
|
|
11
|
+
debug('%s %s, body: %j', ctx.method, ctx.url, ctx.request.body);
|
|
12
|
+
const { method, property, args, needResult } = ctx.request.body;
|
|
13
|
+
if (!method) {
|
|
14
|
+
ctx.status = 422;
|
|
15
|
+
ctx.body = {
|
|
16
|
+
success: false,
|
|
17
|
+
error: 'Missing method',
|
|
18
|
+
};
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
if (args && !Array.isArray(args)) {
|
|
22
|
+
ctx.status = 422;
|
|
23
|
+
ctx.body = {
|
|
24
|
+
success: false,
|
|
25
|
+
error: 'args should be an Array instance',
|
|
26
|
+
};
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
if (property) {
|
|
30
|
+
// method: '__getter__' and property: 'config'
|
|
31
|
+
if (method === '__getter__') {
|
|
32
|
+
if (!ctx.app[property]) {
|
|
33
|
+
debug('property %s not exists on app', property);
|
|
34
|
+
ctx.status = 422;
|
|
35
|
+
ctx.body = {
|
|
36
|
+
success: false,
|
|
37
|
+
error: `property "${property}" not exists on app`,
|
|
38
|
+
};
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
ctx.body = { success: true, result: ctx.app[property] };
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
if (!ctx.app[property] || typeof ctx.app[property][method] !== 'function') {
|
|
45
|
+
debug('property %s.%s not exists on app', property, method);
|
|
46
|
+
ctx.status = 422;
|
|
47
|
+
ctx.body = {
|
|
48
|
+
success: false,
|
|
49
|
+
error: `method "${method}" not exists on app.${property}`,
|
|
50
|
+
};
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
if (typeof ctx.app[method] !== 'function') {
|
|
56
|
+
debug('method %s not exists on app', method);
|
|
57
|
+
ctx.status = 422;
|
|
58
|
+
ctx.body = {
|
|
59
|
+
success: false,
|
|
60
|
+
error: `method "${method}" not exists on app`,
|
|
61
|
+
};
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
debug('call %s with %j', method, args);
|
|
66
|
+
for (let i = 0; i < args.length; i++) {
|
|
67
|
+
const arg = args[i];
|
|
68
|
+
if (arg && typeof arg === 'object') {
|
|
69
|
+
// convert __egg_mock_type back to function
|
|
70
|
+
if (arg.__egg_mock_type === 'function') {
|
|
71
|
+
// eslint-disable-next-line
|
|
72
|
+
args[i] = eval(`(function() { return ${arg.value} })()`);
|
|
73
|
+
}
|
|
74
|
+
else if (arg.__egg_mock_type === 'error') {
|
|
75
|
+
const err = new Error(arg.message);
|
|
76
|
+
err.name = arg.name;
|
|
77
|
+
err.stack = arg.stack;
|
|
78
|
+
for (const key in arg) {
|
|
79
|
+
if (key !== 'name' && key !== 'message' && key !== 'stack' && key !== '__egg_mock_type') {
|
|
80
|
+
err[key] = arg[key];
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
args[i] = err;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
const target = property ? ctx.app[property] : ctx.app;
|
|
88
|
+
const fn = target[method];
|
|
89
|
+
try {
|
|
90
|
+
Promise.resolve(fn.call(target, ...args)).then(result => {
|
|
91
|
+
ctx.body = needResult ? { success: true, result } : { success: true };
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
catch (err) {
|
|
95
|
+
ctx.status = 500;
|
|
96
|
+
ctx.body = { success: false, error: err.message };
|
|
97
|
+
}
|
|
98
|
+
};
|
|
99
|
+
};
|
|
100
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2x1c3Rlcl9hcHBfbW9jay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcHAvbWlkZGxld2FyZS9jbHVzdGVyX2FwcF9tb2NrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEseUNBQXFDO0FBR3JDLE1BQU0sS0FBSyxHQUFHLElBQUEsb0JBQVEsRUFBQyw2Q0FBNkMsQ0FBQyxDQUFDO0FBRXRFLGtCQUFlLEdBQUcsRUFBRTtJQUNsQixPQUFPLEtBQUssVUFBVSxjQUFjLENBQUMsR0FBc0IsRUFBRSxJQUFVO1FBQ3JFLDBFQUEwRTtRQUMxRSxJQUFJLEdBQUcsQ0FBQyxXQUFXLEtBQUssMkJBQTJCLEVBQUUsQ0FBQztZQUNwRCxPQUFPLElBQUksRUFBRSxDQUFDO1FBQ2hCLENBQUM7UUFDRCxLQUFLLENBQUMsaUJBQWlCLEVBQUUsR0FBRyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEUsTUFBTSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO1FBQ2hFLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNaLEdBQUcsQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDO1lBQ2pCLEdBQUcsQ0FBQyxJQUFJLEdBQUc7Z0JBQ1QsT0FBTyxFQUFFLEtBQUs7Z0JBQ2QsS0FBSyxFQUFFLGdCQUFnQjthQUN4QixDQUFDO1lBQ0YsT0FBTztRQUNULENBQUM7UUFDRCxJQUFJLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNqQyxHQUFHLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQztZQUNqQixHQUFHLENBQUMsSUFBSSxHQUFHO2dCQUNULE9BQU8sRUFBRSxLQUFLO2dCQUNkLEtBQUss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
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
class Boot {
|
|
4
|
+
#app;
|
|
5
|
+
constructor(app) {
|
|
6
|
+
this.#app = app;
|
|
7
|
+
}
|
|
8
|
+
configWillLoad() {
|
|
9
|
+
// make sure clusterAppMock position before securities
|
|
10
|
+
const index = this.#app.config.coreMiddleware.indexOf('securities');
|
|
11
|
+
if (index >= 0) {
|
|
12
|
+
this.#app.config.coreMiddleware.splice(index, 0, 'clusterAppMock');
|
|
13
|
+
}
|
|
14
|
+
else {
|
|
15
|
+
this.#app.config.coreMiddleware.push('clusterAppMock');
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
exports.default = Boot;
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FwcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUVBLE1BQXFCLElBQUk7SUFDdkIsSUFBSSxDQUFVO0lBQ2QsWUFBWSxHQUFZO1FBQ3RCLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDO0lBQ2xCLENBQUM7SUFFRCxjQUFjO1FBQ1osc0RBQXNEO1FBQ3RELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDcEUsSUFBSSxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDZixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUNyRSxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUN6RCxDQUFDO0lBQ0gsQ0FBQztDQUNGO0FBZkQsdUJBZUMifQ==
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.mock = exports.mm = exports.app = exports.assert = void 0;
|
|
40
|
+
const node_assert_1 = require("node:assert");
|
|
41
|
+
Object.defineProperty(exports, "assert", { enumerable: true, get: function () { return node_assert_1.strict; } });
|
|
42
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
43
|
+
const utility_1 = require("utility");
|
|
44
|
+
const index_js_1 = __importStar(require("./index.js"));
|
|
45
|
+
exports.mm = index_js_1.default;
|
|
46
|
+
Object.defineProperty(exports, "mock", { enumerable: true, get: function () { return index_js_1.mock; } });
|
|
47
|
+
const app_handler_js_1 = require("./lib/app_handler.js");
|
|
48
|
+
const utils_js_1 = require("./lib/utils.js");
|
|
49
|
+
const options = (0, utils_js_1.getEggOptions)();
|
|
50
|
+
// throw error when an egg plugin test is using bootstrap
|
|
51
|
+
const pkgInfo = (0, utility_1.readJSONSync)(node_path_1.default.join(options.baseDir || process.cwd(), 'package.json'));
|
|
52
|
+
if (pkgInfo.eggPlugin) {
|
|
53
|
+
throw new Error('DO NOT USE bootstrap to test plugin');
|
|
54
|
+
}
|
|
55
|
+
(0, app_handler_js_1.setupApp)();
|
|
56
|
+
const app = (0, app_handler_js_1.getBootstrapApp)();
|
|
57
|
+
exports.app = app;
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vdHN0cmFwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Jvb3RzdHJhcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw2Q0FBK0M7QUFvQjdDLHVGQXBCaUIsb0JBQU0sT0FvQmpCO0FBbkJSLDBEQUE2QjtBQUM3QixxQ0FBdUM7QUFDdkMsdURBQXNDO0FBbUJwQyxhQW5CSyxrQkFBRSxDQW1CTDtBQUNGLHFGQXBCVyxlQUFJLE9Bb0JYO0FBbkJOLHlEQUFpRTtBQUNqRSw2Q0FBK0M7QUFFL0MsTUFBTSxPQUFPLEdBQUcsSUFBQSx3QkFBYSxHQUFFLENBQUM7QUFFaEMseURBQXlEO0FBQ3pELE1BQU0sT0FBTyxHQUFHLElBQUEsc0JBQVksRUFBQyxtQkFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxjQUFjLENBQUMsQ0FBQyxDQUFDO0FBQzFGLElBQUksT0FBTyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3RCLE1BQU0sSUFBSSxLQUFLLENBQUMscUNBQXFDLENBQUMsQ0FBQztBQUN6RCxDQUFDO0FBRUQsSUFBQSx5QkFBUSxHQUFFLENBQUM7QUFFWCxNQUFNLEdBQUcsR0FBRyxJQUFBLGdDQUFlLEdBQUUsQ0FBQztBQUk1QixrQkFBRyJ9
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { mock as _mock } from 'mm';
|
|
2
|
+
import { createCluster } from './lib/cluster.js';
|
|
3
|
+
import { createApp } from './lib/app.js';
|
|
4
|
+
import { restore } from './lib/restore.js';
|
|
5
|
+
import { setGetAppCallback } from './lib/app_handler.js';
|
|
6
|
+
import ApplicationUnittest from './app/extend/application.js';
|
|
7
|
+
declare const mock: {
|
|
8
|
+
restore: typeof restore;
|
|
9
|
+
/**
|
|
10
|
+
* Create a egg mocked application
|
|
11
|
+
* @function mm#app
|
|
12
|
+
* @param {Object} [options]
|
|
13
|
+
* - {String} baseDir - The directory of the application
|
|
14
|
+
* - {Object} plugins - Custom you plugins
|
|
15
|
+
* - {String} framework - The directory of the egg framework
|
|
16
|
+
* - {Boolean} [true] cache - Cache application based on baseDir
|
|
17
|
+
* - {Boolean} [true] coverage - Switch on process coverage, but it'll be slower
|
|
18
|
+
* - {Boolean} [true] clean - Remove $baseDir/logs
|
|
19
|
+
* @return {App} return {@link Application}
|
|
20
|
+
* @example
|
|
21
|
+
* ```js
|
|
22
|
+
* const app = mm.app();
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
app: typeof createApp;
|
|
26
|
+
/**
|
|
27
|
+
* Create a egg mocked cluster application
|
|
28
|
+
* @function mm#cluster
|
|
29
|
+
* @see ClusterApplication
|
|
30
|
+
*/
|
|
31
|
+
cluster: typeof createCluster;
|
|
32
|
+
/**
|
|
33
|
+
* mock the serverEnv of Egg
|
|
34
|
+
* @member {Function} mm#env
|
|
35
|
+
* @param {String} env - contain default, test, prod, local, unittest
|
|
36
|
+
* @see https://github.com/eggjs/egg-core/blob/master/lib/loader/egg_loader.js#L78
|
|
37
|
+
*/
|
|
38
|
+
env(env: string): void;
|
|
39
|
+
/**
|
|
40
|
+
* mock console level
|
|
41
|
+
* @param {String} level - logger level
|
|
42
|
+
*/
|
|
43
|
+
consoleLevel(level: string): void;
|
|
44
|
+
home(homePath?: string): void;
|
|
45
|
+
setGetAppCallback: typeof setGetAppCallback;
|
|
46
|
+
isMocked: typeof import("mm").isMocked;
|
|
47
|
+
mock: typeof _mock;
|
|
48
|
+
mm: typeof _mock;
|
|
49
|
+
datas: typeof import("mm").datas;
|
|
50
|
+
mockDatas: typeof import("mm").datas;
|
|
51
|
+
data: typeof import("mm").data;
|
|
52
|
+
mockData: typeof import("mm").data;
|
|
53
|
+
dataWithAsyncDispose: typeof import("mm").dataWithAsyncDispose;
|
|
54
|
+
empty: typeof import("mm").empty;
|
|
55
|
+
mockEmpty: typeof import("mm").empty;
|
|
56
|
+
error: typeof import("mm").error;
|
|
57
|
+
mockError: typeof import("mm").error;
|
|
58
|
+
spy: typeof import("mm").spy;
|
|
59
|
+
errorOnce: typeof import("mm").errorOnce;
|
|
60
|
+
syncError: typeof import("mm").syncError;
|
|
61
|
+
syncEmpty: typeof import("mm").syncEmpty;
|
|
62
|
+
syncData: typeof import("mm").syncData;
|
|
63
|
+
http: {
|
|
64
|
+
request: (url: import("mm").RequestURL, data: import("mm").ResponseData, headers?: Record<string, any>, delay?: number) => void;
|
|
65
|
+
requestError: (url: import("mm").RequestURL, reqError?: import("mm").MockError, resError?: import("mm").MockError, delay?: number) => void;
|
|
66
|
+
};
|
|
67
|
+
https: {
|
|
68
|
+
request: (url: import("mm").RequestURL, data: import("mm").ResponseData, headers?: Record<string, any>, delay?: number) => void;
|
|
69
|
+
requestError: (url: import("mm").RequestURL, reqError?: import("mm").MockError, resError?: import("mm").MockError, delay?: number) => void;
|
|
70
|
+
};
|
|
71
|
+
spawn: typeof import("mm").spawn;
|
|
72
|
+
classMethod: typeof import("mm").classMethod;
|
|
73
|
+
};
|
|
74
|
+
declare const proxyMock: ((target: any, property: PropertyKey, value?: any) => void) & typeof mock;
|
|
75
|
+
export default proxyMock;
|
|
76
|
+
export { proxyMock as mock, proxyMock as mm, ApplicationUnittest as MockApplication, setGetAppCallback, createApp, createCluster, };
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.createCluster = exports.createApp = exports.setGetAppCallback = exports.MockApplication = exports.mm = exports.mock = void 0;
|
|
7
|
+
const mm_1 = __importDefault(require("mm"));
|
|
8
|
+
const mm_2 = require("mm");
|
|
9
|
+
const cluster_js_1 = require("./lib/cluster.js");
|
|
10
|
+
Object.defineProperty(exports, "createCluster", { enumerable: true, get: function () { return cluster_js_1.createCluster; } });
|
|
11
|
+
const app_js_1 = require("./lib/app.js");
|
|
12
|
+
Object.defineProperty(exports, "createApp", { enumerable: true, get: function () { return app_js_1.createApp; } });
|
|
13
|
+
// import { getMockAgent } from './lib/mock_agent.js';
|
|
14
|
+
const restore_js_1 = require("./lib/restore.js");
|
|
15
|
+
const app_handler_js_1 = require("./lib/app_handler.js");
|
|
16
|
+
Object.defineProperty(exports, "setGetAppCallback", { enumerable: true, get: function () { return app_handler_js_1.setGetAppCallback; } });
|
|
17
|
+
const application_js_1 = __importDefault(require("./app/extend/application.js"));
|
|
18
|
+
exports.MockApplication = application_js_1.default;
|
|
19
|
+
// egg-bin will set this flag to require files for instrument
|
|
20
|
+
// if (process.env.EGG_BIN_PREREQUIRE) {
|
|
21
|
+
// require('./lib/prerequire');
|
|
22
|
+
// }
|
|
23
|
+
// inherit & extends mm
|
|
24
|
+
const mock = {
|
|
25
|
+
...mm_1.default,
|
|
26
|
+
restore: restore_js_1.restore,
|
|
27
|
+
/**
|
|
28
|
+
* Create a egg mocked application
|
|
29
|
+
* @function mm#app
|
|
30
|
+
* @param {Object} [options]
|
|
31
|
+
* - {String} baseDir - The directory of the application
|
|
32
|
+
* - {Object} plugins - Custom you plugins
|
|
33
|
+
* - {String} framework - The directory of the egg framework
|
|
34
|
+
* - {Boolean} [true] cache - Cache application based on baseDir
|
|
35
|
+
* - {Boolean} [true] coverage - Switch on process coverage, but it'll be slower
|
|
36
|
+
* - {Boolean} [true] clean - Remove $baseDir/logs
|
|
37
|
+
* @return {App} return {@link Application}
|
|
38
|
+
* @example
|
|
39
|
+
* ```js
|
|
40
|
+
* const app = mm.app();
|
|
41
|
+
* ```
|
|
42
|
+
*/
|
|
43
|
+
app: app_js_1.createApp,
|
|
44
|
+
/**
|
|
45
|
+
* Create a egg mocked cluster application
|
|
46
|
+
* @function mm#cluster
|
|
47
|
+
* @see ClusterApplication
|
|
48
|
+
*/
|
|
49
|
+
cluster: cluster_js_1.createCluster,
|
|
50
|
+
/**
|
|
51
|
+
* mock the serverEnv of Egg
|
|
52
|
+
* @member {Function} mm#env
|
|
53
|
+
* @param {String} env - contain default, test, prod, local, unittest
|
|
54
|
+
* @see https://github.com/eggjs/egg-core/blob/master/lib/loader/egg_loader.js#L78
|
|
55
|
+
*/
|
|
56
|
+
env(env) {
|
|
57
|
+
(0, mm_2.mock)(process.env, 'EGG_MOCK_SERVER_ENV', env);
|
|
58
|
+
(0, mm_2.mock)(process.env, 'EGG_SERVER_ENV', env);
|
|
59
|
+
},
|
|
60
|
+
/**
|
|
61
|
+
* mock console level
|
|
62
|
+
* @param {String} level - logger level
|
|
63
|
+
*/
|
|
64
|
+
consoleLevel(level) {
|
|
65
|
+
level = (level || '').toUpperCase();
|
|
66
|
+
(0, mm_2.mock)(process.env, 'EGG_LOG', level);
|
|
67
|
+
},
|
|
68
|
+
home(homePath) {
|
|
69
|
+
if (homePath) {
|
|
70
|
+
(0, mm_2.mock)(process.env, 'EGG_HOME', homePath);
|
|
71
|
+
}
|
|
72
|
+
},
|
|
73
|
+
setGetAppCallback: app_handler_js_1.setGetAppCallback,
|
|
74
|
+
};
|
|
75
|
+
// import mm from '@eggjs/mock';
|
|
76
|
+
const proxyMock = new Proxy(mm_2.mock, {
|
|
77
|
+
apply(target, _, args) {
|
|
78
|
+
return target(args[0], args[1], args[2]);
|
|
79
|
+
},
|
|
80
|
+
get(_target, property, receiver) {
|
|
81
|
+
// import mm from '@eggjs/mock';
|
|
82
|
+
// mm.isMocked(foo, 'bar')
|
|
83
|
+
return Reflect.get(mock, property, receiver);
|
|
84
|
+
},
|
|
85
|
+
});
|
|
86
|
+
exports.mock = proxyMock;
|
|
87
|
+
exports.mm = proxyMock;
|
|
88
|
+
exports.default = proxyMock;
|
|
89
|
+
process.setMaxListeners(100);
|
|
90
|
+
process.once('SIGQUIT', () => {
|
|
91
|
+
process.exit(0);
|
|
92
|
+
});
|
|
93
|
+
process.once('SIGTERM', () => {
|
|
94
|
+
process.exit(0);
|
|
95
|
+
});
|
|
96
|
+
process.once('SIGINT', () => {
|
|
97
|
+
process.exit(0);
|
|
98
|
+
});
|
|
99
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsNENBQW9CO0FBQ3BCLDJCQUFtQztBQUNuQyxpREFBaUQ7QUE0Ri9DLDhGQTVGTywwQkFBYSxPQTRGUDtBQTNGZix5Q0FBeUM7QUEwRnZDLDBGQTFGTyxrQkFBUyxPQTBGUDtBQXpGWCxzREFBc0Q7QUFDdEQsaURBQTJDO0FBQzNDLHlEQUF5RDtBQXNGdkQsa0dBdEZPLGtDQUFpQixPQXNGUDtBQXJGbkIsaUZBQThEO0FBb0ZyQywwQkFwRmxCLHdCQUFtQixDQW9GYztBQWxGeEMsNkRBQTZEO0FBQzdELHdDQUF3QztBQUN4QyxpQ0FBaUM7QUFDakMsSUFBSTtBQUVKLHVCQUF1QjtBQUN2QixNQUFNLElBQUksR0FBRztJQUNYLEdBQUcsWUFBRTtJQUNMLE9BQU8sRUFBUCxvQkFBTztJQUVQOzs7Ozs7Ozs7Ozs7Ozs7T0FlRztJQUNILEdBQUcsRUFBRSxrQkFBUztJQUVkOzs7O09BSUc7SUFDSCxPQUFPLEVBQUUsMEJBQWE7SUFFdEI7Ozs7O09BS0c7SUFDSCxHQUFHLENBQUMsR0FBVztRQUNiLElBQUEsU0FBSyxFQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUscUJBQXFCLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDL0MsSUFBQSxTQUFLLEVBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxnQkFBZ0IsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsWUFBWSxDQUFDLEtBQWE7UUFDeEIsS0FBSyxHQUFHLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3BDLElBQUEsU0FBSyxFQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxJQUFJLENBQUMsUUFBaUI7UUFDcEIsSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUNiLElBQUEsU0FBSyxFQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQzNDLENBQUM7SUFDSCxDQUFDO0lBRUQsaUJBQWlCLEVBQWpCLGtDQUFpQjtDQUNsQixDQUFDO0FBRUYsZ0NBQWdDO0FBQ2hDLE1BQU0sU0FBUyxHQUFHLElBQUksS0FBSyxDQUFDLFNBQUssRUFBRTtJQUNqQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxJQUFJO1FBQ25CLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUNELEdBQUcsQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVE7UUFDN0IsZ0NBQWdDO1FBQ2hDLDBCQUEwQjtRQUMxQixPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUMvQyxDQUFDO0NBQ0YsQ0FBeUYsQ0FBQztBQUs1RSx5QkFBSTtBQUVKLHVCQUFFO0FBTGpCLGtCQUFlLFNBQVMsQ0FBQztBQVl6QixPQUFPLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBRTdCLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLEdBQUcsRUFBRTtJQUMzQixPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2xCLENBQUMsQ0FBQyxDQUFDO0FBRUgsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsR0FBRyxFQUFFO0lBQzNCLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEIsQ0FBQyxDQUFDLENBQUM7QUFFSCxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUU7SUFDMUIsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsQixDQUFDLENBQUMsQ0FBQyJ9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// import { expectType } from 'tsd';
|
|
3
|
+
// import { Application, Context } from 'egg';
|
|
4
|
+
// import { MockApplication, MockAgent, ResultObject } from '.';
|
|
5
|
+
// import { app, mock, mm } from './bootstrap';
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
// expectType<MockApplication>(app);
|
|
8
|
+
// expectType<Context>(app.currentContext);
|
|
9
|
+
// expectType<Context | undefined>(app.ctxStorage.getStore());
|
|
10
|
+
// expectType<MockApplication>(mock.app());
|
|
11
|
+
// expectType<MockApplication>(mm.app());
|
|
12
|
+
// expectType<MockAgent>(mm.app().mockAgent());
|
|
13
|
+
// expectType<Application>(mm.app().mockHttpclient('url', 'post', { data: 'ok' }));
|
|
14
|
+
// expectType<Application>(mm.app().mockHttpclient('url', 'post', 'data'));
|
|
15
|
+
// expectType<Application>(mm.app().mockHttpclient('url', {
|
|
16
|
+
// data: 'mock response',
|
|
17
|
+
// repeats: 1,
|
|
18
|
+
// }));
|
|
19
|
+
// expectType<Application>(mm.app().mockHttpclient('url', () => {}));
|
|
20
|
+
// expectType<Application>(mm.app().mockHttpclient('url', 'post', () => {}));
|
|
21
|
+
// expectType<Application>(mm.app().mockHttpclient('url', 'get', {
|
|
22
|
+
// data: 'mock response',
|
|
23
|
+
// repeats: 1,
|
|
24
|
+
// }));
|
|
25
|
+
// expectType<void>(app.mockLog());
|
|
26
|
+
// expectType<void>(app.mockLog('logger'));
|
|
27
|
+
// expectType<void>(app.mockLog(app.logger));
|
|
28
|
+
// expectType<void>(app.expectLog('foo string'));
|
|
29
|
+
// expectType<void>(app.expectLog('foo string', 'coreLogger'));
|
|
30
|
+
// expectType<void>(app.expectLog('foo string', app.coreLogger));
|
|
31
|
+
// expectType<void>(app.expectLog(/foo string/));
|
|
32
|
+
// expectType<void>(app.expectLog(/foo string/, 'coreLogger'));
|
|
33
|
+
// expectType<void>(app.expectLog(/foo string/, app.coreLogger));
|
|
34
|
+
// expectType<void>(mm.env('default'));
|
|
35
|
+
// expectType<void>(mm.env('devserver'));
|
|
36
|
+
// expectType<Promise<void>>(app.mockAgentRestore());
|
|
37
|
+
// expectType<Promise<void>>(app.mockRestore());
|
|
38
|
+
// expectType<Promise<void>>(app.mockContextScope(async () => {}));
|
|
39
|
+
// expectType<Promise<void>>(app.mockContextScope(async ctx => {}));
|
|
40
|
+
// expectType<Promise<void>>(app.backgroundTasksFinished());
|
|
41
|
+
// const result: ResultObject = {};
|
|
42
|
+
// expectType<number>(result.status!);
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXgudGVzdC1kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2luZGV4LnRlc3QtZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsb0NBQW9DO0FBQ3BDLDhDQUE4QztBQUM5QyxnRUFBZ0U7QUFDaEUsK0NBQStDOztBQUUvQyxvQ0FBb0M7QUFDcEMsMkNBQTJDO0FBQzNDLDhEQUE4RDtBQUM5RCwyQ0FBMkM7QUFDM0MseUNBQXlDO0FBRXpDLCtDQUErQztBQUUvQyxtRkFBbUY7QUFDbkYsMkVBQTJFO0FBQzNFLDJEQUEyRDtBQUMzRCwyQkFBMkI7QUFDM0IsZ0JBQWdCO0FBQ2hCLE9BQU87QUFDUCxxRUFBcUU7QUFDckUsNkVBQTZFO0FBQzdFLGtFQUFrRTtBQUNsRSwyQkFBMkI7QUFDM0IsZ0JBQWdCO0FBQ2hCLE9BQU87QUFFUCxtQ0FBbUM7QUFDbkMsMkNBQTJDO0FBQzNDLDZDQUE2QztBQUM3QyxpREFBaUQ7QUFDakQsK0RBQStEO0FBQy9ELGlFQUFpRTtBQUNqRSxpREFBaUQ7QUFDakQsK0RBQStEO0FBQy9ELGlFQUFpRTtBQUNqRSx1Q0FBdUM7QUFDdkMseUNBQXlDO0FBRXpDLHFEQUFxRDtBQUNyRCxnREFBZ0Q7QUFDaEQsbUVBQW1FO0FBQ25FLG9FQUFvRTtBQUVwRSw0REFBNEQ7QUFFNUQsbUNBQW1DO0FBQ25DLHNDQUFzQyJ9
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.setupAgent = setupAgent;
|
|
4
|
+
exports.closeAgent = closeAgent;
|
|
5
|
+
const node_util_1 = require("node:util");
|
|
6
|
+
const agent_js_1 = require("./parallel/agent.js");
|
|
7
|
+
const utils_js_1 = require("./utils.js");
|
|
8
|
+
const debug = (0, node_util_1.debuglog)('@eggjs/mock/lib/agent_handler');
|
|
9
|
+
let agent;
|
|
10
|
+
async function setupAgent() {
|
|
11
|
+
debug('setupAgent call, env.ENABLE_MOCHA_PARALLEL: %s, process.env.AUTO_AGENT: %s, agent: %s', process.env.ENABLE_MOCHA_PARALLEL, process.env.AUTO_AGENT, !!agent);
|
|
12
|
+
if (agent) {
|
|
13
|
+
await agent.ready();
|
|
14
|
+
return agent;
|
|
15
|
+
}
|
|
16
|
+
if (process.env.ENABLE_MOCHA_PARALLEL && process.env.AUTO_AGENT) {
|
|
17
|
+
agent = (0, agent_js_1.createAgent)((0, utils_js_1.getEggOptions)());
|
|
18
|
+
await agent.ready();
|
|
19
|
+
}
|
|
20
|
+
return agent;
|
|
21
|
+
}
|
|
22
|
+
async function closeAgent() {
|
|
23
|
+
debug('setupAgent call, agent: %s', !!agent);
|
|
24
|
+
if (agent) {
|
|
25
|
+
await agent.close();
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdlbnRfaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvYWdlbnRfaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQVFBLGdDQVlDO0FBRUQsZ0NBS0M7QUEzQkQseUNBQXFDO0FBQ3JDLGtEQUE2RDtBQUM3RCx5Q0FBMkM7QUFFM0MsTUFBTSxLQUFLLEdBQUcsSUFBQSxvQkFBUSxFQUFDLCtCQUErQixDQUFDLENBQUM7QUFFeEQsSUFBSSxLQUFnQixDQUFDO0FBRWQsS0FBSyxVQUFVLFVBQVU7SUFDOUIsS0FBSyxDQUFDLHVGQUF1RixFQUMzRixPQUFPLENBQUMsR0FBRyxDQUFDLHFCQUFxQixFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN0RSxJQUFJLEtBQUssRUFBRSxDQUFDO1FBQ1YsTUFBTSxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDcEIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBQ0QsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLHFCQUFxQixJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDaEUsS0FBSyxHQUFHLElBQUEsc0JBQVcsRUFBQyxJQUFBLHdCQUFhLEdBQUUsQ0FBQyxDQUFDO1FBQ3JDLE1BQU0sS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFDRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUM7QUFFTSxLQUFLLFVBQVUsVUFBVTtJQUM5QixLQUFLLENBQUMsNEJBQTRCLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdDLElBQUksS0FBSyxFQUFFLENBQUM7UUFDVixNQUFNLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN0QixDQUFDO0FBQ0gsQ0FBQyJ9
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Base } from 'sdk-base';
|
|
2
|
+
import type { Agent, Application } from 'egg';
|
|
3
|
+
import type { MockOptions, MockApplicationOptions } from './types.js';
|
|
4
|
+
declare const APP_INIT: unique symbol;
|
|
5
|
+
export declare class MockApplication extends Base {
|
|
6
|
+
#private;
|
|
7
|
+
_agent: Agent;
|
|
8
|
+
_app: Application;
|
|
9
|
+
options: MockApplicationOptions;
|
|
10
|
+
baseDir: string;
|
|
11
|
+
[APP_INIT]: boolean;
|
|
12
|
+
_initOnListeners: Set<any[]>;
|
|
13
|
+
_initOnceListeners: Set<any[]>;
|
|
14
|
+
constructor(options: MockApplicationOptions);
|
|
15
|
+
_init(): Promise<void>;
|
|
16
|
+
on(...args: any[]): this;
|
|
17
|
+
once(...args: any[]): this;
|
|
18
|
+
/**
|
|
19
|
+
* close app
|
|
20
|
+
*/
|
|
21
|
+
_close(): Promise<void>;
|
|
22
|
+
/**
|
|
23
|
+
* @deprecated please use isClosed instead, keep compatible with old version
|
|
24
|
+
*/
|
|
25
|
+
get closed(): boolean;
|
|
26
|
+
}
|
|
27
|
+
export declare function createApp(createOptions?: MockOptions): any;
|
|
28
|
+
export {};
|