This file is indexed.

/usr/share/icingaweb2/modules/monitoring/test/php/library/Monitoring/Object/MacroTest.php is in icingaweb2-module-monitoring 2.1.0-1ubuntu1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 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
<?php
/* Icinga Web 2 | (c) 2013-2015 Icinga Development Team | GPLv2+ */

namespace Tests\Icinga\Modules\Monitoring\Application\Views\Helpers;

use Mockery;
use Icinga\Test\BaseTestCase;
use Icinga\Module\Monitoring\Object\Macro;

require_once realpath(BaseTestCase::$moduleDir . '/monitoring/library/Monitoring/Object/Macro.php');

class MacroTest extends BaseTestCase
{
    public function testHostMacros()
    {
        $hostMock = Mockery::mock('host');
        $hostMock->host_name = 'test';
        $hostMock->host_address = '1.1.1.1';
        $hostMock->host_address6 = '::1';

        $this->assertEquals(Macro::resolveMacros('$HOSTNAME$', $hostMock), $hostMock->host_name);
        $this->assertEquals(Macro::resolveMacros('$HOSTADDRESS$', $hostMock), $hostMock->host_address);
        $this->assertEquals(Macro::resolveMacros('$HOSTADDRESS6$', $hostMock), $hostMock->host_address6);
        $this->assertEquals(Macro::resolveMacros('$host.name$', $hostMock), $hostMock->host_name);
        $this->assertEquals(Macro::resolveMacros('$host.address$', $hostMock), $hostMock->host_address);
        $this->assertEquals(Macro::resolveMacros('$host.address6$', $hostMock), $hostMock->host_address6);
    }

    public function testServiceMacros()
    {
        $svcMock = Mockery::mock('service');
        $svcMock->host_name = 'test';
        $svcMock->host_address = '1.1.1.1';
        $svcMock->host_address6 = '::1';
        $svcMock->service_description = 'a service';

        $this->assertEquals(Macro::resolveMacros('$HOSTNAME$', $svcMock), $svcMock->host_name);
        $this->assertEquals(Macro::resolveMacros('$HOSTADDRESS$', $svcMock), $svcMock->host_address);
        $this->assertEquals(Macro::resolveMacros('$HOSTADDRESS6$', $svcMock), $svcMock->host_address6);
        $this->assertEquals(Macro::resolveMacros('$SERVICEDESC$', $svcMock), $svcMock->service_description);
        $this->assertEquals(Macro::resolveMacros('$host.name$', $svcMock), $svcMock->host_name);
        $this->assertEquals(Macro::resolveMacros('$host.address$', $svcMock), $svcMock->host_address);
        $this->assertEquals(Macro::resolveMacros('$host.address6$', $svcMock), $svcMock->host_address6);
        $this->assertEquals(Macro::resolveMacros('$service.description$', $svcMock), $svcMock->service_description);
    }

    public function testFaultyMacros()
    {
        $hostMock = Mockery::mock('host');
        $hostMock->host_name = 'test';
        $hostMock->host = 'te';

        $this->assertEquals(
            '$test $ HOSTNAME$ teNAME$',
            Macro::resolveMacros('$$HOSTNAME$ $ HOSTNAME$ $host$NAME$', $hostMock)
        );
    }
}