Mercurial > hg > isophonics-drupal-site
view core/modules/syslog/tests/src/Kernel/SyslogTest.php @ 19:fa3358dc1485 tip
Add ndrum files
author | Chris Cannam |
---|---|
date | Wed, 28 Aug 2019 13:14:47 +0100 |
parents | 1fec387a4317 |
children |
line wrap: on
line source
<?php namespace Drupal\Tests\syslog\Kernel; use Drupal\KernelTests\KernelTestBase; use Symfony\Component\HttpFoundation\Request; /** * Test syslog logger functionality. * * @group syslog * @coversDefaultClass \Drupal\syslog\Logger\SysLog */ class SyslogTest extends KernelTestBase { public static $modules = ['syslog', 'syslog_test']; /** * {@inheritdoc} */ protected function setUp() { parent::setUp(); $this->installConfig(['syslog']); } /** * @covers ::log */ public function testSyslogWriting() { $request = Request::create('/page-not-found', 'GET', [], [], [], ['REMOTE_ADDR' => '1.2.3.4']); $request->headers->set('Referer', 'other-site'); \Drupal::requestStack()->push($request); $user = $this->getMockBuilder('Drupal\Core\Session\AccountInterface')->getMock(); $user->method('id')->willReturn(42); $this->container->set('current_user', $user); \Drupal::logger('my_module')->warning('My warning message.', ['link' => '/my-link']); $log_filename = $this->container->get('file_system')->realpath('public://syslog.log'); $logs = explode(PHP_EOL, file_get_contents($log_filename)); $log = explode('|', $logs[0]); global $base_url; $this->assertEquals($base_url, $log[0]); $this->assertEquals('my_module', $log[2]); $this->assertEquals('1.2.3.4', $log[3]); $this->assertEquals($base_url . '/page-not-found', $log[4]); $this->assertEquals('other-site', $log[5]); $this->assertEquals('42', $log[6]); $this->assertEquals('/my-link', $log[7]); $this->assertEquals('My warning message.', $log[8]); } /** * Test severity level logging. * * @covers ::log */ public function testSyslogSeverity() { /* @var \Drupal\Core\Config\Config $config */ $config = $this->container->get('config.factory')->getEditable('syslog.settings'); $config->set('format', '!type|!message|!severity'); $config->save(); \Drupal::logger('my_module')->warning('My warning message.'); $log_filename = $this->container->get('file_system')->realpath('public://syslog.log'); $logs = explode(PHP_EOL, file_get_contents($log_filename)); $log = explode('|', $logs[0]); $this->assertEquals('my_module', $log[0]); $this->assertEquals('My warning message.', $log[1]); $this->assertEquals('4', $log[2]); } }