Host/ServiceNodeTest: just a few simple tests

fixes #13303
This commit is contained in:
Thomas Gelf 2016-11-24 00:29:30 +01:00
parent e6c292333b
commit 8c12491a84
2 changed files with 105 additions and 0 deletions

View file

@ -0,0 +1,48 @@
<?php
namespace Tests\Icinga\Module\Businessprocess\Operator;
use Icinga\Module\Businessprocess\BusinessProcess;
use Icinga\Module\Businessprocess\HostNode;
use Icinga\Module\Businessprocess\Test\BaseTestCase;
use Icinga\Web\View;
class HostNodeTest extends BaseTestCase
{
public function testReturnsCorrectHostName()
{
$this->assertEquals(
'localhost',
$this->localhost()->getHostname()
);
}
public function testReturnsCorrectAlias()
{
$this->assertEquals(
'localhost',
$this->localhost()->getAlias()
);
}
public function testRendersCorrectLink()
{
$this->assertEquals(
'<a href="/icingaweb2/monitoring/host/show?host=localhost">'
. 'localhost: ping &lt;&gt; pong</a>',
$this->localhost()->renderLink(new View())
);
}
/**
* @return HostNode
*/
protected function localhost()
{
$bp = new BusinessProcess();
return new HostNode($bp, (object) array(
'hostname' => 'localhost',
'state' => 0,
));
}
}

View file

@ -0,0 +1,57 @@
<?php
namespace Tests\Icinga\Module\Businessprocess\Operator;
use Icinga\Module\Businessprocess\BusinessProcess;
use Icinga\Module\Businessprocess\ServiceNode;
use Icinga\Module\Businessprocess\Test\BaseTestCase;
use Icinga\Web\View;
class ServiceNodeTest extends BaseTestCase
{
public function testReturnsCorrectHostName()
{
$this->assertEquals(
'localhost',
$this->pingOnLocalhost()->getHostname()
);
}
public function testReturnsCorrectServiceDescription()
{
$this->assertEquals(
'ping <> pong',
$this->pingOnLocalhost()->getServiceDescription()
);
}
public function testReturnsCorrectAlias()
{
$this->assertEquals(
'localhost: ping <> pong',
$this->pingOnLocalhost()->getAlias()
);
}
public function testRendersCorrectLink()
{
$this->assertEquals(
'<a href="/icingaweb2/monitoring/service/show?host=localhost&amp;service=ping%20%3C%3E%20pong">'
. 'localhost: ping &lt;&gt; pong</a>',
$this->pingOnLocalhost()->renderLink(new View())
);
}
/**
* @return ServiceNode
*/
protected function pingOnLocalhost()
{
$bp = new BusinessProcess();
return new ServiceNode($bp, (object) array(
'hostname' => 'localhost',
'service' => 'ping <> pong',
'state' => 0,
));
}
}