File: MailFailoverTransportTest.php

package info (click to toggle)
php-laravel-framework 8.83.26%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 14,444 kB
  • sloc: php: 167,609; sh: 162; makefile: 46
file content (63 lines) | stat: -rw-r--r-- 2,116 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
<?php

namespace Illuminate\Tests\Mail;

use Illuminate\Mail\Transport\ArrayTransport;
use Orchestra\Testbench\TestCase;

class MailFailoverTransportTest extends TestCase
{
    public function testGetFailoverTransportWithConfiguredTransports()
    {
        $this->app['config']->set('mail.default', 'failover');

        $this->app['config']->set('mail.mailers', [
            'failover' => [
                'transport' => 'failover',
                'mailers' => [
                    'sendmail',
                    'array',
                ],
            ],

            'sendmail' => [
                'transport' => 'sendmail',
                'path' => '/usr/sbin/sendmail -bs',
            ],

            'array' => [
                'transport' => 'array',
            ],
        ]);

        $transport = app('mailer')->getSwiftMailer()->getTransport();
        $this->assertInstanceOf(\Swift_FailoverTransport::class, $transport);

        $transports = $transport->getTransports();
        $this->assertCount(2, $transports);
        $this->assertInstanceOf(\Swift_SendmailTransport::class, $transports[0]);
        $this->assertEquals('/usr/sbin/sendmail -bs', $transports[0]->getCommand());
        $this->assertInstanceOf(ArrayTransport::class, $transports[1]);
    }

    public function testGetFailoverTransportWithLaravel6StyleMailConfiguration()
    {
        $this->app['config']->set('mail.driver', 'failover');

        $this->app['config']->set('mail.mailers', [
            'sendmail',
            'array',
        ]);

        $this->app['config']->set('mail.sendmail', '/usr/sbin/sendmail -bs');

        $transport = app('mailer')->getSwiftMailer()->getTransport();
        $this->assertInstanceOf(\Swift_FailoverTransport::class, $transport);

        $transports = $transport->getTransports();
        $this->assertCount(2, $transports);
        $this->assertInstanceOf(\Swift_SendmailTransport::class, $transports[0]);
        $this->assertEquals('/usr/sbin/sendmail -bs', $transports[0]->getCommand());
        $this->assertInstanceOf(ArrayTransport::class, $transports[1]);
    }
}