MailFailoverTransportTest.php 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. <?php
  2. namespace Illuminate\Tests\Mail;
  3. use Illuminate\Mail\Transport\ArrayTransport;
  4. use Orchestra\Testbench\TestCase;
  5. class MailFailoverTransportTest extends TestCase
  6. {
  7. public function testGetFailoverTransportWithConfiguredTransports()
  8. {
  9. $this->app['config']->set('mail.default', 'failover');
  10. $this->app['config']->set('mail.mailers', [
  11. 'failover' => [
  12. 'transport' => 'failover',
  13. 'mailers' => [
  14. 'sendmail',
  15. 'array',
  16. ],
  17. ],
  18. 'sendmail' => [
  19. 'transport' => 'sendmail',
  20. 'path' => '/usr/sbin/sendmail -bs',
  21. ],
  22. 'array' => [
  23. 'transport' => 'array',
  24. ],
  25. ]);
  26. $transport = app('mailer')->getSwiftMailer()->getTransport();
  27. $this->assertInstanceOf(\Swift_FailoverTransport::class, $transport);
  28. $transports = $transport->getTransports();
  29. $this->assertCount(2, $transports);
  30. $this->assertInstanceOf(\Swift_SendmailTransport::class, $transports[0]);
  31. $this->assertEquals('/usr/sbin/sendmail -bs', $transports[0]->getCommand());
  32. $this->assertInstanceOf(ArrayTransport::class, $transports[1]);
  33. }
  34. public function testGetFailoverTransportWithLaravel6StyleMailConfiguration()
  35. {
  36. $this->app['config']->set('mail.driver', 'failover');
  37. $this->app['config']->set('mail.mailers', [
  38. 'sendmail',
  39. 'array',
  40. ]);
  41. $this->app['config']->set('mail.sendmail', '/usr/sbin/sendmail -bs');
  42. $transport = app('mailer')->getSwiftMailer()->getTransport();
  43. $this->assertInstanceOf(\Swift_FailoverTransport::class, $transport);
  44. $transports = $transport->getTransports();
  45. $this->assertCount(2, $transports);
  46. $this->assertInstanceOf(\Swift_SendmailTransport::class, $transports[0]);
  47. $this->assertEquals('/usr/sbin/sendmail -bs', $transports[0]->getCommand());
  48. $this->assertInstanceOf(ArrayTransport::class, $transports[1]);
  49. }
  50. }