diff options
Diffstat (limited to '')
-rw-r--r-- | test/php/library/Director/PropertyModifier/PropertyModifierCombineTest.php | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/test/php/library/Director/PropertyModifier/PropertyModifierCombineTest.php b/test/php/library/Director/PropertyModifier/PropertyModifierCombineTest.php new file mode 100644 index 0000000..4c42dba --- /dev/null +++ b/test/php/library/Director/PropertyModifier/PropertyModifierCombineTest.php @@ -0,0 +1,51 @@ +<?php + +namespace Tests\Icinga\Module\Director\Objects; + +use Icinga\Module\Director\PropertyModifier\PropertyModifierCombine; +use Icinga\Module\Director\Test\BaseTestCase; + +class PropertyModifierCombineTest extends BaseTestCase +{ + public function testBuildsTypicalHostServiceCombination() + { + $row = (object) array('host' => 'localhost', 'service' => 'ping'); + $modifier = new PropertyModifierCombine(); + $modifier->setSettings(array('pattern' => '${host}!${service}')); + + $this->assertEquals( + 'localhost!ping', + $modifier->setRow($row)->transform('something') + ); + } + + public function testDoesNotFailForMissingProperties() + { + $row = (object) array('host' => 'localhost'); + $modifier = new PropertyModifierCombine(); + $modifier->setSettings(array('pattern' => '${host}!${service}')); + + $this->assertEquals( + 'localhost!', + $modifier->setRow($row)->transform('something') + ); + } + + public function testDoesNotEvaluateVariablesFromDataSource() + { + $row = (object) array('host' => '${service}', 'service' => 'ping'); + $modifier = new PropertyModifierCombine(); + $modifier->setSettings(array('pattern' => '${host}!${service}')); + + $this->assertEquals( + '${service}!ping', + $modifier->setRow($row)->transform('something') + ); + } + + public function testRequiresRow() + { + $modifier = new PropertyModifierCombine(); + $this->assertTrue($modifier->requiresRow()); + } +} |