@eggjs/mock 7.0.0-beta.20 → 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 (96) hide show
  1. package/dist/app/extend/agent.d.ts +33 -38
  2. package/dist/app/extend/agent.js +46 -5
  3. package/dist/app/extend/application.d.ts +171 -5
  4. package/dist/app/extend/application.js +445 -9
  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 -15
  10. package/dist/bootstrap.js +13 -29
  11. package/dist/index.d.ts +77 -10
  12. package/dist/index.js +90 -22
  13. package/dist/inject_mocha.d.ts +1 -1
  14. package/dist/inject_mocha.js +35 -23
  15. package/dist/lib/agent_handler.d.ts +3 -10
  16. package/dist/lib/agent_handler.js +24 -9
  17. package/dist/lib/app.d.ts +3 -6
  18. package/dist/lib/app.js +291 -14
  19. package/dist/lib/app_handler.d.ts +5 -6
  20. package/dist/lib/app_handler.js +69 -21
  21. package/dist/lib/cluster.d.ts +121 -6
  22. package/dist/lib/cluster.js +340 -7
  23. package/dist/lib/context.d.ts +1 -4
  24. package/dist/lib/context.js +11 -3
  25. package/dist/lib/format_options.d.ts +2 -7
  26. package/dist/lib/format_options.js +93 -4
  27. package/dist/lib/inject_context.d.ts +1 -4
  28. package/dist/lib/inject_context.js +126 -22
  29. package/dist/lib/mock_agent.d.ts +4 -8
  30. package/dist/lib/mock_agent.js +45 -3
  31. package/dist/lib/mock_custom_loader.d.ts +1 -4
  32. package/dist/lib/mock_custom_loader.js +34 -3
  33. package/dist/lib/mock_http_server.d.ts +2 -6
  34. package/dist/lib/mock_http_server.js +18 -3
  35. package/dist/lib/mock_httpclient.d.ts +36 -2
  36. package/dist/lib/mock_httpclient.js +146 -4
  37. package/dist/lib/parallel/agent.d.ts +20 -5
  38. package/dist/lib/parallel/agent.js +117 -8
  39. package/dist/lib/parallel/app.d.ts +19 -24
  40. package/dist/lib/parallel/app.js +111 -9
  41. package/dist/lib/parallel/util.d.ts +3 -2
  42. package/dist/lib/parallel/util.js +66 -4
  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 -2
  48. package/dist/lib/restore.js +13 -9
  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 +11 -2
  52. package/dist/lib/supertest.js +40 -5
  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 +72 -3
  56. package/dist/lib/types.js +2 -3
  57. package/dist/lib/utils.d.ts +8 -11
  58. package/dist/lib/utils.js +69 -3
  59. package/dist/register.d.ts +7 -11
  60. package/dist/register.js +41 -55
  61. package/package.json +7 -7
  62. package/dist/agent-BKYkjoCx.js +0 -111
  63. package/dist/agent-CHCe8tnW.d.ts +0 -24
  64. package/dist/agent-DZ_fHoxJ.js +0 -48
  65. package/dist/agent_handler-DeUtoRVT.js +0 -26
  66. package/dist/app-6Bn3F5Uw.js +0 -252
  67. package/dist/app-CoypamK1.js +0 -99
  68. package/dist/app-l47a-gqT.d.ts +0 -7
  69. package/dist/app_handler-CkiK6fyC.js +0 -55
  70. package/dist/app_handler-Gp5J9X-v.d.ts +0 -9
  71. package/dist/application-BPpvw5dg.d.ts +0 -175
  72. package/dist/application-LrKwuOKn.js +0 -385
  73. package/dist/cluster-CA_hr9eV.js +0 -283
  74. package/dist/cluster-RTfUwmUd.d.ts +0 -126
  75. package/dist/context-BIduDy1M.js +0 -10
  76. package/dist/format_options-LRnReKde.js +0 -65
  77. package/dist/index-BtBMDZg8.d.ts +0 -78
  78. package/dist/inject_context-BxpcF-ds.js +0 -106
  79. package/dist/inject_mocha-BVf8v6El.js +0 -38
  80. package/dist/inject_mocha-Daf1Aj8M.d.ts +0 -1
  81. package/dist/mock_agent-CxT7Q0_N.js +0 -45
  82. package/dist/mock_custom_loader-f_tHRojG.js +0 -35
  83. package/dist/mock_http_server-De0r07gr.js +0 -17
  84. package/dist/mock_httpclient-1EgQkMxi.d.ts +0 -40
  85. package/dist/mock_httpclient-B6UVI7GS.js +0 -110
  86. package/dist/restore-BL0cE0KG.d.ts +0 -4
  87. package/dist/restore-CVQYXquh.js +0 -16
  88. package/dist/src-D22EjdGo.js +0 -47
  89. package/dist/supertest-BIds28yL.d.ts +0 -16
  90. package/dist/supertest-Cg412Los.js +0 -39
  91. package/dist/types-CPNMyF89.js +0 -1
  92. package/dist/types-CjZ-JeCo.d.ts +0 -75
  93. package/dist/typings/index.d.ts +0 -1
  94. package/dist/util-1xYBaaoh.d.ts +0 -6
  95. package/dist/util-BpppqTXv.js +0 -59
  96. package/dist/utils-MhP_Krx1.js +0 -40
@@ -1,39 +1,34 @@
1
- import { MockHttpClientMethod, MockResultFunction, MockResultOptions } from "../../mock_httpclient-1EgQkMxi.js";
2
- import { Agent } from "egg";
3
- import { mock, restore } from "mm";
4
- import * as urllib0 from "urllib";
5
-
6
- //#region src/app/extend/agent.d.ts
7
- declare abstract class AgentUnittest extends Agent {
8
- [key: string]: any;
9
- _mockHttpClient: MockHttpClientMethod;
10
- /**
11
- * mock httpclient
12
- * @alias mockHttpClient
13
- * @function App#mockHttpclient
14
- */
15
- mockHttpclient(mockUrl: string | RegExp, mockMethod: string | string[] | MockResultOptions | MockResultFunction, mockResult?: MockResultOptions | MockResultFunction | string): void;
16
- /**
17
- * mock httpclient
18
- * @function App#mockHttpClient
19
- */
20
- mockHttpClient(mockUrl: string | RegExp, mockMethod: string | string[] | MockResultOptions | MockResultFunction, mockResult?: MockResultOptions | MockResultFunction | string): void;
21
- /**
22
- * get mock httpclient agent
23
- * @function Agent#mockHttpclientAgent
24
- */
25
- mockAgent(): urllib0.MockAgent<urllib0.MockAgent.Options>;
26
- mockAgentRestore(): Promise<void>;
27
- /**
28
- * @see mm#restore
29
- * @function Agent#mockRestore
30
- */
31
- mockRestore: typeof restore;
32
- /**
33
- * @see mm
34
- * @function Agent#mm
35
- */
36
- mm: typeof mock;
1
+ import { mock, restore } from 'mm';
2
+ import { Agent } from 'egg';
3
+ import { type MockResultFunction, type MockResultOptions, type MockHttpClientMethod } from '../../lib/mock_httpclient.ts';
4
+ export default abstract class AgentUnittest extends Agent {
5
+ [key: string]: any;
6
+ _mockHttpClient: MockHttpClientMethod;
7
+ /**
8
+ * mock httpclient
9
+ * @alias mockHttpClient
10
+ * @function App#mockHttpclient
11
+ */
12
+ mockHttpclient(mockUrl: string | RegExp, mockMethod: string | string[] | MockResultOptions | MockResultFunction, mockResult?: MockResultOptions | MockResultFunction | string): void;
13
+ /**
14
+ * mock httpclient
15
+ * @function App#mockHttpClient
16
+ */
17
+ mockHttpClient(mockUrl: string | RegExp, mockMethod: string | string[] | MockResultOptions | MockResultFunction, mockResult?: MockResultOptions | MockResultFunction | string): void;
18
+ /**
19
+ * get mock httpclient agent
20
+ * @function Agent#mockHttpclientAgent
21
+ */
22
+ mockAgent(): import("urllib").MockAgent<import("urllib").MockAgent.Options>;
23
+ mockAgentRestore(): Promise<void>;
24
+ /**
25
+ * @see mm#restore
26
+ * @function Agent#mockRestore
27
+ */
28
+ mockRestore: typeof restore;
29
+ /**
30
+ * @see mm
31
+ * @function Agent#mm
32
+ */
33
+ mm: typeof mock;
37
34
  }
38
- //#endregion
39
- export { AgentUnittest as default };
@@ -1,5 +1,46 @@
1
- import "../../mock_agent-CxT7Q0_N.js";
2
- import "../../mock_httpclient-B6UVI7GS.js";
3
- import { AgentUnittest } from "../../agent-DZ_fHoxJ.js";
4
-
5
- export { AgentUnittest as default };
1
+ import { mock, restore } from 'mm';
2
+ import { Agent } from 'egg';
3
+ import { createMockHttpClient, } from "../../lib/mock_httpclient.js";
4
+ import { getMockAgent, restoreMockAgent } from "../../lib/mock_agent.js";
5
+ export default class AgentUnittest extends Agent {
6
+ _mockHttpClient;
7
+ /**
8
+ * mock httpclient
9
+ * @alias mockHttpClient
10
+ * @function App#mockHttpclient
11
+ */
12
+ mockHttpclient(mockUrl, mockMethod, mockResult) {
13
+ return this.mockHttpClient(mockUrl, mockMethod, mockResult);
14
+ }
15
+ /**
16
+ * mock httpclient
17
+ * @function App#mockHttpClient
18
+ */
19
+ mockHttpClient(mockUrl, mockMethod, mockResult) {
20
+ if (!this._mockHttpClient) {
21
+ this._mockHttpClient = createMockHttpClient(this);
22
+ }
23
+ return this._mockHttpClient(mockUrl, mockMethod, mockResult);
24
+ }
25
+ /**
26
+ * get mock httpclient agent
27
+ * @function Agent#mockHttpclientAgent
28
+ */
29
+ mockAgent() {
30
+ return getMockAgent(this);
31
+ }
32
+ async mockAgentRestore() {
33
+ await restoreMockAgent();
34
+ }
35
+ /**
36
+ * @see mm#restore
37
+ * @function Agent#mockRestore
38
+ */
39
+ mockRestore = restore;
40
+ /**
41
+ * @see mm
42
+ * @function Agent#mm
43
+ */
44
+ mm = mock;
45
+ }
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBwL2V4dGVuZC9hZ2VudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQztBQUNuQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBRTVCLE9BQU8sRUFDTCxvQkFBb0IsR0FJckIsTUFBTSw4QkFBOEIsQ0FBQztBQUN0QyxPQUFPLEVBQUUsWUFBWSxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFekUsTUFBTSxDQUFDLE9BQU8sT0FBZ0IsYUFBYyxTQUFRLEtBQUs7SUFFdkQsZUFBZSxDQUF1QjtJQUV0Qzs7OztPQUlHO0lBQ0gsY0FBYyxDQUNaLE9BQXdCLEVBQ3hCLFVBQXNFLEVBQ3RFLFVBQTREO1FBRTVELE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRDs7O09BR0c7SUFDSCxjQUFjLENBQ1osT0FBd0IsRUFDeEIsVUFBc0UsRUFDdEUsVUFBNEQ7UUFFNUQsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsZUFBZSxHQUFHLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BELENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsU0FBUztRQUNQLE9BQU8sWUFBWSxDQUFDLElBQVcsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxLQUFLLENBQUMsZ0JBQWdCO1FBQ3BCLE1BQU0sZ0JBQWdCLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsV0FBVyxHQUFHLE9BQU8sQ0FBQztJQUV0Qjs7O09BR0c7SUFDSCxFQUFFLEdBQUcsSUFBSSxDQUFDO0NBQ1gifQ==
@@ -1,5 +1,171 @@
1
- import "../../mock_httpclient-1EgQkMxi.js";
2
- import "../../supertest-BIds28yL.js";
3
- import "../../types-CjZ-JeCo.js";
4
- import { ApplicationUnittest, MockContext, MockContextData, MockContextOptions } from "../../application-BPpvw5dg.js";
5
- export { MockContext, MockContextData, MockContextOptions, ApplicationUnittest as default };
1
+ import { IncomingMessage } from 'node:http';
2
+ import { mock } from 'mm';
3
+ import { Logger } from 'egg-logger';
4
+ import { type Context, Application } from 'egg';
5
+ import type { MockAgent } from 'urllib';
6
+ import { type MockResultFunction, type MockResultOptions, type MockHttpClientMethod } from '../../lib/mock_httpclient.ts';
7
+ import { EggTestRequest } from '../../lib/supertest.ts';
8
+ import { type MockOptions } from '../../lib/types.ts';
9
+ export interface MockContextOptions {
10
+ /**
11
+ * mock ctxStorage or not, default is `true`
12
+ */
13
+ mockCtxStorage?: boolean;
14
+ /**
15
+ * reuse ctxStorage or not, default is `true`
16
+ */
17
+ reuseCtxStorage?: boolean;
18
+ }
19
+ export interface MockContextData {
20
+ headers?: Record<string, string | string[]>;
21
+ [key: string]: any;
22
+ }
23
+ export interface MockContext extends Context {
24
+ service: any;
25
+ }
26
+ export default abstract class ApplicationUnittest extends Application {
27
+ [key: string]: any;
28
+ options: MockOptions & Application['options'];
29
+ _mockHttpClient?: MockHttpClientMethod;
30
+ agent: NonNullable<Application['agent']>;
31
+ /**
32
+ * mock Context
33
+ * @function App#mockContext
34
+ * @param {Object} data - ctx data
35
+ * @param {Object} [options] - mock ctx options
36
+ * @example
37
+ * ```js
38
+ * const ctx = app.mockContext({
39
+ * user: {
40
+ * name: 'Jason'
41
+ * }
42
+ * });
43
+ * console.log(ctx.user.name); // Jason
44
+ *
45
+ * // controller
46
+ * module.exports = function*() {
47
+ * this.body = this.user.name;
48
+ * };
49
+ * ```
50
+ */
51
+ mockContext(data?: MockContextData, options?: MockContextOptions): MockContext;
52
+ mockContextScope(fn: (ctx?: MockContext) => Promise<any>, data?: MockContextData): Promise<any>;
53
+ /**
54
+ * mock cookie session
55
+ * @function App#mockSession
56
+ * @param {Object} data - session object
57
+ */
58
+ mockSession(data: any): this;
59
+ /**
60
+ * Mock service
61
+ * @function App#mockService
62
+ * @param {String} service - name
63
+ * @param {String} methodName - method
64
+ * @param {Object|Function|Error} fn - mock you data
65
+ */
66
+ mockService(service: string | any, methodName: string, fn: any): this;
67
+ /**
68
+ * mock service that return error
69
+ * @function App#mockServiceError
70
+ * @param {String} service - name
71
+ * @param {String} methodName - method
72
+ * @param {Error} [err] - error information
73
+ */
74
+ mockServiceError(service: string | any, methodName: string, err?: string | Error): this;
75
+ _mockFn(obj: any, name: string, data: any): void;
76
+ /**
77
+ * mock request
78
+ * @function App#mockRequest
79
+ * @param {Request} req - mock request
80
+ */
81
+ mockRequest(req: MockContextData): IncomingMessage;
82
+ /**
83
+ * mock cookies
84
+ * @function App#mockCookies
85
+ */
86
+ mockCookies(cookies: Record<string, string | string[]>): this;
87
+ /**
88
+ * mock header
89
+ * @function App#mockHeaders
90
+ */
91
+ mockHeaders(headers: Record<string, string | string[]>): this;
92
+ /**
93
+ * mock csrf
94
+ * @function App#mockCsrf
95
+ * @since 1.11
96
+ */
97
+ mockCsrf(): this;
98
+ /**
99
+ * mock httpclient
100
+ * @alias mockHttpClient
101
+ * @function App#mockHttpclient
102
+ */
103
+ mockHttpclient(mockUrl: string | RegExp, mockMethod: string | string[] | MockResultOptions | MockResultFunction, mockResult?: MockResultOptions | MockResultFunction | string): this;
104
+ /**
105
+ * mock httpclient
106
+ * @function App#mockHttpClient
107
+ */
108
+ mockHttpClient(mockUrl: string | RegExp, mockMethod: string | string[] | MockResultOptions | MockResultFunction, mockResult?: MockResultOptions | MockResultFunction | string): this;
109
+ /**
110
+ * @deprecated Please use app.mockHttpClient instead of app.mockUrllib
111
+ */
112
+ mockUrllib(mockUrl: string | RegExp, mockMethod: string | string[] | MockResultOptions | MockResultFunction, mockResult?: MockResultOptions | MockResultFunction | string): this;
113
+ /**
114
+ * get mock httpclient agent
115
+ * @function App#mockHttpclientAgent
116
+ */
117
+ mockAgent(): MockAgent;
118
+ mockAgentRestore(): Promise<void>;
119
+ /**
120
+ * @see mm#restore
121
+ * @function App#mockRestore
122
+ */
123
+ mockRestore(): Promise<void>;
124
+ /**
125
+ * @see mm
126
+ * @function App#mm
127
+ */
128
+ get mm(): typeof mock;
129
+ /**
130
+ * override loadAgent
131
+ * @function App#loadAgent
132
+ */
133
+ loadAgent(): void;
134
+ /**
135
+ * mock serverEnv
136
+ * @function App#mockEnv
137
+ * @param {String} env - serverEnv
138
+ */
139
+ mockEnv(env: string): this;
140
+ /**
141
+ * http request helper
142
+ * @function App#httpRequest
143
+ * @return {SupertestRequest} req - supertest request
144
+ * @see https://github.com/visionmedia/supertest
145
+ */
146
+ httpRequest(): EggTestRequest;
147
+ /**
148
+ * collection logger message, then can be use on `expectLog()`
149
+ * @param {String|Logger} [logger] - logger instance, default is `app.logger`
150
+ * @function App#mockLog
151
+ */
152
+ mockLog(logger?: string | Logger): void;
153
+ __checkExpectLog(expectOrNot: boolean, str: string | RegExp, logger?: string | Logger): void;
154
+ /**
155
+ * expect str/regexp in the logger, if your server disk is slow, please call `mockLog()` first.
156
+ * @param {String|RegExp} str - test str or regexp
157
+ * @param {String|Logger} [logger] - logger instance, default is `ctx.logger`
158
+ * @function App#expectLog
159
+ */
160
+ expectLog(str: string | RegExp, logger?: string | Logger): void;
161
+ /**
162
+ * not expect str/regexp in the logger, if your server disk is slow, please call `mockLog()` first.
163
+ * @param {String|RegExp} str - test str or regexp
164
+ * @param {String|Logger} [logger] - logger instance, default is `ctx.logger`
165
+ * @function App#notExpectLog
166
+ */
167
+ notExpectLog(str: string | RegExp, logger?: string | Logger): void;
168
+ backgroundTasksFinished(): Promise<void>;
169
+ get _backgroundTasks(): Promise<any>[];
170
+ set _backgroundTasks(tasks: Promise<any>[]);
171
+ }