@eggjs/supertest 8.2.0 → 8.3.0-beta.2

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 (46) hide show
  1. package/README.md +50 -56
  2. package/dist/agent.d.ts +33 -0
  3. package/dist/agent.js +74 -0
  4. package/dist/error/AssertError.d.ts +8 -0
  5. package/dist/error/AssertError.js +15 -0
  6. package/dist/index.d.ts +17 -0
  7. package/dist/index.js +24 -0
  8. package/dist/request.d.ts +25 -0
  9. package/dist/request.js +51 -0
  10. package/dist/test.d.ts +100 -0
  11. package/dist/test.js +237 -0
  12. package/dist/types.d.ts +14 -0
  13. package/package.json +23 -50
  14. package/dist/commonjs/agent.d.ts +0 -28
  15. package/dist/commonjs/agent.js +0 -94
  16. package/dist/commonjs/error/AssertError.d.ts +0 -5
  17. package/dist/commonjs/error/AssertError.js +0 -16
  18. package/dist/commonjs/index.d.ts +0 -14
  19. package/dist/commonjs/index.js +0 -47
  20. package/dist/commonjs/package.json +0 -3
  21. package/dist/commonjs/request.d.ts +0 -21
  22. package/dist/commonjs/request.js +0 -63
  23. package/dist/commonjs/test.d.ts +0 -96
  24. package/dist/commonjs/test.js +0 -326
  25. package/dist/commonjs/types.d.ts +0 -10
  26. package/dist/commonjs/types.js +0 -3
  27. package/dist/esm/agent.d.ts +0 -28
  28. package/dist/esm/agent.js +0 -87
  29. package/dist/esm/error/AssertError.d.ts +0 -5
  30. package/dist/esm/error/AssertError.js +0 -12
  31. package/dist/esm/index.d.ts +0 -14
  32. package/dist/esm/index.js +0 -30
  33. package/dist/esm/package.json +0 -3
  34. package/dist/esm/request.d.ts +0 -21
  35. package/dist/esm/request.js +0 -56
  36. package/dist/esm/test.d.ts +0 -96
  37. package/dist/esm/test.js +0 -322
  38. package/dist/esm/types.d.ts +0 -10
  39. package/dist/esm/types.js +0 -2
  40. package/dist/package.json +0 -4
  41. package/src/agent.ts +0 -96
  42. package/src/error/AssertError.ts +0 -12
  43. package/src/index.ts +0 -39
  44. package/src/request.ts +0 -62
  45. package/src/test.ts +0 -372
  46. package/src/types.ts +0 -17
@@ -1,96 +0,0 @@
1
- import type { Server } from 'node:net';
2
- import { Request, type Response } from 'superagent';
3
- import { AssertError } from './error/AssertError.js';
4
- export type TestApplication = Server | string;
5
- export type AssertFunction = (res: Response) => AssertError | void;
6
- export type CallbackFunction = (err: AssertError | Error | null, res: Response) => void;
7
- export type ResponseError = Error & {
8
- syscall?: string;
9
- code?: string;
10
- status?: number;
11
- };
12
- export interface ExpectHeader {
13
- name: string;
14
- value: string | number | RegExp;
15
- }
16
- export declare class Test extends Request {
17
- app: TestApplication;
18
- _server: Server;
19
- _asserts: AssertFunction[];
20
- /**
21
- * Initialize a new `Test` with the given `app`,
22
- * request `method` and `path`.
23
- */
24
- constructor(app: TestApplication, method: string, path: string);
25
- /**
26
- * Returns a URL, extracted from a server.
27
- *
28
- * @return {String} URL address
29
- * @private
30
- */
31
- protected serverAddress(app: Server, path: string): string;
32
- /**
33
- * Expectations:
34
- *
35
- * ```js
36
- * .expect(200)
37
- * .expect(200, fn)
38
- * .expect(200, body)
39
- * .expect('Some body')
40
- * .expect('Some body', fn)
41
- * .expect(['json array body', { key: 'val' }])
42
- * .expect('Content-Type', 'application/json')
43
- * .expect('Content-Type', 'application/json', fn)
44
- * .expect(fn)
45
- * .expect([200, 404])
46
- * ```
47
- *
48
- * @return {Test} The current Test instance for chaining.
49
- */
50
- expect(a: number | string | RegExp | object | AssertFunction, b?: string | number | RegExp | CallbackFunction, c?: CallbackFunction): Test;
51
- /**
52
- * UnExpectations:
53
- *
54
- * .unexpectHeader('Content-Type')
55
- * .unexpectHeader('Content-Type', fn)
56
- */
57
- unexpectHeader(name: string, fn?: CallbackFunction): this;
58
- /**
59
- * Expectations:
60
- *
61
- * .expectHeader('Content-Type')
62
- * .expectHeader('Content-Type', fn)
63
- */
64
- expectHeader(name: string, fn?: CallbackFunction): this;
65
- _unexpectHeader(name: string, res: Response): AssertError | undefined;
66
- _expectHeader(name: string, res: Response): AssertError | undefined;
67
- /**
68
- * Defer invoking superagent's `.end()` until
69
- * the server is listening.
70
- */
71
- end(fn: CallbackFunction): this;
72
- /**
73
- * Perform assertions and invoke `fn(err, res)`.
74
- */
75
- assert(resError: ResponseError | null, res: Response, fn: CallbackFunction): void;
76
- /**
77
- * Perform assertions on a response body and return an Error upon failure.
78
- */
79
- _assertBody(body: RegExp | string | number | object | null | undefined, res: Response): AssertError | undefined;
80
- /**
81
- * Perform assertions on a response header and return an Error upon failure.
82
- */
83
- _assertHeader(header: ExpectHeader, res: Response): AssertError | undefined;
84
- /**
85
- * Perform assertions on the response status and return an Error upon failure.
86
- */
87
- _assertStatus(status: number, res: Response): AssertError | undefined;
88
- /**
89
- * Perform assertions on the response status and return an Error upon failure.
90
- */
91
- _assertStatusArray(statusArray: number[], res: Response): AssertError | undefined;
92
- /**
93
- * Performs an assertion by calling a function and return an Error upon failure.
94
- */
95
- _assertFunction(fn: AssertFunction, res: Response): Error | undefined;
96
- }
@@ -1,326 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Test = void 0;
4
- const node_util_1 = require("node:util");
5
- const node_http_1 = require("node:http");
6
- const node_tls_1 = require("node:tls");
7
- const node_assert_1 = require("node:assert");
8
- const superagent_1 = require("superagent");
9
- const AssertError_js_1 = require("./error/AssertError.js");
10
- class Test extends superagent_1.Request {
11
- app;
12
- _server;
13
- _asserts = [];
14
- /**
15
- * Initialize a new `Test` with the given `app`,
16
- * request `method` and `path`.
17
- */
18
- constructor(app, method, path) {
19
- super(method.toUpperCase(), path);
20
- this.redirects(0);
21
- this.buffer();
22
- this.app = app;
23
- this.url = typeof app === 'string'
24
- ? app + path
25
- : this.serverAddress(app, path);
26
- }
27
- /**
28
- * Returns a URL, extracted from a server.
29
- *
30
- * @return {String} URL address
31
- * @private
32
- */
33
- serverAddress(app, path) {
34
- const addr = app.address();
35
- if (!addr) {
36
- this._server = app.listen(0);
37
- }
38
- const port = app.address().port;
39
- const protocol = (app instanceof node_tls_1.Server || this._server instanceof node_tls_1.Server) ? 'https' : 'http';
40
- return `${protocol}://127.0.0.1:${port}${path}`;
41
- }
42
- /**
43
- * Expectations:
44
- *
45
- * ```js
46
- * .expect(200)
47
- * .expect(200, fn)
48
- * .expect(200, body)
49
- * .expect('Some body')
50
- * .expect('Some body', fn)
51
- * .expect(['json array body', { key: 'val' }])
52
- * .expect('Content-Type', 'application/json')
53
- * .expect('Content-Type', 'application/json', fn)
54
- * .expect(fn)
55
- * .expect([200, 404])
56
- * ```
57
- *
58
- * @return {Test} The current Test instance for chaining.
59
- */
60
- expect(a, b, c) {
61
- // callback
62
- if (typeof a === 'function') {
63
- // .expect(fn)
64
- this._asserts.push(wrapAssertFn(a));
65
- return this;
66
- }
67
- if (typeof b === 'function') {
68
- // .expect('Some body', fn)
69
- this.end(b);
70
- }
71
- if (typeof c === 'function') {
72
- // .expect('Content-Type', 'application/json', fn)
73
- this.end(c);
74
- }
75
- // status
76
- if (typeof a === 'number') {
77
- this._asserts.push(wrapAssertFn(this._assertStatus.bind(this, a)));
78
- // body
79
- if (typeof b !== 'function' && arguments.length > 1) {
80
- // .expect(200, 'body')
81
- // .expect(200, null)
82
- // .expect(200, 9999999)
83
- this._asserts.push(wrapAssertFn(this._assertBody.bind(this, b)));
84
- }
85
- return this;
86
- }
87
- // multiple statuses
88
- if (Array.isArray(a) && a.length > 0 && a.every(val => typeof val === 'number')) {
89
- // .expect([200, 300])
90
- this._asserts.push(wrapAssertFn(this._assertStatusArray.bind(this, a)));
91
- return this;
92
- }
93
- // header field
94
- if (typeof b === 'string' || typeof b === 'number' || b instanceof RegExp) {
95
- // .expect('Content-Type', 'application/json')
96
- // .expect('Content-Type', /json/)
97
- this._asserts.push(wrapAssertFn(this._assertHeader.bind(this, { name: String(a), value: b })));
98
- return this;
99
- }
100
- // body
101
- // .expect('body')
102
- // .expect(['json array body', { key: 'val' }])
103
- // .expect(/foo/)
104
- this._asserts.push(wrapAssertFn(this._assertBody.bind(this, a)));
105
- return this;
106
- }
107
- /**
108
- * UnExpectations:
109
- *
110
- * .unexpectHeader('Content-Type')
111
- * .unexpectHeader('Content-Type', fn)
112
- */
113
- unexpectHeader(name, fn) {
114
- if (typeof fn === 'function') {
115
- this.end(fn);
116
- }
117
- // header
118
- if (typeof name === 'string') {
119
- this._asserts.push(this._unexpectHeader.bind(this, name));
120
- }
121
- return this;
122
- }
123
- /**
124
- * Expectations:
125
- *
126
- * .expectHeader('Content-Type')
127
- * .expectHeader('Content-Type', fn)
128
- */
129
- expectHeader(name, fn) {
130
- if (typeof fn === 'function') {
131
- this.end(fn);
132
- }
133
- // header
134
- if (typeof name === 'string') {
135
- this._asserts.push(this._expectHeader.bind(this, name));
136
- }
137
- return this;
138
- }
139
- _unexpectHeader(name, res) {
140
- const actual = res.headers[name.toLowerCase()];
141
- if (actual) {
142
- return new AssertError_js_1.AssertError('unexpected "' + name + '" header field, got "' + actual + '"', name, actual);
143
- }
144
- }
145
- _expectHeader(name, res) {
146
- const actual = res.headers[name.toLowerCase()];
147
- if (!actual) {
148
- return new AssertError_js_1.AssertError('expected "' + name + '" header field', name, actual);
149
- }
150
- }
151
- /**
152
- * Defer invoking superagent's `.end()` until
153
- * the server is listening.
154
- */
155
- end(fn) {
156
- const server = this._server;
157
- super.end((err, res) => {
158
- const localAssert = () => {
159
- this.assert(err, res, fn);
160
- };
161
- if (server && '_handle' in server && server._handle) {
162
- return server.close(localAssert);
163
- }
164
- localAssert();
165
- });
166
- return this;
167
- }
168
- /**
169
- * Perform assertions and invoke `fn(err, res)`.
170
- */
171
- assert(resError, res, fn) {
172
- let errorObj;
173
- // check for unexpected network errors or server not running/reachable errors
174
- // when there is no response and superagent sends back a System Error
175
- // do not check further for other asserts, if any, in such case
176
- // https://nodejs.org/api/errors.html#errors_common_system_errors
177
- const sysErrors = {
178
- ECONNREFUSED: 'Connection refused',
179
- ECONNRESET: 'Connection reset by peer',
180
- EPIPE: 'Broken pipe',
181
- ETIMEDOUT: 'Operation timed out',
182
- };
183
- if (!res && resError) {
184
- if (resError instanceof Error
185
- && resError.syscall === 'connect'
186
- && resError.code
187
- && sysErrors[resError.code]) {
188
- errorObj = new Error(resError.code + ': ' + sysErrors[resError.code]);
189
- }
190
- else {
191
- errorObj = resError;
192
- }
193
- }
194
- // asserts
195
- for (let i = 0; i < this._asserts.length && !errorObj; i += 1) {
196
- errorObj = this._assertFunction(this._asserts[i], res);
197
- }
198
- // set unexpected superagent error if no other error has occurred.
199
- if (!errorObj && resError instanceof Error && (!res || resError.status !== res.status)) {
200
- errorObj = resError;
201
- }
202
- fn.call(this, errorObj || null, res);
203
- }
204
- /**
205
- * Perform assertions on a response body and return an Error upon failure.
206
- */
207
- _assertBody(body, res) {
208
- const isRegexp = body instanceof RegExp;
209
- // parsed
210
- if (typeof body === 'object' && !isRegexp) {
211
- try {
212
- (0, node_assert_1.deepStrictEqual)(body, res.body);
213
- }
214
- catch (err) {
215
- const a = (0, node_util_1.inspect)(body);
216
- const b = (0, node_util_1.inspect)(res.body);
217
- return new AssertError_js_1.AssertError('expected ' + a + ' response body, got ' + b, body, res.body, { cause: err });
218
- }
219
- }
220
- else if (body !== res.text) {
221
- // string
222
- const a = (0, node_util_1.inspect)(body);
223
- const b = (0, node_util_1.inspect)(res.text);
224
- // regexp
225
- if (isRegexp) {
226
- if (!body.test(res.text)) {
227
- return new AssertError_js_1.AssertError('expected body ' + b + ' to match ' + body, body, res.body);
228
- }
229
- }
230
- else {
231
- return new AssertError_js_1.AssertError('expected ' + a + ' response body, got ' + b, body, res.body);
232
- }
233
- }
234
- }
235
- /**
236
- * Perform assertions on a response header and return an Error upon failure.
237
- */
238
- _assertHeader(header, res) {
239
- const field = header.name;
240
- const actual = res.header[field.toLowerCase()];
241
- const fieldExpected = header.value;
242
- if (typeof actual === 'undefined') {
243
- return new AssertError_js_1.AssertError('expected "' + field + '" header field', header, actual);
244
- }
245
- // This check handles header values that may be a String or single element Array
246
- if ((Array.isArray(actual) && actual.toString() === fieldExpected)
247
- || fieldExpected === actual) {
248
- return;
249
- }
250
- if (fieldExpected instanceof RegExp) {
251
- if (!fieldExpected.test(actual)) {
252
- return new AssertError_js_1.AssertError('expected "' + field + '" matching '
253
- + fieldExpected + ', got "' + actual + '"', header, actual);
254
- }
255
- }
256
- else {
257
- return new AssertError_js_1.AssertError('expected "' + field + '" of "' + fieldExpected + '", got "' + actual + '"', header, actual);
258
- }
259
- }
260
- /**
261
- * Perform assertions on the response status and return an Error upon failure.
262
- */
263
- _assertStatus(status, res) {
264
- if (res.status !== status) {
265
- const a = node_http_1.STATUS_CODES[status];
266
- const b = node_http_1.STATUS_CODES[res.status];
267
- return new AssertError_js_1.AssertError('expected ' + status + ' "' + a + '", got ' + res.status + ' "' + b + '"', status, res.status);
268
- }
269
- }
270
- /**
271
- * Perform assertions on the response status and return an Error upon failure.
272
- */
273
- _assertStatusArray(statusArray, res) {
274
- if (!statusArray.includes(res.status)) {
275
- const b = node_http_1.STATUS_CODES[res.status];
276
- const expectedList = statusArray.join(', ');
277
- return new AssertError_js_1.AssertError('expected one of "' + expectedList + '", got ' + res.status + ' "' + b + '"', statusArray, res.status);
278
- }
279
- }
280
- /**
281
- * Performs an assertion by calling a function and return an Error upon failure.
282
- */
283
- _assertFunction(fn, res) {
284
- let err;
285
- try {
286
- err = fn(res);
287
- }
288
- catch (e) {
289
- err = e;
290
- }
291
- if (err instanceof Error) {
292
- return err;
293
- }
294
- }
295
- }
296
- exports.Test = Test;
297
- /**
298
- * Wraps an assert function into another.
299
- * The wrapper function edit the stack trace of any assertion error, prepending a more useful stack to it.
300
- *
301
- * @param {Function} assertFn
302
- * @return {Function} wrapped assert function
303
- */
304
- function wrapAssertFn(assertFn) {
305
- const savedStack = new Error().stack.split('\n').slice(3);
306
- return (res) => {
307
- let badStack;
308
- let err;
309
- try {
310
- err = assertFn(res);
311
- }
312
- catch (e) {
313
- err = e;
314
- }
315
- if (err instanceof Error && err.stack) {
316
- badStack = err.stack.replace(err.message, '').split('\n').slice(1);
317
- err.stack = [err.toString()]
318
- .concat(savedStack)
319
- .concat('----')
320
- .concat(badStack)
321
- .join('\n');
322
- }
323
- return err;
324
- };
325
- }
326
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlDQUFvQztBQUNwQyx5Q0FBeUM7QUFDekMsdUNBQWlEO0FBRWpELDZDQUE4QztBQUM5QywyQ0FBb0Q7QUFDcEQsMkRBQXFEO0FBWXJELE1BQWEsSUFBSyxTQUFRLG9CQUFPO0lBQy9CLEdBQUcsQ0FBa0I7SUFDckIsT0FBTyxDQUFTO0lBQ2hCLFFBQVEsR0FBcUIsRUFBRSxDQUFDO0lBRWhDOzs7T0FHRztJQUNILFlBQVksR0FBb0IsRUFBRSxNQUFjLEVBQUUsSUFBWTtRQUM1RCxLQUFLLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRWxDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbEIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2QsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDZixJQUFJLENBQUMsR0FBRyxHQUFHLE9BQU8sR0FBRyxLQUFLLFFBQVE7WUFDaEMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxJQUFJO1lBQ1osQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNPLGFBQWEsQ0FBQyxHQUFXLEVBQUUsSUFBWTtRQUMvQyxNQUFNLElBQUksR0FBRyxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ1YsSUFBSSxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQy9CLENBQUM7UUFDRCxNQUFNLElBQUksR0FBSSxHQUFHLENBQUMsT0FBTyxFQUFrQixDQUFDLElBQUksQ0FBQztRQUNqRCxNQUFNLFFBQVEsR0FBRyxDQUFD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
@@ -1,10 +0,0 @@
1
- import type { RequestListener } from 'node:http';
2
- import type { Http2ServerRequest, Http2ServerResponse } from 'node:http2';
3
- import type { Server } from 'node:net';
4
- import type { AgentOptions as SAgentOptions } from 'superagent';
5
- export type H2RequestListener = (request: Http2ServerRequest, response: Http2ServerResponse) => void;
6
- export type H1RequestListener = RequestListener;
7
- export type App = Server | H1RequestListener | H2RequestListener | string;
8
- export interface AgentOptions extends SAgentOptions {
9
- http2?: boolean;
10
- }
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
@@ -1,28 +0,0 @@
1
- import type { Server } from 'node:net';
2
- import { agent as Agent } from 'superagent';
3
- import { Test } from './test.js';
4
- import type { AgentOptions, App } from './types.js';
5
- /**
6
- * Initialize a new `TestAgent`.
7
- *
8
- * @param {Function|Server} app
9
- * @param {Object} options
10
- */
11
- export declare class TestAgent extends Agent {
12
- #private;
13
- app: Server | string;
14
- _host: string;
15
- constructor(appOrListener: App, options?: AgentOptions);
16
- host(host: string): this;
17
- protected _testRequest(method: string, url: string): Test;
18
- delete(url: string): Test;
19
- del(url: string): Test;
20
- get(url: string): Test;
21
- head(url: string): Test;
22
- put(url: string): Test;
23
- post(url: string): Test;
24
- patch(url: string): Test;
25
- options(url: string): Test;
26
- trace(url: string): Test;
27
- }
28
- export declare const proxyAgent: typeof TestAgent;
package/dist/esm/agent.js DELETED
@@ -1,87 +0,0 @@
1
- import http from 'node:http';
2
- import http2 from 'node:http2';
3
- import { agent as Agent } from 'superagent';
4
- import { Test } from './test.js';
5
- /**
6
- * Initialize a new `TestAgent`.
7
- *
8
- * @param {Function|Server} app
9
- * @param {Object} options
10
- */
11
- export class TestAgent extends Agent {
12
- app;
13
- _host;
14
- #http2 = false;
15
- constructor(appOrListener, options = {}) {
16
- super(options);
17
- if (typeof appOrListener === 'function') {
18
- if (options.http2) {
19
- this.#http2 = true;
20
- this.app = http2.createServer(appOrListener); // eslint-disable-line no-param-reassign
21
- }
22
- else {
23
- this.app = http.createServer(appOrListener); // eslint-disable-line no-param-reassign
24
- }
25
- }
26
- else {
27
- this.app = appOrListener;
28
- }
29
- }
30
- // set a host name
31
- host(host) {
32
- this._host = host;
33
- return this;
34
- }
35
- // TestAgent.prototype.del = TestAgent.prototype.delete;
36
- _testRequest(method, url) {
37
- const req = new Test(this.app, method.toUpperCase(), url);
38
- if (this.#http2) {
39
- req.http2();
40
- }
41
- if (this._host) {
42
- req.set('host', this._host);
43
- }
44
- const that = this;
45
- // access not internal methods
46
- req.on('response', that._saveCookies.bind(this));
47
- req.on('redirect', that._saveCookies.bind(this));
48
- req.on('redirect', that._attachCookies.bind(this, req));
49
- that._setDefaults(req);
50
- that._attachCookies(req);
51
- return req;
52
- }
53
- delete(url) {
54
- return this._testRequest('delete', url);
55
- }
56
- del(url) {
57
- return this._testRequest('delete', url);
58
- }
59
- get(url) {
60
- return this._testRequest('get', url);
61
- }
62
- head(url) {
63
- return this._testRequest('head', url);
64
- }
65
- put(url) {
66
- return this._testRequest('put', url);
67
- }
68
- post(url) {
69
- return this._testRequest('post', url);
70
- }
71
- patch(url) {
72
- return this._testRequest('patch', url);
73
- }
74
- options(url) {
75
- return this._testRequest('options', url);
76
- }
77
- trace(url) {
78
- return this._testRequest('trace', url);
79
- }
80
- }
81
- // allow keep use by `agent()`
82
- export const proxyAgent = new Proxy(TestAgent, {
83
- apply(target, _, argumentsList) {
84
- return new target(argumentsList[0], argumentsList[1]);
85
- },
86
- });
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYWdlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxJQUFJLE1BQU0sV0FBVyxDQUFDO0FBQzdCLE9BQU8sS0FBSyxNQUFNLFlBQVksQ0FBQztBQUUvQixPQUFPLEVBQUUsS0FBSyxJQUFJLEtBQUssRUFBRSxNQUFNLFlBQVksQ0FBQztBQUM1QyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBR2pDOzs7OztHQUtHO0FBRUgsTUFBTSxPQUFPLFNBQVUsU0FBUSxLQUFLO0lBQ2xDLEdBQUcsQ0FBa0I7SUFDckIsS0FBSyxDQUFTO0lBQ2QsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUVmLFlBQVksYUFBa0IsRUFBRSxVQUF3QixFQUFFO1FBQ3hELEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNmLElBQUksT0FBTyxhQUFhLEtBQUssVUFBVSxFQUFFLENBQUM7WUFDeEMsSUFBSSxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ2xCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO2dCQUNuQixJQUFJLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQyxZQUFZLENBQUMsYUFBa0MsQ0FBQyxDQUFDLENBQUMsd0NBQXdDO1lBQzdHLENBQUM7aUJBQU0sQ0FBQztnQkFDTixJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBa0MsQ0FBQyxDQUFDLENBQUMsd0NBQXdDO1lBQzVHLENBQUM7UUFDSCxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxHQUFHLEdBQUcsYUFBYSxDQUFDO1FBQzNCLENBQUM7SUFDSCxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLElBQUksQ0FBQyxJQUFZO1FBQ2YsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDbEIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsd0RB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
@@ -1,5 +0,0 @@
1
- export declare class AssertError extends Error {
2
- expected: any;
3
- actual: any;
4
- constructor(message: string, expected: any, actual: any, options?: ErrorOptions);
5
- }
@@ -1,12 +0,0 @@
1
- export class AssertError extends Error {
2
- expected;
3
- actual;
4
- constructor(message, expected, actual, options) {
5
- super(message, options);
6
- this.name = this.constructor.name;
7
- this.expected = expected;
8
- this.actual = actual;
9
- Error.captureStackTrace(this, this.constructor);
10
- }
11
- }
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXNzZXJ0RXJyb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZXJyb3IvQXNzZXJ0RXJyb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLFdBQVksU0FBUSxLQUFLO0lBQ3BDLFFBQVEsQ0FBTTtJQUNkLE1BQU0sQ0FBTTtJQUVaLFlBQVksT0FBZSxFQUFFLFFBQWEsRUFBRSxNQUFXLEVBQUUsT0FBc0I7UUFDN0UsS0FBSyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztRQUN4QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2xELENBQUM7Q0FDRiJ9
@@ -1,14 +0,0 @@
1
- import { Request, RequestOptions } from './request.js';
2
- import { TestAgent, proxyAgent } from './agent.js';
3
- import type { App, AgentOptions } from './types.js';
4
- /**
5
- * Test against the given `app`,
6
- * returning a new `Test`.
7
- */
8
- export declare function request(app: App, options?: RequestOptions): Request;
9
- export { Request, RequestOptions, TestAgent, proxyAgent as agent, };
10
- export * from './test.js';
11
- declare const _default: ((app: App, options?: RequestOptions) => Request) & {
12
- agent: (app: App, options?: AgentOptions) => TestAgent;
13
- };
14
- export default _default;
package/dist/esm/index.js DELETED
@@ -1,30 +0,0 @@
1
- import { Request } from './request.js';
2
- import { TestAgent, proxyAgent } from './agent.js';
3
- /**
4
- * Test against the given `app`,
5
- * returning a new `Test`.
6
- */
7
- export function request(app, options = {}) {
8
- return new Request(app, options);
9
- }
10
- export { Request, TestAgent,
11
- // import { agent } from '@eggjs/supertest';
12
- // agent()
13
- proxyAgent as agent, };
14
- export * from './test.js';
15
- // import request from '@eggjs/supertest';
16
- // request()
17
- export default new Proxy(request, {
18
- apply(target, _, argumentsList) {
19
- return target(argumentsList[0], argumentsList[1]);
20
- },
21
- get(target, property, receiver) {
22
- // import request from '@eggjs/supertest';
23
- // request.agent()
24
- if (property === 'agent') {
25
- return proxyAgent;
26
- }
27
- return Reflect.get(target, property, receiver);
28
- },
29
- });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBa0IsTUFBTSxjQUFjLENBQUM7QUFDdkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFHbkQ7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLE9BQU8sQ0FBQyxHQUFRLEVBQUUsVUFBMEIsRUFBRTtJQUM1RCxPQUFPLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUNuQyxDQUFDO0FBRUQsT0FBTyxFQUNMLE9BQU8sRUFDUCxTQUFTO0FBQ1QsNENBQTRDO0FBQzVDLFVBQVU7QUFDVixVQUFVLElBQUksS0FBSyxHQUNwQixDQUFDO0FBRUYsY0FBYyxXQUFXLENBQUM7QUFFMUIsMENBQTBDO0FBQzFDLFlBQVk7QUFDWixlQUFlLElBQUksS0FBSyxDQUFDLE9BQU8sRUFBRTtJQUNoQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxhQUFhO1FBQzVCLE9BQU8sTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBQ0QsR0FBRyxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsUUFBUTtRQUM1QiwwQ0FBMEM7UUFDMUMsa0JBQWtCO1FBQ2xCLElBQUksUUFBUSxLQUFLLE9BQU8sRUFBRSxDQUFDO1lBQ3pCLE9BQU8sVUFBVSxDQUFDO1FBQ3BCLENBQUM7UUFDRCxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNqRCxDQUFDO0NBQ0YsQ0FFQSxDQUFDIn0=
@@ -1,3 +0,0 @@
1
- {
2
- "type": "module"
3
- }