/
home
/
sjslayjy
/
public_html
/
theweavenest
/
vendor
/
symfony
/
mailer
/
Tests
/
Transport
/
Upload File
HOME
<?php /* * This file is part of the Symfony package. * * (c) Fabien Potencier <fabien@symfony.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\Mailer\Tests\Transport; use PHPUnit\Framework\TestCase; use Symfony\Component\Mailer\Exception\InvalidArgumentException; use Symfony\Component\Mailer\Transport\TransportInterface; use Symfony\Component\Mailer\Transport\Transports; use Symfony\Component\Mime\Header\Headers; use Symfony\Component\Mime\Message; use Symfony\Component\Mime\Part\TextPart; class TransportsTest extends TestCase { public function testDefaultTransport() { $transport = new Transports([ 'foo' => $foo = $this->createMock(TransportInterface::class), 'bar' => $bar = $this->createMock(TransportInterface::class), ]); $foo->expects($this->once())->method('send'); $bar->expects($this->never())->method('send'); $email = new Message(new Headers(), new TextPart('...')); $transport->send($email); } public function testOverrideTransport() { $transport = new Transports([ 'foo' => $foo = $this->createMock(TransportInterface::class), 'bar' => $bar = $this->createMock(TransportInterface::class), ]); $foo->expects($this->never())->method('send'); $bar->expects($this->once())->method('send'); $headers = (new Headers())->addTextHeader('X-Transport', 'bar'); $email = new Message($headers, new TextPart('...')); $transport->send($email); } public function testTransportDoesNotExist() { $transport = new Transports([ 'foo' => $this->createMock(TransportInterface::class), 'bar' => $this->createMock(TransportInterface::class), ]); $headers = (new Headers())->addTextHeader('X-Transport', 'foobar'); $email = new Message($headers, new TextPart('...')); $this->expectException(InvalidArgumentException::class); $this->expectExceptionMessage('The "foobar" transport does not exist (available transports: "foo", "bar").'); $transport->send($email); } public function testTransportRestoredAfterFailure() { $exception = new \Exception(); $fooTransport = $this->createMock(TransportInterface::class); $fooTransport->method('send') ->willThrowException($exception); $transport = new Transports([ 'foo' => $fooTransport, ]); $headers = (new Headers())->addTextHeader('X-Transport', 'foo'); $email = new Message($headers, new TextPart('...')); $this->expectExceptionObject($exception); try { $transport->send($email); } finally { $this->assertSame('foo', $email->getHeaders()->getHeaderBody('X-Transport')); } } }