NOTE: For Version 3 of the AWS SDK for PHP, please see the V3 User Guide and V3 API Reference.

# Class MockPlugin

Queues mock responses or exceptions and delivers mock responses or exceptions in a fifo order.

  Guzzle\Common\AbstractHasDispatcher implements Guzzle\Common\HasDispatcherInterface
  Guzzle\Plugin\Mock\MockPlugin implements Symfony\Component\EventDispatcher\EventSubscriberInterface, Countable

Namespace: Guzzle\Plugin\Mock
Located at Guzzle/Plugin/Mock/MockPlugin.php

## Methods summary

- `public` `__construct ( array $items = null, bool $temporary = false, bool $readBodies = false )`
- `public static` `getSubscribedEvents ( )`
- `public static` `getAllEvents ( )`

  Get a list of all of the events emitted from the class

- `public static` `getMockFile ( string $path )`

  Get a mock response from a file

- `public` `readBodies ( bool $readBodies )`

  Set whether or not to consume the entity body of a request when a mock response is used

- `public` `count ( )`

  Returns the number of remaining mock responses

- `public` `addResponse ( string|Response $response )`

  Add a response to the end of the queue

- `public` `addException ( Guzzle\Http\Exception\CurlException $e )`

  Add an exception to the end of the queue

- `public` `clearQueue ( )`

  Clear the queue

- `public` `getQueue ( )`

  Returns an array of mock responses remaining in the queue

- `public` `isTemporary ( )`

  Check if this is a temporary plugin

- `public` `dequeue ( Guzzle\Http\Message\RequestInterface $request )`

  Get a response from the front of the list and add it to a request

- `public` `flush ( )`

  Clear the array of received requests

- `public` `getReceivedRequests ( )`

  Get an array of requests that were mocked by this plugin

- `public` `onRequestBeforeSend ( Guzzle\Common\Event $event )`

  Called when a request is about to be sent

## Methods detail

# `public`
`__construct( array $items = null, boolean $temporary = false, boolean $readBodies = false )`

#### Parameters

$items
  `array`
  $items Array of responses or exceptions to queue
$temporary
  `boolean`
  $temporary Set to TRUE to remove the plugin when the queue is empty
$readBodies
  `boolean`
  $readBodies Set to TRUE to consume the entity body when a mock is served

# `public static`
`getSubscribedEvents( )`
# `public static array`
`getAllEvents( )`

Get a list of all of the events emitted from the class

#### Returns

`array`

#### Overrides

`Guzzle\Common\AbstractHasDispatcher::getAllEvents`
# `public static `Guzzle\Http\Message\Response``
`getMockFile( string $path )`

Get a mock response from a file

#### Parameters

$path
  `string`
  $path File to retrieve a mock response from

#### Returns

``Guzzle\Http\Message\Response``

#### Throws

``Guzzle\Common\Exception\InvalidArgumentException``
if the file is not found
# `public `Guzzle\Plugin\Mock\MockPlugin``
`readBodies( boolean $readBodies )`

Set whether or not to consume the entity body of a request when a mock response is used

#### Parameters

$readBodies
  `boolean`
  $readBodies Set to true to read and consume entity bodies

#### Returns

``Guzzle\Plugin\Mock\MockPlugin``
# `public integer`
`count( )`

Returns the number of remaining mock responses

#### Returns

`integer`

#### Implementation of

`Countable::count()`
# `public `Guzzle\Plugin\Mock\MockPlugin``
`addResponse( string|`Guzzle\Http\Message\Response` $response )`

Add a response to the end of the queue

#### Parameters

$response
  `string|`Guzzle\Http\Message\Response``
  $response Response object or path to response file

#### Returns

``Guzzle\Plugin\Mock\MockPlugin``

#### Throws

``Guzzle\Common\Exception\InvalidArgumentException``
if a string or Response is not passed
# `public `Guzzle\Plugin\Mock\MockPlugin``
`addException( `Guzzle\Http\Exception\CurlException` $e )`

Add an exception to the end of the queue

#### Parameters

$e
  ``Guzzle\Http\Exception\CurlException``
  $e Exception to throw when the request is executed

#### Returns

``Guzzle\Plugin\Mock\MockPlugin``
# `public `Guzzle\Plugin\Mock\MockPlugin``
`clearQueue( )`

Clear the queue

#### Returns

``Guzzle\Plugin\Mock\MockPlugin``
# `public array`
`getQueue( )`

Returns an array of mock responses remaining in the queue

#### Returns

`array`
# `public boolean`
`isTemporary( )`

Check if this is a temporary plugin

#### Returns

`boolean`
# `public `Guzzle\Plugin\Mock\MockPlugin``
`dequeue( `Guzzle\Http\Message\RequestInterface` $request )`

Get a response from the front of the list and add it to a request

#### Parameters

$request
  ``Guzzle\Http\Message\RequestInterface``
  $request Request to mock

#### Returns

``Guzzle\Plugin\Mock\MockPlugin``

#### Throws

``Guzzle\Http\Exception\CurlException``
When request.send is called and an exception is queued
# `public`
`flush( )`

Clear the array of received requests

# `public array`
`getReceivedRequests( )`

Get an array of requests that were mocked by this plugin

#### Returns

`array`
# `public`
`onRequestBeforeSend( `Guzzle\Common\Event` $event )`

Called when a request is about to be sent

#### Parameters

$event
  ``Guzzle\Common\Event``
  $event

#### Throws

``OutOfBoundsException``
When queue is empty

### Methods inherited from Guzzle\Common\AbstractHasDispatcher

`addSubscriber()`, `dispatch()`, `getEventDispatcher()`, `setEventDispatcher()`

### Magic methods summary

## Properties summary

`protected array` | $queue | # Array of mock responses / exceptions
`protected boolean` | $temporary | # Whether or not to remove the plugin when the queue is empty
`protected array` | $received | # Array of requests that were mocked
`protected boolean` | $readBodies | # Whether or not to consume an entity body when a mock response is served

### Properties inherited from Guzzle\Common\AbstractHasDispatcher

`$eventDispatcher`