wiki.techinc.nl/tests/phpunit/mocks/NullMultiHttpClient.php
Petr Pchelko da05003b9b Include URLs when clocking HTTP requests.
For easier debugging.

Change-Id: I01660509316d2f68a56b0cbe8b9bcdd980cc287e
2020-10-15 14:19:05 -07:00

32 lines
783 B
PHP

<?php
use PHPUnit\Framework\Assert;
use PHPUnit\Framework\AssertionFailedError;
/**
* A simple {@link MultiHttpClient} implementation that can be used to prevent
* HTTP requests in tests. All attempts to execute a request will fail.
*
* Use MockHttpTrait for controlling responses to mock HTTP requests.
*
* @author Daniel Kinzler
* @license GPL-2.0-or-later
*/
class NullMultiHttpClient extends MultiHttpClient {
/**
* Always fails.
*
* @param array $reqs
* @param array $opts
*
* @throws AssertionFailedError always
*/
public function runMulti( array $reqs, array $opts = [] ) {
$urls = implode( ', ', array_map( function ( $req ) {
return $req['url'];
}, $reqs ) );
Assert::fail( "HTTP requests to {$urls} blocked. Use MockHttpTrait." );
}
}