Extends: undici.Client
A mock client class that implements the same api as MockPool.
new MockClient(origin, [options])
Arguments:
string
- It should only include the protocol, hostname, and port.MockClientOptions
- It extends the Client
options.Returns: MockClient
MockClientOptions
Extends: ClientOptions
Agent
- the agent to associate this MockClient with.We 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.
import { MockAgent } from 'undici' // Connections must be set to 1 to return a MockClient instance const mockAgent = new MockAgent({ connections: 1 }) const mockClient = mockAgent.get('http://localhost:3000')
MockClient.intercept(options)
Implements: MockPool.intercept(options)
MockClient.close()
Implements: MockPool.close()
MockClient.dispatch(options, handlers)
Implements Dispatcher.dispatch(options, handlers)
.
MockClient.request(options[, callback])
See Dispatcher.request(options [, callback])
.
import { MockAgent } from 'undici' const mockAgent = new MockAgent({ connections: 1 }) const mockClient = mockAgent.get('http://localhost:3000') mockClient.intercept({ path: '/foo' }).reply(200, 'foo') const { statusCode, body } = await mockClient.request({ origin: 'http://localhost:3000', path: '/foo', method: 'GET' }) console.log('response received', statusCode) // response received 200 for await (const data of body) { console.log('data', data.toString('utf8')) // data foo }