function testDisableHook() { // encryption is enabled and running so we should have some user specific // settings in oc_preferences $query = \OC_DB::prepare('SELECT * FROM `*PREFIX*preferences` WHERE `appid` = ?'); $result = $query->execute(array('files_encryption')); $row = $result->fetchRow(); $this->assertTrue(is_array($row)); // disabling the app should delete all user specific settings \OCA\Files_Encryption\Hooks::preDisable(array('app' => 'files_encryption')); // check if user specific settings for the encryption app are really gone $query = \OC_DB::prepare('SELECT * FROM `*PREFIX*preferences` WHERE `appid` = ?'); $result = $query->execute(array('files_encryption')); $row = $result->fetchRow(); $this->assertFalse($row); // relogin user to initialize the encryption again $user = \OCP\User::getUser(); self::loginHelper($user); }