Spaces:
No application file
No application file
declare(strict_types=1); | |
namespace Mautic\CoreBundle\DependencyInjection\Compiler; | |
use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface; | |
use Symfony\Component\DependencyInjection\ContainerBuilder; | |
use Symfony\Component\DependencyInjection\Reference; | |
final class TestPass implements CompilerPassInterface | |
{ | |
public function process(ContainerBuilder $container): void | |
{ | |
// Stub Guzzle HTTP client to prevent accidental request to third parties | |
$definition = $container->getDefinition('mautic.http.client'); | |
$definition->setPublic(true) | |
->setFactory([\Mautic\CoreBundle\Test\Guzzle\ClientFactory::class, 'stub']) | |
->addArgument(new Reference(\GuzzleHttp\Handler\MockHandler::class)); | |
$container->removeAlias(\Symfony\Contracts\HttpClient\HttpClientInterface::class); | |
$container->register(\Symfony\Component\HttpClient\MockHttpClient::class, \Symfony\Component\HttpClient\MockHttpClient::class)->setAutowired(true)->setPublic(true); | |
$container->setAlias(\Symfony\Contracts\HttpClient\HttpClientInterface::class, \Symfony\Component\HttpClient\MockHttpClient::class); | |
} | |
} | |