class TestHttp in Migrate Plus 8.5
Same name and namespace in other branches
- 8.4 tests/src/Unit/data_fetcher/HttpTest.php \Drupal\Tests\migrate_plus\Unit\data_fetcher\TestHttp
Test class to mock an HTTP request.
Hierarchy
- class \Drupal\Component\Plugin\PluginBase implements DerivativeInspectionInterface, PluginInspectionInterface
- class \Drupal\Core\Plugin\PluginBase uses DependencySerializationTrait, MessengerTrait, StringTranslationTrait
- class \Drupal\migrate_plus\DataFetcherPluginBase implements DataFetcherPluginInterface
- class \Drupal\migrate_plus\Plugin\migrate_plus\data_fetcher\Http implements ContainerFactoryPluginInterface
- class \Drupal\Tests\migrate_plus\Unit\data_fetcher\TestHttp
- class \Drupal\migrate_plus\Plugin\migrate_plus\data_fetcher\Http implements ContainerFactoryPluginInterface
- class \Drupal\migrate_plus\DataFetcherPluginBase implements DataFetcherPluginInterface
- class \Drupal\Core\Plugin\PluginBase uses DependencySerializationTrait, MessengerTrait, StringTranslationTrait
Expanded class hierarchy of TestHttp
File
- tests/
src/ Unit/ data_fetcher/ HttpTest.php, line 178 - PHPUnit tests for the Migrate Plus Http 'data fetcher' plugin.
Namespace
Drupal\Tests\migrate_plus\Unit\data_fetcherView source
class TestHttp extends Http {
/**
* Mocked authenticator plugin.
*
* @var \PHPUnit_Framework_MockObject_MockObject
*/
public $authenticator = NULL;
/**
* Mock the HttpClient, so we can control the request/response(s) etc.
*
* @param array $responses
* An array of responses (arrays), with each consisting of properties,
* ordered: response code, content-type and response body.
* @param object $authenticator
* Mocked authenticator plugin.
*/
public function mockHttpClient(array $responses, object $authenticator = NULL) {
// Set mocked authentication plugin to be used for the request auth plugin.
$this->authenticator = $authenticator;
$handler_responses = [];
foreach ($responses as $response) {
$handler_responses[] = new Response($response[0], [
'Content-Type' => $response[1],
], $response[2]);
}
$mock = new MockHandler($handler_responses);
$handler = HandlerStack::create($mock);
$this->httpClient = new Client([
'handler' => $handler,
]);
}
/**
* {@inheritdoc}
*/
public function __construct(array $configuration, $plugin_id, $plugin_definition) {
// Skip calling the Http() constructor (that sets the httpClient instance
// variable via \Drupal which we don't want to do), but keep the call to its
// parent class constructor. @see https://bugs.php.net/bug.php?id=42016
DataFetcherPluginBase::__construct($configuration, $plugin_id, $plugin_definition);
// This is what the parent class is doing, that we need to override.
$this->httpClient = NULL;
}
/**
* Override the parent::getAuthenticationPlugin()
*
* So we can mock the authentication plugin.
*
* @return \PHPUnit_Framework_MockObject_MockObject
* A mocked authentication plugin.
*/
public function getAuthenticationPlugin() {
if (!isset($this->authenticationPlugin)) {
$this->authenticationPlugin = $this->authenticator;
}
return $this->authenticationPlugin;
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
DataFetcherPluginBase:: |
public static | function | ||
DependencySerializationTrait:: |
protected | property | An array of entity type IDs keyed by the property name of their storages. | |
DependencySerializationTrait:: |
protected | property | An array of service IDs keyed by property name used for serialization. | |
DependencySerializationTrait:: |
public | function | 1 | |
DependencySerializationTrait:: |
public | function | 2 | |
Http:: |
protected | property | The data retrieval client. | |
Http:: |
protected | property | The request headers. | |
Http:: |
protected | property | The HTTP client. | |
Http:: |
public | function |
Get the currently set request headers. Overrides DataFetcherPluginInterface:: |
|
Http:: |
public | function |
Return Http Response object for a given url. Overrides DataFetcherPluginInterface:: |
|
Http:: |
public | function |
Return content. Overrides DataFetcherPluginInterface:: |
|
Http:: |
public | function |
Set the client headers. Overrides DataFetcherPluginInterface:: |
|
MessengerTrait:: |
protected | property | The messenger. | 29 |
MessengerTrait:: |
public | function | Gets the messenger. | 29 |
MessengerTrait:: |
public | function | Sets the messenger. | |
PluginBase:: |
protected | property | Configuration information passed into the plugin. | 1 |
PluginBase:: |
protected | property | The plugin implementation definition. | 1 |
PluginBase:: |
protected | property | The plugin_id. | |
PluginBase:: |
constant | A string which is used to separate base plugin IDs from the derivative ID. | ||
PluginBase:: |
public | function |
Gets the base_plugin_id of the plugin instance. Overrides DerivativeInspectionInterface:: |
|
PluginBase:: |
public | function |
Gets the derivative_id of the plugin instance. Overrides DerivativeInspectionInterface:: |
|
PluginBase:: |
public | function |
Gets the definition of the plugin implementation. Overrides PluginInspectionInterface:: |
3 |
PluginBase:: |
public | function |
Gets the plugin_id of the plugin instance. Overrides PluginInspectionInterface:: |
|
PluginBase:: |
public | function | Determines if the plugin is configurable. | |
StringTranslationTrait:: |
protected | property | The string translation service. | 1 |
StringTranslationTrait:: |
protected | function | Formats a string containing a count of items. | |
StringTranslationTrait:: |
protected | function | Returns the number of plurals supported by a given language. | |
StringTranslationTrait:: |
protected | function | Gets the string translation service. | |
StringTranslationTrait:: |
public | function | Sets the string translation service to use. | 2 |
StringTranslationTrait:: |
protected | function | Translates a string to the current language or to a given language. | |
TestHttp:: |
public | property | Mocked authenticator plugin. | |
TestHttp:: |
public | function |
Override the parent::getAuthenticationPlugin() Overrides Http:: |
|
TestHttp:: |
public | function | Mock the HttpClient, so we can control the request/response(s) etc. | |
TestHttp:: |
public | function |
Constructs a \Drupal\Component\Plugin\PluginBase object. Overrides Http:: |