@eggjs/mock 7.0.0-beta.19 → 7.0.0-beta.21
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/app/extend/agent.d.ts +33 -38
- package/dist/app/extend/agent.js +45 -47
- package/dist/app/extend/application.d.ts +167 -171
- package/dist/app/extend/application.js +442 -382
- package/dist/app/middleware/cluster_app_mock.d.ts +2 -5
- package/dist/app/middleware/cluster_app_mock.js +99 -96
- package/dist/app.d.ts +5 -9
- package/dist/app.js +18 -17
- package/dist/bootstrap.d.ts +5 -9
- package/dist/bootstrap.js +12 -11
- package/dist/index.d.ts +76 -80
- package/dist/index.js +81 -38
- package/dist/inject_mocha.d.ts +1 -1
- package/dist/inject_mocha.js +28 -27
- package/dist/lib/agent_handler.d.ts +3 -7
- package/dist/lib/agent_handler.js +20 -22
- package/dist/lib/app.d.ts +3 -7
- package/dist/lib/app.js +285 -248
- package/dist/lib/app_handler.d.ts +5 -9
- package/dist/lib/app_handler.js +62 -49
- package/dist/lib/cluster.d.ts +92 -97
- package/dist/lib/cluster.js +335 -278
- package/dist/lib/context.d.ts +1 -4
- package/dist/lib/context.js +11 -10
- package/dist/lib/format_options.d.ts +2 -7
- package/dist/lib/format_options.js +88 -60
- package/dist/lib/inject_context.d.ts +1 -4
- package/dist/lib/inject_context.js +123 -103
- package/dist/lib/mock_agent.d.ts +4 -8
- package/dist/lib/mock_agent.js +42 -42
- package/dist/lib/mock_custom_loader.d.ts +1 -4
- package/dist/lib/mock_custom_loader.js +33 -34
- package/dist/lib/mock_http_server.d.ts +2 -6
- package/dist/lib/mock_http_server.js +17 -16
- package/dist/lib/mock_httpclient.d.ts +34 -38
- package/dist/lib/mock_httpclient.js +142 -106
- package/dist/lib/parallel/agent.d.ts +19 -23
- package/dist/lib/parallel/agent.js +113 -107
- package/dist/lib/parallel/app.d.ts +19 -23
- package/dist/lib/parallel/app.js +108 -96
- package/dist/lib/parallel/util.d.ts +3 -6
- package/dist/lib/parallel/util.js +64 -57
- package/dist/lib/prerequire.d.ts +1 -1
- package/dist/lib/prerequire.js +25 -1
- package/dist/lib/request_call_function.d.ts +1 -1
- package/dist/lib/request_call_function.js +47 -34
- package/dist/lib/restore.d.ts +1 -4
- package/dist/lib/restore.js +11 -14
- package/dist/lib/start-cluster.d.ts +2 -1
- package/dist/lib/start-cluster.js +14 -15
- package/dist/lib/supertest.d.ts +6 -11
- package/dist/lib/supertest.js +36 -35
- package/dist/lib/tmp/empty.d.ts +1 -1
- package/dist/lib/tmp/empty.js +2 -1
- package/dist/lib/types.d.ts +64 -68
- package/dist/lib/types.js +2 -1
- package/dist/lib/utils.d.ts +8 -11
- package/dist/lib/utils.js +63 -34
- package/dist/register.d.ts +7 -9
- package/dist/register.js +40 -36
- package/package.json +7 -8
- package/dist/_virtual/rolldown_runtime.js +0 -7
- package/dist/typings/index.d.ts +0 -1
package/dist/lib/context.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
1
|
+
export const context = {
|
|
2
|
+
runInBackground(scope) {
|
|
3
|
+
const taskName = scope._name || scope.name;
|
|
4
|
+
if (taskName) {
|
|
5
|
+
scope._name = taskName;
|
|
6
|
+
}
|
|
7
|
+
const promise = this._runInBackground(scope);
|
|
8
|
+
this.app._backgroundTasks.push(promise);
|
|
9
|
+
},
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvY29udGV4dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUc7SUFDckIsZUFBZSxDQUFDLEtBQVU7UUFDeEIsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDO1FBQzNDLElBQUksUUFBUSxFQUFFLENBQUM7WUFDYixLQUFLLENBQUMsS0FBSyxHQUFHLFFBQVEsQ0FBQztRQUN6QixDQUFDO1FBRUQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdDLElBQUksQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzFDLENBQUM7Q0FDSyxDQUFDIn0=
|
|
@@ -1,10 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
//#region src/lib/format_options.d.ts
|
|
4
|
-
|
|
1
|
+
import type { MockOptions, MockApplicationOptions } from './types.ts';
|
|
5
2
|
/**
|
|
6
3
|
* format the options
|
|
7
4
|
*/
|
|
8
|
-
declare function formatOptions(initOptions?: MockOptions): MockApplicationOptions;
|
|
9
|
-
//#endregion
|
|
10
|
-
export { formatOptions };
|
|
5
|
+
export declare function formatOptions(initOptions?: MockOptions): MockApplicationOptions;
|
|
@@ -1,65 +1,93 @@
|
|
|
1
|
+
import { debuglog } from 'node:util';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
import { mm, isMocked } from 'mm';
|
|
4
|
+
import { getFrameworkPath } from '@eggjs/utils';
|
|
5
|
+
import { readJSONSync } from 'utility';
|
|
1
6
|
import { getSourceDirname } from "./utils.js";
|
|
2
|
-
|
|
3
|
-
import { readJSONSync } from "utility";
|
|
4
|
-
import { isMocked, mm } from "mm";
|
|
5
|
-
import { debuglog } from "node:util";
|
|
6
|
-
import { getFrameworkPath } from "@eggjs/utils";
|
|
7
|
-
|
|
8
|
-
//#region src/lib/format_options.ts
|
|
9
|
-
const debug = debuglog("egg/mock/lib/format_options");
|
|
7
|
+
const debug = debuglog('egg/mock/lib/format_options');
|
|
10
8
|
/**
|
|
11
|
-
* format the options
|
|
12
|
-
*/
|
|
13
|
-
function formatOptions(initOptions) {
|
|
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
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
9
|
+
* format the options
|
|
10
|
+
*/
|
|
11
|
+
export function formatOptions(initOptions) {
|
|
12
|
+
const options = {
|
|
13
|
+
baseDir: process.cwd(),
|
|
14
|
+
cache: true,
|
|
15
|
+
coverage: true,
|
|
16
|
+
clean: true,
|
|
17
|
+
...initOptions,
|
|
18
|
+
};
|
|
19
|
+
// relative path to test/fixtures
|
|
20
|
+
// ```js
|
|
21
|
+
// formatOptions({ baseDir: 'app' }); // baseDir => $PWD/test/fixtures/app
|
|
22
|
+
// ```
|
|
23
|
+
if (!path.isAbsolute(options.baseDir)) {
|
|
24
|
+
options.baseDir = path.join(process.cwd(), 'test/fixtures', options.baseDir);
|
|
25
|
+
}
|
|
26
|
+
let framework = initOptions?.framework ?? initOptions?.customEgg;
|
|
27
|
+
// test for framework
|
|
28
|
+
if (framework === true) {
|
|
29
|
+
framework = process.cwd();
|
|
30
|
+
// disable plugin test when framework test
|
|
31
|
+
options.plugin = false;
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
if (!framework) {
|
|
35
|
+
framework = '';
|
|
36
|
+
}
|
|
37
|
+
// it will throw when framework is not found
|
|
38
|
+
framework = getFrameworkPath({ framework, baseDir: options.baseDir });
|
|
39
|
+
}
|
|
40
|
+
options.framework = options.customEgg = framework;
|
|
41
|
+
const plugins = (options.plugins = options.plugins || {});
|
|
42
|
+
// add self as a plugin
|
|
43
|
+
let pluginPath = path.join(getSourceDirname(), '..');
|
|
44
|
+
// for dist directory
|
|
45
|
+
// convert `/eggjs/mock/dist` to `/eggjs/mock`
|
|
46
|
+
if (pluginPath.endsWith('/dist') || pluginPath.endsWith('\\dist')) {
|
|
47
|
+
pluginPath = path.join(pluginPath, '..');
|
|
48
|
+
}
|
|
49
|
+
plugins['egg-mock'] = {
|
|
50
|
+
enable: true,
|
|
51
|
+
path: pluginPath,
|
|
52
|
+
};
|
|
53
|
+
// test for plugin
|
|
54
|
+
if (options.plugin !== false) {
|
|
55
|
+
// add self to plugin list
|
|
56
|
+
const pluginPath = process.cwd();
|
|
57
|
+
const pkgPath = path.join(pluginPath, 'package.json');
|
|
58
|
+
const pluginName = getPluginName(pkgPath);
|
|
59
|
+
if (options.plugin && !pluginName) {
|
|
60
|
+
throw new Error(`should set "eggPlugin" property in ${pkgPath}`);
|
|
61
|
+
}
|
|
62
|
+
if (pluginName) {
|
|
63
|
+
plugins[pluginName] = {
|
|
64
|
+
enable: true,
|
|
65
|
+
path: pluginPath,
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
// mock HOME as baseDir, but ignore if it has been mocked
|
|
70
|
+
const env = process.env.EGG_SERVER_ENV;
|
|
71
|
+
if (!isMocked(process.env, 'HOME') && (env === 'default' || env === 'test' || env === 'prod')) {
|
|
72
|
+
mm(process.env, 'HOME', options.baseDir);
|
|
73
|
+
}
|
|
74
|
+
// disable cache after call mm.env(),
|
|
75
|
+
// otherwise it will use cache and won't load again.
|
|
76
|
+
if (process.env.EGG_MOCK_SERVER_ENV) {
|
|
77
|
+
options.cache = false;
|
|
78
|
+
}
|
|
79
|
+
debug('[formatOptions] options: %j', options);
|
|
80
|
+
return options;
|
|
56
81
|
}
|
|
57
82
|
function getPluginName(pkgPath) {
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
83
|
+
try {
|
|
84
|
+
const pkg = readJSONSync(pkgPath);
|
|
85
|
+
if (pkg.eggPlugin?.name) {
|
|
86
|
+
return pkg.eggPlugin.name;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
catch {
|
|
90
|
+
// ignore
|
|
91
|
+
}
|
|
62
92
|
}
|
|
63
|
-
|
|
64
|
-
//#endregion
|
|
65
|
-
export { formatOptions };
|
|
93
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0X29wdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL2Zvcm1hdF9vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDckMsT0FBTyxJQUFJLE1BQU0sV0FBVyxDQUFDO0FBRTdCLE9BQU8sRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLE1BQU0sSUFBSSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNoRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBR3ZDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUU5QyxNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsNkJBQTZCLENBQUMsQ0FBQztBQUV0RDs7R0FFRztBQUNILE1BQU0sVUFBVSxhQUFhLENBQUMsV0FBeUI7SUFDckQsTUFBTSxPQUFPLEdBQUc7UUFDZCxPQUFPLEVBQUUsT0FBTyxDQUFDLEdBQUcsRUFBRTtRQUN0QixLQUFLLEVBQUUsSUFBSTtRQUNYLFFBQVEsRUFBRSxJQUFJO1FBQ2QsS0FBSyxFQUFFLElBQUk7UUFDWCxHQUFHLFdBQVc7S0FDVyxDQUFDO0lBRTVCLGlDQUFpQztJQUNqQyxRQUFRO0lBQ1IsMEVBQTBFO0lBQzFFLE1BQU07SUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUN0QyxPQUFPLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLGVBQWUsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDL0UsQ0FBQztJQUVELElBQUksU0FBUyxHQUFHLFdBQVcsRUFBRSxTQUFTLElBQUksV0FBVyxFQUFFLFNBQVMsQ0FBQztJQUNq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
|
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
//#region src/lib/inject_context.d.ts
|
|
2
1
|
/**
|
|
3
2
|
* Monkey patch the mocha instance with egg context.
|
|
4
3
|
*
|
|
5
4
|
* @param {Function} mocha - the module of mocha
|
|
6
5
|
*/
|
|
7
|
-
declare function injectContext(mocha: any): void;
|
|
8
|
-
//#endregion
|
|
9
|
-
export { injectContext };
|
|
6
|
+
export declare function injectContext(mocha: any): void;
|
|
@@ -1,106 +1,126 @@
|
|
|
1
|
+
import { debuglog } from 'node:util';
|
|
2
|
+
import assert from 'node:assert';
|
|
1
3
|
import { getApp } from "./app_handler.js";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
//#region src/lib/inject_context.ts
|
|
6
|
-
const debug = debuglog("egg/mock/lib/inject_context");
|
|
7
|
-
const MOCHA_SUITE_APP = Symbol.for("mocha#suite#app");
|
|
4
|
+
const debug = debuglog('egg/mock/lib/inject_context');
|
|
5
|
+
const MOCHA_SUITE_APP = Symbol.for('mocha#suite#app');
|
|
8
6
|
/**
|
|
9
|
-
* Monkey patch the mocha instance with egg context.
|
|
10
|
-
*
|
|
11
|
-
* @param {Function} mocha - the module of mocha
|
|
12
|
-
*/
|
|
13
|
-
function injectContext(mocha) {
|
|
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
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
7
|
+
* Monkey patch the mocha instance with egg context.
|
|
8
|
+
*
|
|
9
|
+
* @param {Function} mocha - the module of mocha
|
|
10
|
+
*/
|
|
11
|
+
export function injectContext(mocha) {
|
|
12
|
+
if (mocha._injectContextLoaded) {
|
|
13
|
+
debug('mocha already injected context, skip it');
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
const { Runner } = mocha;
|
|
17
|
+
const runSuite = Runner.prototype.runSuite;
|
|
18
|
+
const runTests = Runner.prototype.runTests;
|
|
19
|
+
function getTestTitle(suite, test) {
|
|
20
|
+
const suiteTitle = suite.root ? 'root suite' : suite.title;
|
|
21
|
+
if (!test) {
|
|
22
|
+
return `"${suiteTitle}"`;
|
|
23
|
+
}
|
|
24
|
+
return `"${suiteTitle} - ${test.title}"`;
|
|
25
|
+
}
|
|
26
|
+
// Inject ctx for before/after.
|
|
27
|
+
Runner.prototype.runSuite = async function (suite, fn) {
|
|
28
|
+
debug('run suite: %s', suite.title);
|
|
29
|
+
let app;
|
|
30
|
+
const self = this;
|
|
31
|
+
try {
|
|
32
|
+
app = await getApp(suite);
|
|
33
|
+
debug('get app: %s', !!app);
|
|
34
|
+
await app.ready();
|
|
35
|
+
}
|
|
36
|
+
catch {
|
|
37
|
+
// 可能 app.ready 时报错,不使用失败的 app
|
|
38
|
+
app = null;
|
|
39
|
+
}
|
|
40
|
+
if (!app) {
|
|
41
|
+
// app 不存在,直接跳过,在 beforeEach 的 hook 中会报错
|
|
42
|
+
// 确保不打乱 mocha 的顺序,防止 mocha 内部状态错误
|
|
43
|
+
return runSuite.call(self, suite, fn);
|
|
44
|
+
}
|
|
45
|
+
let errSuite;
|
|
46
|
+
try {
|
|
47
|
+
suite.ctx[MOCHA_SUITE_APP] = app;
|
|
48
|
+
const mockContextFun = app.mockModuleContextScope || app.mockContextScope;
|
|
49
|
+
await mockContextFun.call(app, async function () {
|
|
50
|
+
await new Promise(resolve => {
|
|
51
|
+
runSuite.call(self, suite, (aErrSuite) => {
|
|
52
|
+
errSuite = aErrSuite;
|
|
53
|
+
resolve();
|
|
54
|
+
});
|
|
55
|
+
});
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
catch (err) {
|
|
59
|
+
// mockContext 失败后动态注册一个 beforeAll hook
|
|
60
|
+
// 快速失败,直接阻塞后续用例
|
|
61
|
+
suite.beforeAll('egg-mock-mock-ctx-failed', async () => {
|
|
62
|
+
throw err;
|
|
63
|
+
});
|
|
64
|
+
return runSuite.call(self, suite, (aErrSuite) => {
|
|
65
|
+
return fn(aErrSuite);
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
return fn(errSuite);
|
|
69
|
+
};
|
|
70
|
+
// Inject ctx for beforeEach/it/afterEach.
|
|
71
|
+
// And ctx with before/after is not same as beforeEach/it/afterEach.
|
|
72
|
+
Runner.prototype.runTests = async function (suite, fn) {
|
|
73
|
+
const tests = suite.tests.slice();
|
|
74
|
+
if (!tests.length) {
|
|
75
|
+
return runTests.call(this, suite, fn);
|
|
76
|
+
}
|
|
77
|
+
const app = suite.ctx[MOCHA_SUITE_APP];
|
|
78
|
+
const self = this;
|
|
79
|
+
if (!app) {
|
|
80
|
+
return runTests.call(self, suite, fn);
|
|
81
|
+
}
|
|
82
|
+
function done(errSuite) {
|
|
83
|
+
suite.tests = tests;
|
|
84
|
+
return fn(errSuite);
|
|
85
|
+
}
|
|
86
|
+
async function next(i) {
|
|
87
|
+
const test = tests[i];
|
|
88
|
+
if (!test) {
|
|
89
|
+
return done();
|
|
90
|
+
}
|
|
91
|
+
suite.tests = [test];
|
|
92
|
+
let app;
|
|
93
|
+
try {
|
|
94
|
+
app = await getApp(suite, test);
|
|
95
|
+
assert(app, `not found app for test ${getTestTitle(suite, test)}`);
|
|
96
|
+
await app.ready();
|
|
97
|
+
}
|
|
98
|
+
catch (err) {
|
|
99
|
+
self.fail(test, err);
|
|
100
|
+
return next(i + 1);
|
|
101
|
+
}
|
|
102
|
+
try {
|
|
103
|
+
const mockContextFun = app.mockModuleContextScope || app.mockContextScope;
|
|
104
|
+
await mockContextFun.call(app, async function () {
|
|
105
|
+
return await new Promise(resolve => {
|
|
106
|
+
runTests.call(self, suite, () => {
|
|
107
|
+
return resolve();
|
|
108
|
+
});
|
|
109
|
+
});
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
catch (err) {
|
|
113
|
+
self.fail(test, err);
|
|
114
|
+
return next(i + 1);
|
|
115
|
+
}
|
|
116
|
+
return next(i + 1);
|
|
117
|
+
}
|
|
118
|
+
next(0).catch(err => {
|
|
119
|
+
self.fail(suite, err);
|
|
120
|
+
done(suite);
|
|
121
|
+
});
|
|
122
|
+
};
|
|
123
|
+
mocha._injectContextLoaded = true;
|
|
124
|
+
debug('inject context success');
|
|
103
125
|
}
|
|
104
|
-
|
|
105
|
-
//#endregion
|
|
106
|
-
export { injectContext };
|
|
126
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5qZWN0X2NvbnRleHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL2luamVjdF9jb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDckMsT0FBTyxNQUFNLE1BQU0sYUFBYSxDQUFDO0FBRWpDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUUxQyxNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsNkJBQTZCLENBQUMsQ0FBQztBQUV0RCxNQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUM7QUFFdEQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxhQUFhLENBQUMsS0FBVTtJQUN0QyxJQUFJLEtBQUssQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBQy9CLEtBQUssQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDO1FBQ2pELE9BQU87SUFDVCxDQUFDO0lBQ0QsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLEtBQUssQ0FBQztJQUN6QixNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQztJQUMzQyxNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQztJQUUzQyxTQUFTLFlBQVksQ0FBQyxLQUFVLEVBQUUsSUFBUztRQUN6QyxNQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDM0QsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ1YsT0FBTyxJQUFJLFVBQVUsR0FBRyxDQUFDO1FBQzNCLENBQUM7UUFDRCxPQUFPLElBQUksVUFBVSxNQUFNLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQztJQUMzQyxDQUFDO0lBRUQsK0JBQStCO0lBQy9C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
|
package/dist/lib/mock_agent.d.ts
CHANGED
|
@@ -1,9 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
declare function getMockAgent(app?: {
|
|
5
|
-
httpClient?: HttpClient;
|
|
1
|
+
import { MockAgent, HttpClient } from 'urllib';
|
|
2
|
+
export declare function getMockAgent(app?: {
|
|
3
|
+
httpClient?: HttpClient;
|
|
6
4
|
}): MockAgent;
|
|
7
|
-
declare function restoreMockAgent(): Promise<void>;
|
|
8
|
-
//#endregion
|
|
9
|
-
export { getMockAgent, restoreMockAgent };
|
|
5
|
+
export declare function restoreMockAgent(): Promise<void>;
|
package/dist/lib/mock_agent.js
CHANGED
|
@@ -1,45 +1,45 @@
|
|
|
1
|
-
import { debuglog } from
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
//#region src/lib/mock_agent.ts
|
|
5
|
-
const debug = debuglog("egg/mock/lib/mock_agent");
|
|
1
|
+
import { debuglog } from 'node:util';
|
|
2
|
+
import { MockAgent, setGlobalDispatcher, getGlobalDispatcher, Dispatcher, HttpClient } from 'urllib';
|
|
3
|
+
const debug = debuglog('egg/mock/lib/mock_agent');
|
|
6
4
|
globalThis.__mockAgent = null;
|
|
7
|
-
globalThis.__httpClientDispatchers =
|
|
8
|
-
function getMockAgent(app) {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
5
|
+
globalThis.__httpClientDispatchers = new Map();
|
|
6
|
+
export function getMockAgent(app) {
|
|
7
|
+
debug('getMockAgent');
|
|
8
|
+
if (!globalThis.__globalDispatcher) {
|
|
9
|
+
globalThis.__globalDispatcher = getGlobalDispatcher();
|
|
10
|
+
debug('create global dispatcher');
|
|
11
|
+
}
|
|
12
|
+
if (app?.httpClient && !globalThis.__httpClientDispatchers.has(app.httpClient)) {
|
|
13
|
+
globalThis.__httpClientDispatchers.set(app.httpClient, app.httpClient.getDispatcher());
|
|
14
|
+
debug('add new httpClient, size: %d', globalThis.__httpClientDispatchers.size);
|
|
15
|
+
}
|
|
16
|
+
if (!globalThis.__mockAgent) {
|
|
17
|
+
globalThis.__mockAgent = new MockAgent();
|
|
18
|
+
setGlobalDispatcher(globalThis.__mockAgent);
|
|
19
|
+
if (typeof app?.httpClient?.setDispatcher === 'function') {
|
|
20
|
+
app.httpClient.setDispatcher(globalThis.__mockAgent);
|
|
21
|
+
}
|
|
22
|
+
debug('create new mockAgent');
|
|
23
|
+
}
|
|
24
|
+
return globalThis.__mockAgent;
|
|
25
25
|
}
|
|
26
|
-
async function restoreMockAgent() {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
26
|
+
export async function restoreMockAgent() {
|
|
27
|
+
debug('restoreMockAgent start');
|
|
28
|
+
if (globalThis.__globalDispatcher) {
|
|
29
|
+
setGlobalDispatcher(globalThis.__globalDispatcher);
|
|
30
|
+
debug('restore global dispatcher');
|
|
31
|
+
}
|
|
32
|
+
debug('restore httpClient, size: %d', globalThis.__httpClientDispatchers.size);
|
|
33
|
+
for (const [httpClient, dispatcher] of globalThis.__httpClientDispatchers) {
|
|
34
|
+
httpClient.setDispatcher(dispatcher);
|
|
35
|
+
}
|
|
36
|
+
globalThis.__httpClientDispatchers.clear();
|
|
37
|
+
if (globalThis.__mockAgent) {
|
|
38
|
+
const agent = globalThis.__mockAgent;
|
|
39
|
+
globalThis.__mockAgent = null;
|
|
40
|
+
await agent.close();
|
|
41
|
+
debug('close mockAgent');
|
|
42
|
+
}
|
|
43
|
+
debug('restoreMockAgent end');
|
|
42
44
|
}
|
|
43
|
-
|
|
44
|
-
//#endregion
|
|
45
|
-
export { getMockAgent, restoreMockAgent };
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ja19hZ2VudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvbW9ja19hZ2VudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxTQUFTLEVBQUUsbUJBQW1CLEVBQUUsbUJBQW1CLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUVyRyxNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMseUJBQXlCLENBQUMsQ0FBQztBQVFsRCxVQUFVLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztBQUM5QixVQUFVLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxHQUFHLEVBQTBCLENBQUM7QUFFdkUsTUFBTSxVQUFVLFlBQVksQ0FBQyxHQUFpQztJQUM1RCxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDdEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQ25DLFVBQVUsQ0FBQyxrQkFBa0IsR0FBRyxtQkFBbUIsRUFBRSxDQUFDO1FBQ3RELEtBQUssQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFDRCxJQUFJLEdBQUcsRUFBRSxVQUFVLElBQUksQ0FBQyxVQUFVLENBQUMsdUJBQXVCLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1FBQy9FLFVBQVUsQ0FBQyx1QkFBdUIsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7UUFDdkYsS0FBSyxDQUFDLDhCQUE4QixFQUFFLFVBQVUsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNqRixDQUFDO0lBQ0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUM1QixVQUFVLENBQUMsV0FBVyxHQUFHLElBQUksU0FBUyxFQUFFLENBQUM7UUFDekMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzVDLElBQUksT0FBTyxHQUFHLEVBQUUsVUFBVSxFQUFFLGFBQWEsS0FBSyxVQUFVLEVBQUUsQ0FBQztZQUN6RCxHQUFHLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDdkQsQ0FBQztRQUNELEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFDRCxPQUFPLFVBQVUsQ0FBQyxXQUFXLENBQUM7QUFDaEMsQ0FBQztBQUVELE1BQU0sQ0FBQyxLQUFLLFVBQVUsZ0JBQWdCO0lBQ3BDLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0lBQ2hDLElBQUksVUFBVSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDbEMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDbkQsS0FBSyxDQUFDLDJCQUEyQixDQUFDLENBQUM7SUFDckMsQ0FBQztJQUNELEtBQUssQ0FBQyw4QkFBOEIsRUFBRSxVQUFVLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0UsS0FBSyxNQUFNLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxJQUFJLFVBQVUsQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO1FBQzFFLFVBQVUsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUNELFVBQVUsQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMzQyxJQUFJLFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUMzQixNQUFNLEtBQUssR0FBRyxVQUFVLENBQUMsV0FBVyxDQUFDO1FBQ3JDLFVBQVUsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1FBQzlCLE1BQU0sS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3BCLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFDRCxLQUFLLENBQUMsc0JBQXNCLENBQUMsQ0FBQztBQUNoQyxDQUFDIn0=
|