@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.
Files changed (63) hide show
  1. package/dist/app/extend/agent.d.ts +33 -38
  2. package/dist/app/extend/agent.js +45 -47
  3. package/dist/app/extend/application.d.ts +167 -171
  4. package/dist/app/extend/application.js +442 -382
  5. package/dist/app/middleware/cluster_app_mock.d.ts +2 -5
  6. package/dist/app/middleware/cluster_app_mock.js +99 -96
  7. package/dist/app.d.ts +5 -9
  8. package/dist/app.js +18 -17
  9. package/dist/bootstrap.d.ts +5 -9
  10. package/dist/bootstrap.js +12 -11
  11. package/dist/index.d.ts +76 -80
  12. package/dist/index.js +81 -38
  13. package/dist/inject_mocha.d.ts +1 -1
  14. package/dist/inject_mocha.js +28 -27
  15. package/dist/lib/agent_handler.d.ts +3 -7
  16. package/dist/lib/agent_handler.js +20 -22
  17. package/dist/lib/app.d.ts +3 -7
  18. package/dist/lib/app.js +285 -248
  19. package/dist/lib/app_handler.d.ts +5 -9
  20. package/dist/lib/app_handler.js +62 -49
  21. package/dist/lib/cluster.d.ts +92 -97
  22. package/dist/lib/cluster.js +335 -278
  23. package/dist/lib/context.d.ts +1 -4
  24. package/dist/lib/context.js +11 -10
  25. package/dist/lib/format_options.d.ts +2 -7
  26. package/dist/lib/format_options.js +88 -60
  27. package/dist/lib/inject_context.d.ts +1 -4
  28. package/dist/lib/inject_context.js +123 -103
  29. package/dist/lib/mock_agent.d.ts +4 -8
  30. package/dist/lib/mock_agent.js +42 -42
  31. package/dist/lib/mock_custom_loader.d.ts +1 -4
  32. package/dist/lib/mock_custom_loader.js +33 -34
  33. package/dist/lib/mock_http_server.d.ts +2 -6
  34. package/dist/lib/mock_http_server.js +17 -16
  35. package/dist/lib/mock_httpclient.d.ts +34 -38
  36. package/dist/lib/mock_httpclient.js +142 -106
  37. package/dist/lib/parallel/agent.d.ts +19 -23
  38. package/dist/lib/parallel/agent.js +113 -107
  39. package/dist/lib/parallel/app.d.ts +19 -23
  40. package/dist/lib/parallel/app.js +108 -96
  41. package/dist/lib/parallel/util.d.ts +3 -6
  42. package/dist/lib/parallel/util.js +64 -57
  43. package/dist/lib/prerequire.d.ts +1 -1
  44. package/dist/lib/prerequire.js +25 -1
  45. package/dist/lib/request_call_function.d.ts +1 -1
  46. package/dist/lib/request_call_function.js +47 -34
  47. package/dist/lib/restore.d.ts +1 -4
  48. package/dist/lib/restore.js +11 -14
  49. package/dist/lib/start-cluster.d.ts +2 -1
  50. package/dist/lib/start-cluster.js +14 -15
  51. package/dist/lib/supertest.d.ts +6 -11
  52. package/dist/lib/supertest.js +36 -35
  53. package/dist/lib/tmp/empty.d.ts +1 -1
  54. package/dist/lib/tmp/empty.js +2 -1
  55. package/dist/lib/types.d.ts +64 -68
  56. package/dist/lib/types.js +2 -1
  57. package/dist/lib/utils.d.ts +8 -11
  58. package/dist/lib/utils.js +63 -34
  59. package/dist/register.d.ts +7 -9
  60. package/dist/register.js +40 -36
  61. package/package.json +7 -8
  62. package/dist/_virtual/rolldown_runtime.js +0 -7
  63. package/dist/typings/index.d.ts +0 -1
@@ -1,10 +1,11 @@
1
- //#region src/lib/context.ts
2
- const context = { runInBackground(scope) {
3
- const taskName = scope._name || scope.name;
4
- if (taskName) scope._name = taskName;
5
- const promise = this._runInBackground(scope);
6
- this.app._backgroundTasks.push(promise);
7
- } };
8
-
9
- //#endregion
10
- export { context };
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 { MockApplicationOptions, MockOptions } from "./types.js";
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
- import path from "node:path";
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
- const options = {
15
- baseDir: process.cwd(),
16
- cache: true,
17
- coverage: true,
18
- clean: true,
19
- ...initOptions
20
- };
21
- if (!path.isAbsolute(options.baseDir)) options.baseDir = path.join(process.cwd(), "test/fixtures", options.baseDir);
22
- let framework = initOptions?.framework ?? initOptions?.customEgg;
23
- if (framework === true) {
24
- framework = process.cwd();
25
- options.plugin = false;
26
- } else {
27
- if (!framework) framework = "";
28
- framework = getFrameworkPath({
29
- framework,
30
- baseDir: options.baseDir
31
- });
32
- }
33
- options.framework = options.customEgg = framework;
34
- const plugins = options.plugins = options.plugins || {};
35
- let pluginPath = path.join(getSourceDirname(), "..");
36
- if (pluginPath.endsWith("/dist") || pluginPath.endsWith("\\dist")) pluginPath = path.join(pluginPath, "..");
37
- plugins["egg-mock"] = {
38
- enable: true,
39
- path: pluginPath
40
- };
41
- if (options.plugin !== false) {
42
- const pluginPath$1 = process.cwd();
43
- const pkgPath = path.join(pluginPath$1, "package.json");
44
- const pluginName = getPluginName(pkgPath);
45
- if (options.plugin && !pluginName) throw new Error(`should set "eggPlugin" property in ${pkgPath}`);
46
- if (pluginName) plugins[pluginName] = {
47
- enable: true,
48
- path: pluginPath$1
49
- };
50
- }
51
- const env = process.env.EGG_SERVER_ENV;
52
- if (!isMocked(process.env, "HOME") && (env === "default" || env === "test" || env === "prod")) mm(process.env, "HOME", options.baseDir);
53
- if (process.env.EGG_MOCK_SERVER_ENV) options.cache = false;
54
- debug("[formatOptions] options: %j", options);
55
- return options;
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
- try {
59
- const pkg = readJSONSync(pkgPath);
60
- if (pkg.eggPlugin?.name) return pkg.eggPlugin.name;
61
- } catch {}
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
- import assert from "node:assert";
3
- import { debuglog } from "node:util";
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
- if (mocha._injectContextLoaded) {
15
- debug("mocha already injected context, skip it");
16
- return;
17
- }
18
- const { Runner } = mocha;
19
- const runSuite = Runner.prototype.runSuite;
20
- const runTests = Runner.prototype.runTests;
21
- function getTestTitle(suite, test) {
22
- const suiteTitle = suite.root ? "root suite" : suite.title;
23
- if (!test) return `"${suiteTitle}"`;
24
- return `"${suiteTitle} - ${test.title}"`;
25
- }
26
- Runner.prototype.runSuite = async function(suite, fn) {
27
- debug("run suite: %s", suite.title);
28
- let app;
29
- const self = this;
30
- try {
31
- app = await getApp(suite);
32
- debug("get app: %s", !!app);
33
- await app.ready();
34
- } catch {
35
- app = null;
36
- }
37
- if (!app) return runSuite.call(self, suite, fn);
38
- let errSuite;
39
- try {
40
- suite.ctx[MOCHA_SUITE_APP] = app;
41
- await (app.mockModuleContextScope || app.mockContextScope).call(app, async function() {
42
- await new Promise((resolve) => {
43
- runSuite.call(self, suite, (aErrSuite) => {
44
- errSuite = aErrSuite;
45
- resolve();
46
- });
47
- });
48
- });
49
- } catch (err) {
50
- suite.beforeAll("egg-mock-mock-ctx-failed", async () => {
51
- throw err;
52
- });
53
- return runSuite.call(self, suite, (aErrSuite) => {
54
- return fn(aErrSuite);
55
- });
56
- }
57
- return fn(errSuite);
58
- };
59
- Runner.prototype.runTests = async function(suite, fn) {
60
- const tests = suite.tests.slice();
61
- if (!tests.length) return runTests.call(this, suite, fn);
62
- const app = suite.ctx[MOCHA_SUITE_APP];
63
- const self = this;
64
- if (!app) return runTests.call(self, suite, fn);
65
- function done(errSuite) {
66
- suite.tests = tests;
67
- return fn(errSuite);
68
- }
69
- async function next(i) {
70
- const test = tests[i];
71
- if (!test) return done();
72
- suite.tests = [test];
73
- let app$1;
74
- try {
75
- app$1 = await getApp(suite, test);
76
- assert(app$1, `not found app for test ${getTestTitle(suite, test)}`);
77
- await app$1.ready();
78
- } catch (err) {
79
- self.fail(test, err);
80
- return next(i + 1);
81
- }
82
- try {
83
- await (app$1.mockModuleContextScope || app$1.mockContextScope).call(app$1, async function() {
84
- return await new Promise((resolve) => {
85
- runTests.call(self, suite, () => {
86
- return resolve();
87
- });
88
- });
89
- });
90
- } catch (err) {
91
- self.fail(test, err);
92
- return next(i + 1);
93
- }
94
- return next(i + 1);
95
- }
96
- next(0).catch((err) => {
97
- self.fail(suite, err);
98
- done(suite);
99
- });
100
- };
101
- mocha._injectContextLoaded = true;
102
- debug("inject context success");
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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
@@ -1,9 +1,5 @@
1
- import { HttpClient, MockAgent } from "urllib";
2
-
3
- //#region src/lib/mock_agent.d.ts
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>;
@@ -1,45 +1,45 @@
1
- import { debuglog } from "node:util";
2
- import { Dispatcher, HttpClient, MockAgent, getGlobalDispatcher, setGlobalDispatcher } from "urllib";
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 = /* @__PURE__ */ new Map();
8
- function getMockAgent(app) {
9
- debug("getMockAgent");
10
- if (!globalThis.__globalDispatcher) {
11
- globalThis.__globalDispatcher = getGlobalDispatcher();
12
- debug("create global dispatcher");
13
- }
14
- if (app?.httpClient && !globalThis.__httpClientDispatchers.has(app.httpClient)) {
15
- globalThis.__httpClientDispatchers.set(app.httpClient, app.httpClient.getDispatcher());
16
- debug("add new httpClient, size: %d", globalThis.__httpClientDispatchers.size);
17
- }
18
- if (!globalThis.__mockAgent) {
19
- globalThis.__mockAgent = new MockAgent();
20
- setGlobalDispatcher(globalThis.__mockAgent);
21
- if (typeof app?.httpClient?.setDispatcher === "function") app.httpClient.setDispatcher(globalThis.__mockAgent);
22
- debug("create new mockAgent");
23
- }
24
- return globalThis.__mockAgent;
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
- 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$1, dispatcher] of globalThis.__httpClientDispatchers) httpClient$1.setDispatcher(dispatcher);
34
- globalThis.__httpClientDispatchers.clear();
35
- if (globalThis.__mockAgent) {
36
- const agent = globalThis.__mockAgent;
37
- globalThis.__mockAgent = null;
38
- await agent.close();
39
- debug("close mockAgent");
40
- }
41
- debug("restoreMockAgent end");
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=
@@ -1,4 +1 @@
1
- //#region src/lib/mock_custom_loader.d.ts
2
- declare function setCustomLoader(app: any): void;
3
- //#endregion
4
- export { setCustomLoader };
1
+ export declare function setCustomLoader(app: any): void;