source: node_modules/undici/docs/api/MockClient.md@ d24f17c

main
Last change on this file since d24f17c was d24f17c, checked in by Aleksandar Panovski <apano77@…>, 15 months ago

Initial commit

  • Property mode set to 100644
File size: 2.0 KB
RevLine 
[d24f17c]1# Class: MockClient
2
3Extends: `undici.Client`
4
5A mock client class that implements the same api as [MockPool](MockPool.md).
6
7## `new MockClient(origin, [options])`
8
9Arguments:
10
11* **origin** `string` - It should only include the **protocol, hostname, and port**.
12* **options** `MockClientOptions` - It extends the `Client` options.
13
14Returns: `MockClient`
15
16### Parameter: `MockClientOptions`
17
18Extends: `ClientOptions`
19
20* **agent** `Agent` - the agent to associate this MockClient with.
21
22### Example - Basic MockClient instantiation
23
24We can use MockAgent to instantiate a MockClient ready to be used to intercept specified requests. It will not do anything until registered as the agent to use and any mock request are registered.
25
26```js
27import { MockAgent } from 'undici'
28
29// Connections must be set to 1 to return a MockClient instance
30const mockAgent = new MockAgent({ connections: 1 })
31
32const mockClient = mockAgent.get('http://localhost:3000')
33```
34
35## Instance Methods
36
37### `MockClient.intercept(options)`
38
39Implements: [`MockPool.intercept(options)`](MockPool.md#mockpoolinterceptoptions)
40
41### `MockClient.close()`
42
43Implements: [`MockPool.close()`](MockPool.md#mockpoolclose)
44
45### `MockClient.dispatch(options, handlers)`
46
47Implements [`Dispatcher.dispatch(options, handlers)`](Dispatcher.md#dispatcherdispatchoptions-handler).
48
49### `MockClient.request(options[, callback])`
50
51See [`Dispatcher.request(options [, callback])`](Dispatcher.md#dispatcherrequestoptions-callback).
52
53#### Example - MockClient request
54
55```js
56import { MockAgent } from 'undici'
57
58const mockAgent = new MockAgent({ connections: 1 })
59
60const mockClient = mockAgent.get('http://localhost:3000')
61mockClient.intercept({ path: '/foo' }).reply(200, 'foo')
62
63const {
64 statusCode,
65 body
66} = await mockClient.request({
67 origin: 'http://localhost:3000',
68 path: '/foo',
69 method: 'GET'
70})
71
72console.log('response received', statusCode) // response received 200
73
74for await (const data of body) {
75 console.log('data', data.toString('utf8')) // data foo
76}
77```
Note: See TracBrowser for help on using the repository browser.