From 4964d84e7858cc8f3e7eb9d89d394842148f1939 Mon Sep 17 00:00:00 2001 From: Johannes Meyer Date: Fri, 6 Sep 2013 09:25:56 +0200 Subject: [PATCH] Doc fixes refs #4580 --- .../Protocol/Commandpipe/CommandPipeTest.php | 234 ++++++++++-------- 1 file changed, 125 insertions(+), 109 deletions(-) diff --git a/test/php/library/Icinga/Protocol/Commandpipe/CommandPipeTest.php b/test/php/library/Icinga/Protocol/Commandpipe/CommandPipeTest.php index ba9a951e1..dbf21f9bb 100644 --- a/test/php/library/Icinga/Protocol/Commandpipe/CommandPipeTest.php +++ b/test/php/library/Icinga/Protocol/Commandpipe/CommandPipeTest.php @@ -28,10 +28,11 @@ namespace Tests\Icinga\Protocol\Commandpipe; -require_once(__DIR__.'/CommandPipeLoader.php'); +require_once(realpath(__DIR__ . '/CommandPipeLoader.php')); CommandPipeLoader::requireLibrary(); use Zend_Config; +use PHPUnit_Framework_TestCase; use Icinga\Protocol\Commandpipe\Comment; use Icinga\Protocol\Commandpipe\Commandpipe as Commandpipe; use Icinga\Protocol\Commandpipe\PropertyModifier as MONFLAG; @@ -44,8 +45,8 @@ use Icinga\Module\Monitoring\Command\DelayNotificationCommand; use Icinga\Module\Monitoring\Command\ScheduleCheckCommand; use Icinga\Module\Monitoring\Command\SubmitPassiveCheckresultCommand; -if (!defined("EXTCMD_TEST_BIN")) { - define("EXTCMD_TEST_BIN", "./bin/extcmd_test"); +if (!defined('EXTCMD_TEST_BIN')) { + define('EXTCMD_TEST_BIN', './bin/extcmd_test'); } /** @@ -53,10 +54,8 @@ if (!defined("EXTCMD_TEST_BIN")) { * * Uses the helper script extcmd_test, which is basically the extracted command * parser functions from the icinga core - * - * */ -class CommandPipeTest extends \PHPUnit_Framework_TestCase +class CommandPipeTest extends PHPUnit_Framework_TestCase { /** * Return the path of the test pipe used in these tests @@ -65,7 +64,7 @@ class CommandPipeTest extends \PHPUnit_Framework_TestCase */ public function getPipeName() { - return sys_get_temp_dir()."/icinga_test_pipe"; + return sys_get_temp_dir() . '/icinga_test_pipe'; } /** @@ -81,8 +80,8 @@ class CommandPipeTest extends \PHPUnit_Framework_TestCase $cfg = new Zend_Config( array( - "path" => $tmpPipe, - "name" => "test" + 'path' => $tmpPipe, + 'name' => 'test' ) ); @@ -90,7 +89,8 @@ class CommandPipeTest extends \PHPUnit_Framework_TestCase } /** - * Return a @see Icinga\Protocal\CommandPipe\CommandPipe instance set up for the local test pipe, but with ssh as the transport layer + * Return a @see Icinga\Protocal\CommandPipe\CommandPipe instance set up + * for the local test pipe, but with ssh as the transport layer * * @return Commandpipe */ @@ -102,12 +102,12 @@ class CommandPipeTest extends \PHPUnit_Framework_TestCase $cfg = new Zend_Config( array( - "path" => $tmpPipe, - "user" => "vagrant", - "password" => "vagrant", - "host" => 'localhost', - "port" => 22, - "name" => "test" + 'path' => $tmpPipe, + 'user' => 'vagrant', + 'password' => 'vagrant', + 'host' => 'localhost', + 'port' => 22, + 'name' => 'test' ) ); @@ -116,11 +116,11 @@ class CommandPipeTest extends \PHPUnit_Framework_TestCase /** * Remove the testpipe if it exists - * */ private function cleanup() { - if(file_exists($this->getPipeName())) + if (file_exists($this->getPipeName())) { unlink($this->getPipeName()); + } } /** @@ -137,39 +137,43 @@ class CommandPipeTest extends \PHPUnit_Framework_TestCase * (optional, leave it to just test for the return code) * @param bool $command The commandstring to send (optional, leave it for using the command pipe content) */ - private function assertCommandSucceeded($expectedString = false,$command = false) { + private function assertCommandSucceeded($expectedString = false, $command = false) { $resultCode = null; $resultArr = array(); - $receivedCmd = exec(EXTCMD_TEST_BIN." ".escapeshellarg($command ? $command : file_get_contents($this->getPipeName())),$resultArr,$resultCode); - $this->assertEquals(0, $resultCode, "Submit of external command returned error : ".$receivedCmd); - if (!$expectedString) - return; - $this->assertEquals( - $expectedString, - $receivedCmd, - 'Asserting that the command icinga received matches the command we send' + $receivedCmd = exec(EXTCMD_TEST_BIN . ' ' . escapeshellarg( + $command ? $command : file_get_contents($this->getPipeName())), + $resultArr, + $resultCode ); + $this->assertEquals(0, $resultCode, 'Submit of external command returned error : ' . $receivedCmd); + if ($expectedString) { + $this->assertEquals( + $expectedString, + $receivedCmd, + 'Asserting that the command icinga received matches the command we send' + ); + } } /** * Test whether a single host acknowledgment is serialized and send correctly * - * @throws \Exception|Exception + * @throws Exception */ public function testAcknowledgeSingleHost() { $pipe = $this->getLocalTestPipe(); try { - $ack = new AcknowledgeCommand(new Comment("I can", "sends teh ack")); + $ack = new AcknowledgeCommand(new Comment('I can', 'sends teh ack')); $pipe->sendCommand( $ack, array( (object) array( - "host_name" => "hostA" + 'host_name' => 'hostA' ) ) ); - $this->assertCommandSucceeded("ACKNOWLEDGE_HOST_PROBLEM;hostA;0;0;0;I can;sends teh ack"); + $this->assertCommandSucceeded('ACKNOWLEDGE_HOST_PROBLEM;hostA;0;0;0;I can;sends teh ack'); } catch(Exception $e) { $this->cleanup(); throw $e; @@ -180,37 +184,37 @@ class CommandPipeTest extends \PHPUnit_Framework_TestCase /** * Test whether multiple host and service acknowledgments are serialized and send correctly * - * @throws \Exception|Exception + * @throws Exception */ public function testAcknowledgeMultipleObjects() { $pipe = $this->getLocalTestPipe(); try { - $ack = new AcknowledgeCommand(new Comment("I can", "sends teh ack")); - $pipe->getTransport()->setOpenMode("a"); + $ack = new AcknowledgeCommand(new Comment('I can', 'sends teh ack')); + $pipe->getTransport()->setOpenMode('a'); $pipe->sendCommand( $ack, array( (object) array( - "host_name" => "hostA" + 'host_name' => 'hostA' ),(object) array( - "host_name" => "hostB" + 'host_name' => 'hostB' ),(object) array( - "host_name" => "hostC" + 'host_name' => 'hostC' ),(object) array( - "host_name" => "hostC", - "service_description" => "svc" + 'host_name' => 'hostC', + 'service_description' => 'svc' ) ) ); $result = explode("\n", file_get_contents($this->getPipeName())); - $this->assertCount(5, $result, "Asserting the correct number of commands being written to the command pipe"); + $this->assertCount(5, $result, 'Asserting the correct number of commands being written to the command pipe'); - $this->assertCommandSucceeded("ACKNOWLEDGE_HOST_PROBLEM;hostA;0;0;0;I can;sends teh ack", $result[0]); - $this->assertCommandSucceeded("ACKNOWLEDGE_HOST_PROBLEM;hostB;0;0;0;I can;sends teh ack", $result[1]); - $this->assertCommandSucceeded("ACKNOWLEDGE_HOST_PROBLEM;hostC;0;0;0;I can;sends teh ack", $result[2]); - $this->assertCommandSucceeded("ACKNOWLEDGE_SVC_PROBLEM;hostC;svc;0;0;0;I can;sends teh ack", $result[3]); + $this->assertCommandSucceeded('ACKNOWLEDGE_HOST_PROBLEM;hostA;0;0;0;I can;sends teh ack', $result[0]); + $this->assertCommandSucceeded('ACKNOWLEDGE_HOST_PROBLEM;hostB;0;0;0;I can;sends teh ack', $result[1]); + $this->assertCommandSucceeded('ACKNOWLEDGE_HOST_PROBLEM;hostC;0;0;0;I can;sends teh ack', $result[2]); + $this->assertCommandSucceeded('ACKNOWLEDGE_SVC_PROBLEM;hostC;svc;0;0;0;I can;sends teh ack', $result[3]); } catch(Exception $e) { $this->cleanup(); @@ -231,17 +235,17 @@ class CommandPipeTest extends \PHPUnit_Framework_TestCase $pipe->sendCommand( new AddCommentCommand( new Comment( - "Autor", - "Comment" + 'Autor', + 'Comment' ) ), array( (object) array( - "host_name" => "hostA" + 'host_name' => 'hostA' ) ) ); - $this->assertCommandSucceeded("ADD_HOST_COMMENT;hostA;0;Autor;Comment"); + $this->assertCommandSucceeded('ADD_HOST_COMMENT;hostA;0;Autor;Comment'); } catch(Exception $e) { $this->cleanup(); throw $e; @@ -252,18 +256,20 @@ class CommandPipeTest extends \PHPUnit_Framework_TestCase /** * Test whether removing all hostcomments is correctly serialized and send to the command pipe * - * @throws \Exception|Exception + * @throws Exception */ public function testRemoveAllHostComment() { $pipe = $this->getLocalTestPipe(); try { - $pipe->removeComment(array( - (object) array( - "host_name" => "test" + $pipe->removeComment( + array( + (object) array( + 'host_name' => 'test' + ) ) - )); - $this->assertCommandSucceeded("DEL_ALL_HOST_COMMENTS;test"); + ); + $this->assertCommandSucceeded('DEL_ALL_HOST_COMMENTS;test'); } catch(Exception $e) { $this->cleanup(); throw $e; @@ -274,14 +280,21 @@ class CommandPipeTest extends \PHPUnit_Framework_TestCase /** * Test whether removing a single host comment is correctly serialized and send to the command pipe * - * @throws \Exception|Exception + * @throws Exception */ public function testRemoveSpecificComment() { $pipe = $this->getLocalTestPipe(); try { - $pipe->removeComment(array((object) array("comment_id"=>34,"host_name"=>"test"))); - $this->assertCommandSucceeded("DEL_HOST_COMMENT;34"); + $pipe->removeComment( + array( + (object) array( + 'comment_id' => 34, + 'host_name' => 'test' + ) + ) + ); + $this->assertCommandSucceeded('DEL_HOST_COMMENT;34'); } catch(Exception $e) { $this->cleanup(); throw $e; @@ -292,7 +305,7 @@ class CommandPipeTest extends \PHPUnit_Framework_TestCase /** * Test whether a multiple reschedules for services and hosts are correctly serialized and send to the commandpipe * - * @throws \Exception|Exception + * @throws Exception */ public function testScheduleChecks() { @@ -304,10 +317,10 @@ class CommandPipeTest extends \PHPUnit_Framework_TestCase $command, array( (object) array( - 'host_name' => 'test' + 'host_name' => 'test' ), (object) array( - 'host_name' => 'test', + 'host_name' => 'test', 'service_description' => 'svc1' ) ) @@ -317,10 +330,10 @@ class CommandPipeTest extends \PHPUnit_Framework_TestCase $command, array( (object) array( - 'host_name' => 'test' + 'host_name' => 'test' ), (object) array( - 'host_name' => 'test', + 'host_name' => 'test', 'service_description' => 'svc1' ) ) @@ -353,36 +366,39 @@ class CommandPipeTest extends \PHPUnit_Framework_TestCase /** * Test whether modifying monitoringflags of a host and service is correctly serialized and send to the command pipe * - * @throws \Exception|Exception + * @throws Exception */ public function testObjectStateModifications() { $pipe = $this->getLocalTestPipe(); try { - $pipe->getTransport()->setOpenMode("a"); - $pipe->setMonitoringProperties(array( + $pipe->getTransport()->setOpenMode('a'); + $pipe->setMonitoringProperties( + array( (object) array( - "host_name" => "Testhost" + 'host_name' => 'Testhost' ), (object) array( - "host_name" => "host", - "service_description" => "svc" + 'host_name' => 'host', + 'service_description' => 'svc' ) - ), new MONFLAG(array( - MONFLAG::ACTIVE => MONFLAG::STATE_DISABLE, - MONFLAG::PASSIVE => MONFLAG::STATE_ENABLE, - MONFLAG::NOTIFICATIONS => MONFLAG::STATE_DISABLE, - MONFLAG::EVENTHANDLER => MONFLAG::STATE_ENABLE, - MONFLAG::FLAPPING => MONFLAG::STATE_DISABLE, - MONFLAG::FRESHNESS => MONFLAG::STATE_ENABLE, - )) + ), new MONFLAG( + array( + MONFLAG::ACTIVE => MONFLAG::STATE_DISABLE, + MONFLAG::PASSIVE => MONFLAG::STATE_ENABLE, + MONFLAG::NOTIFICATIONS => MONFLAG::STATE_DISABLE, + MONFLAG::EVENTHANDLER => MONFLAG::STATE_ENABLE, + MONFLAG::FLAPPING => MONFLAG::STATE_DISABLE, + MONFLAG::FRESHNESS => MONFLAG::STATE_ENABLE, + ) + ) ); - $result = explode("\n",file_get_contents($this->getPipeName())); + $result = explode("\n", file_get_contents($this->getPipeName())); array_pop($result); // remove empty last line - $this->assertCount(12,$result, "Asserting a correct number of commands being written to the commandpipe"); + $this->assertCount(12, $result, 'Asserting a correct number of commands being written to the commandpipe'); foreach ($result as $command) { - $this->assertCommandSucceeded(false,$command); + $this->assertCommandSucceeded(false, $command); } } catch (Exception $e) { @@ -395,16 +411,16 @@ class CommandPipeTest extends \PHPUnit_Framework_TestCase /** * Test whether enabling and disabling global notifications are send correctly to the pipe * - * @throws \Exception|Exception + * @throws Exception */ public function testGlobalNotificationTrigger() { $pipe = $this->getLocalTestPipe(); try { $pipe->enableGlobalNotifications(); - $this->assertCommandSucceeded("ENABLE_NOTIFICATIONS;"); + $this->assertCommandSucceeded('ENABLE_NOTIFICATIONS;'); $pipe->disableGlobalNotifications(); - $this->assertCommandSucceeded("DISABLE_NOTIFICATIONS;"); + $this->assertCommandSucceeded('DISABLE_NOTIFICATIONS;'); } catch (Exception $e) { $this->cleanup(); throw $e; @@ -503,33 +519,35 @@ class CommandPipeTest extends \PHPUnit_Framework_TestCase /** * Test whether the removal of downtimes is correctly serialized and send to the commandpipe for hosts and services * - * @throws \Exception|Exception + * @throws Exception */ public function testRemoveDowntime() { $pipe = $this->getLocalTestPipe(); try { - $pipe->getTransport()->setOpenMode("a"); - $pipe->removeDowntime(array( - (object) array( - "host_name" => "Testhost" - ), - (object) array( - "host_name" => "host", - "service_description" => "svc" - ), - (object) array( - "host_name" => "host", - "service_description" => "svc", - "downtime_id" => 123 + $pipe->getTransport()->setOpenMode('a'); + $pipe->removeDowntime( + array( + (object) array( + 'host_name' => 'Testhost' + ), + (object) array( + 'host_name' => 'host', + 'service_description' => 'svc' + ), + (object) array( + 'host_name' => 'host', + 'service_description' => 'svc', + 'downtime_id' => 123 + ) ) - )); - $result = explode("\n",file_get_contents($this->getPipeName())); + ); + $result = explode("\n", file_get_contents($this->getPipeName())); array_pop($result); // remove empty last line - $this->assertCount(3,$result, "Asserting a correct number of commands being written to the commandpipe"); - $this->assertCommandSucceeded("DEL_DOWNTIME_BY_HOST_NAME;Testhost",$result[0]); - $this->assertCommandSucceeded("DEL_DOWNTIME_BY_HOST_NAME;host;svc",$result[1]); - $this->assertCommandSucceeded("DEL_SVC_DOWNTIME;123",$result[2]); + $this->assertCount(3, $result, 'Asserting a correct number of commands being written to the commandpipe'); + $this->assertCommandSucceeded('DEL_DOWNTIME_BY_HOST_NAME;Testhost', $result[0]); + $this->assertCommandSucceeded('DEL_DOWNTIME_BY_HOST_NAME;host;svc', $result[1]); + $this->assertCommandSucceeded('DEL_SVC_DOWNTIME;123', $result[2]); } catch (Exception $e) { $this->cleanup(); @@ -671,26 +689,24 @@ class CommandPipeTest extends \PHPUnit_Framework_TestCase /** * Test sending of commands via SSH (currently disabled) * - * @throws \Exception|Exception + * @throws Exception */ public function testSSHCommands() { - $this->markTestSkipped("This test assumes running in a vagrant VM with key-auth"); + $this->markTestSkipped('This test assumes running in a vagrant VM with key-auth'); - if (!is_dir("/vagrant")) { - } $pipe = $this->getSSHTestPipe(); try { - $ack = new AcknowledgeCommand(new Comment("I can", "sends teh ack")); + $ack = new AcknowledgeCommand(new Comment('I can', 'sends teh ack')); $pipe->sendCommand( $ack, array( (object) array( - "host_name" => "hostA" + 'host_name' => 'hostA' ) ) ); - $this->assertCommandSucceeded("ACKNOWLEDGE_HOST_PROBLEM;hostA;0;0;0;I can;sends teh ack"); + $this->assertCommandSucceeded('ACKNOWLEDGE_HOST_PROBLEM;hostA;0;0;0;I can;sends teh ack'); } catch(Exception $e) { $this->cleanup(); throw $e;