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
|
<?php
namespace Illuminate\Tests\Mail;
use Illuminate\Mail\Transport\LogTransport;
use Monolog\Handler\StreamHandler;
use Monolog\Logger;
use Orchestra\Testbench\TestCase;
use Psr\Log\LoggerInterface;
use Psr\Log\NullLogger;
class MailLogTransportTest extends TestCase
{
public function testGetLogTransportWithConfiguredChannel()
{
$this->app['config']->set('mail.log_channel', 'mail');
$this->app['config']->set('logging.channels.mail', [
'driver' => 'single',
'path' => 'mail.log',
]);
$manager = $this->app['swift.transport'];
$transport = $manager->driver('log');
$this->assertInstanceOf(LogTransport::class, $transport);
$logger = $transport->logger();
$this->assertInstanceOf(LoggerInterface::class, $logger);
$this->assertInstanceOf(Logger::class, $monolog = $logger->getLogger());
$this->assertCount(1, $handlers = $monolog->getHandlers());
$this->assertInstanceOf(StreamHandler::class, $handler = $handlers[0]);
}
public function testGetLogTransportWithPsrLogger()
{
$logger = $this->app->instance('log', new NullLogger());
$manager = $this->app['swift.transport'];
$this->assertEquals($logger, $manager->driver('log')->logger());
}
}
|