diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 12:43:29 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 12:43:29 +0000 |
commit | a9b77c01caef9ae7a2c84e2333d28ceb028cf4d3 (patch) | |
tree | 4a77cd3e323c37b0e5b3d7578b9718cdf1a89262 /library/Eventdb/Test | |
parent | Initial commit. (diff) | |
download | icingaweb2-module-eventdb-upstream/1.3.0.tar.xz icingaweb2-module-eventdb-upstream/1.3.0.zip |
Adding upstream version 1.3.0.upstream/1.3.0upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'library/Eventdb/Test')
-rw-r--r-- | library/Eventdb/Test/BaseTestCase.php | 27 | ||||
-rw-r--r-- | library/Eventdb/Test/Bootstrap.php | 35 | ||||
-rw-r--r-- | library/Eventdb/Test/PseudoHost.php | 15 | ||||
-rw-r--r-- | library/Eventdb/Test/PseudoMonitoringBackend.php | 14 | ||||
-rw-r--r-- | library/Eventdb/Test/PseudoService.php | 16 |
5 files changed, 107 insertions, 0 deletions
diff --git a/library/Eventdb/Test/BaseTestCase.php b/library/Eventdb/Test/BaseTestCase.php new file mode 100644 index 0000000..d24ea49 --- /dev/null +++ b/library/Eventdb/Test/BaseTestCase.php @@ -0,0 +1,27 @@ +<?php + +namespace Icinga\Module\Eventdb\Test; + +use Icinga\Application\Icinga; +use PHPUnit_Framework_TestCase; + +abstract class BaseTestCase extends PHPUnit_Framework_TestCase +{ + private static $app; + + private $db; + + public function setUp() + { + $this->app(); + } + + protected function app() + { + if (self::$app === null) { + self::$app = Icinga::app(); + } + + return self::$app; + } +} diff --git a/library/Eventdb/Test/Bootstrap.php b/library/Eventdb/Test/Bootstrap.php new file mode 100644 index 0000000..848b360 --- /dev/null +++ b/library/Eventdb/Test/Bootstrap.php @@ -0,0 +1,35 @@ +<?php + +namespace Icinga\Module\Eventdb\Test; + +use Icinga\Application\EmbeddedWeb; +use Icinga\Authentication\Auth; +use Icinga\User; + +class Bootstrap +{ + public static function web($basedir = null) + { + error_reporting(E_ALL | E_STRICT); + if ($basedir === null) { + $basedir = dirname(dirname(dirname(__DIR__))); + } + $testsDir = $basedir . '/test'; + require_once 'Icinga/Application/EmbeddedWeb.php'; + + if (array_key_exists('ICINGAWEB_CONFIGDIR', $_SERVER)) { + $configDir = $_SERVER['ICINGAWEB_CONFIGDIR']; + } else { + $configDir = $testsDir . '/config'; + } + + EmbeddedWeb::start($testsDir, $configDir) + ->getModuleManager() + ->loadModule('eventdb', $basedir) + ->loadModule('monitoring', $basedir . '/vendor/icingaweb2/modules/monitoring'); + + $user = new User('icingaadmin'); + $user->setPermissions(array('*')); + Auth::getInstance()->setAuthenticated($user); + } +} diff --git a/library/Eventdb/Test/PseudoHost.php b/library/Eventdb/Test/PseudoHost.php new file mode 100644 index 0000000..7ebcd8c --- /dev/null +++ b/library/Eventdb/Test/PseudoHost.php @@ -0,0 +1,15 @@ +<?php + +namespace Icinga\Module\Eventdb\Test; + +use Icinga\Module\Monitoring\Object\Host; + +class PseudoHost extends Host +{ + public function provideCustomVars($vars) + { + $this->properties = new \stdClass; + $this->hostVariables = $this->customvars = $vars; + return $this; + } +} diff --git a/library/Eventdb/Test/PseudoMonitoringBackend.php b/library/Eventdb/Test/PseudoMonitoringBackend.php new file mode 100644 index 0000000..3ad6de5 --- /dev/null +++ b/library/Eventdb/Test/PseudoMonitoringBackend.php @@ -0,0 +1,14 @@ +<?php + +namespace Icinga\Module\Eventdb\Test; + +use Icinga\Data\ConfigObject; +use Icinga\Module\Monitoring\Backend\MonitoringBackend; + +class PseudoMonitoringBackend extends MonitoringBackend +{ + public static function dummy() + { + return new static('dummy', new ConfigObject()); + } +} diff --git a/library/Eventdb/Test/PseudoService.php b/library/Eventdb/Test/PseudoService.php new file mode 100644 index 0000000..737a8ac --- /dev/null +++ b/library/Eventdb/Test/PseudoService.php @@ -0,0 +1,16 @@ +<?php + +namespace Icinga\Module\Eventdb\Test; + +use Icinga\Module\Monitoring\Object\Service; + +class PseudoService extends Service +{ + public function provideCustomVars($vars) + { + $this->properties = new \stdClass; + $this->serviceVariables = $this->customvars = $vars; + $this->hostVariables = array(); + return $this; + } +} |