Mercurial > hg > cmmr2012-drupal-site
comparison core/modules/syslog/tests/src/Kernel/SyslogTest.php @ 0:c75dbcec494b
Initial commit from drush-created site
author | Chris Cannam |
---|---|
date | Thu, 05 Jul 2018 14:24:15 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:c75dbcec494b |
---|---|
1 <?php | |
2 | |
3 namespace Drupal\Tests\syslog\Kernel; | |
4 | |
5 use Drupal\KernelTests\KernelTestBase; | |
6 use Symfony\Component\HttpFoundation\Request; | |
7 | |
8 /** | |
9 * Test syslog logger functionality. | |
10 * | |
11 * @group syslog | |
12 * @coversDefaultClass \Drupal\syslog\Logger\SysLog | |
13 */ | |
14 class SyslogTest extends KernelTestBase { | |
15 | |
16 public static $modules = ['syslog', 'syslog_test']; | |
17 | |
18 /** | |
19 * {@inheritdoc} | |
20 */ | |
21 protected function setUp() { | |
22 parent::setUp(); | |
23 $this->installConfig(['syslog']); | |
24 } | |
25 | |
26 /** | |
27 * @covers ::log | |
28 */ | |
29 public function testSyslogWriting() { | |
30 | |
31 $request = Request::create('/page-not-found', 'GET', [], [], [], ['REMOTE_ADDR' => '1.2.3.4']); | |
32 $request->headers->set('Referer', 'other-site'); | |
33 \Drupal::requestStack()->push($request); | |
34 | |
35 $user = $this->getMockBuilder('Drupal\Core\Session\AccountInterface')->getMock(); | |
36 $user->method('id')->willReturn(42); | |
37 $this->container->set('current_user', $user); | |
38 | |
39 \Drupal::logger('my_module')->warning('My warning message.', ['link' => '/my-link']); | |
40 | |
41 $log_filename = $this->container->get('file_system')->realpath('public://syslog.log'); | |
42 $logs = explode(PHP_EOL, file_get_contents($log_filename)); | |
43 $log = explode('|', $logs[0]); | |
44 | |
45 global $base_url; | |
46 $this->assertEquals($base_url, $log[0]); | |
47 $this->assertEquals('my_module', $log[2]); | |
48 $this->assertEquals('1.2.3.4', $log[3]); | |
49 $this->assertEquals($base_url . '/page-not-found', $log[4]); | |
50 $this->assertEquals('other-site', $log[5]); | |
51 $this->assertEquals('42', $log[6]); | |
52 $this->assertEquals('/my-link', $log[7]); | |
53 $this->assertEquals('My warning message.', $log[8]); | |
54 } | |
55 | |
56 /** | |
57 * Test severity level logging. | |
58 * | |
59 * @covers ::log | |
60 */ | |
61 public function testSyslogSeverity() { | |
62 /* @var \Drupal\Core\Config\Config $config */ | |
63 $config = $this->container->get('config.factory')->getEditable('syslog.settings'); | |
64 $config->set('format', '!type|!message|!severity'); | |
65 $config->save(); | |
66 | |
67 \Drupal::logger('my_module')->warning('My warning message.'); | |
68 | |
69 $log_filename = $this->container->get('file_system')->realpath('public://syslog.log'); | |
70 $logs = explode(PHP_EOL, file_get_contents($log_filename)); | |
71 $log = explode('|', $logs[0]); | |
72 | |
73 $this->assertEquals('my_module', $log[0]); | |
74 $this->assertEquals('My warning message.', $log[1]); | |
75 $this->assertEquals('4', $log[2]); | |
76 } | |
77 | |
78 } |