icingaweb2-module-businessp.../test/php/library/Businessprocess/SimulationTest.php
Thomas Gelf 60d043cb18 Simulation: refactor the whole class
First step, more to come. Single node simulations should be moved to a
dedicated class of course

fixes #88
fixes #89
2017-01-26 22:09:38 +01:00

47 lines
1.2 KiB
PHP

<?php
namespace Tests\Icinga\Module\Businessprocess;
use Icinga\Module\Businessprocess\Simulation;
use Icinga\Module\Businessprocess\Test\BaseTestCase;
class SimulationTest extends BaseTestCase
{
public function testSimulationInstantiation()
{
$class = 'Icinga\\Module\\Businessprocess\\Simulation';
$this->assertInstanceOf(
$class,
Simulation::create()
);
}
public function testAppliedSimulation()
{
$data = (object) array(
'state' => 0,
'acknowledged' => false,
'in_downtime' => false
);
$config = $this->makeInstance()->loadProcess('simple_with-header');
$simulation = Simulation::create(array(
'host1;Hoststatus' => $data
));
$parent = $config->getBpNode('singleHost');
$config->applySimulation($simulation);
$this->assertEquals(
'OK',
$parent->getStateName()
);
$parent->clearState();
$data->state = 1;
$simulation->set('host1;Hoststatus', $data);
$config->applySimulation($simulation);
$this->assertEquals(
'CRITICAL',
$parent->getStateName()
);
}
}