dice = $this->dice ->addRule(Authentication::class, ['instanceOf' => AuthenticationDouble::class, 'shared' => true]) ->addRule(ApiResponse::class, ['instanceOf' => ApiResponseDouble::class, 'shared' => true]); DI::init($this->dice); $this->installAuthTest(); } protected function tearDown(): void { ApiResponseDouble::reset(); parent::tearDown(); } /** * installs auththest. * * @throws \Exception */ public function installAuthTest() { $addon = 'authtest'; $addon_file_path = __DIR__ . '/../../../Util/authtest/authtest.php'; $t = @filemtime($addon_file_path); @include_once($addon_file_path); if (function_exists($addon . '_install')) { $func = $addon . '_install'; $func(DI::app()); } /** @var Database $dba */ $dba = $this->dice->create(Database::class); $dba->insert('addon', [ 'name' => $addon, 'installed' => true, 'timestamp' => $t, 'plugin_admin' => function_exists($addon . '_addon_admin'), 'hidden' => file_exists('addon/' . $addon . '/.hidden') ]); Addon::loadAddons(); Hook::loadHooks(); } }