diff options
Diffstat (limited to 'library/Eventdb/Test/Bootstrap.php')
-rw-r--r-- | library/Eventdb/Test/Bootstrap.php | 35 |
1 files changed, 35 insertions, 0 deletions
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); + } +} |