/** * factory function to return a selected authentication backend class * * @param string $type * @return Tinebase_Auth_Interface * @throws Tinebase_Exception_InvalidArgument */ public static function factory($_type) { switch ($_type) { case Tinebase_Auth::LDAP: $options = array('ldap' => Tinebase_Auth::getBackendConfiguration()); //only pass ldap options without e.g. sql options $instance = new Tinebase_Auth_Ldap($options); break; case Tinebase_Auth::SQL: $instance = new Tinebase_Auth_Sql(Tinebase_Core::getDb(), SQL_TABLE_PREFIX . 'accounts', 'login_name', 'password', 'MD5(?)'); break; case Tinebase_Auth::IMAP: $options = array(Tinebase_Auth::getBackendConfiguration()); $instance = new Tinebase_Auth_Imap($options); break; default: throw new Tinebase_Exception_InvalidArgument('Unknown authentication backend'); break; } return $instance; }
/** * testDeleteBackendConfiguration */ public function testDeleteBackendConfiguration() { Tinebase_Auth::setBackendType(Tinebase_Auth::LDAP); $key = 'host'; Tinebase_Auth::setBackendConfiguration('configured-host', $key); $this->assertEquals('configured-host', Tinebase_Auth::getBackendConfiguration($key, 'default-host')); Tinebase_Auth::deleteBackendConfiguration($key); $this->assertEquals('default-host', Tinebase_Auth::getBackendConfiguration($key, 'default-host')); $configOptionsCount = count(Tinebase_Auth::getBackendConfiguration()); Tinebase_Auth::deleteBackendConfiguration('non-existing-key'); $this->assertEquals($configOptionsCount, count(Tinebase_Auth::getBackendConfiguration())); Tinebase_Auth::setBackendConfiguration('phpunit-dummy-value', $key); $this->assertTrue(count(Tinebase_Auth::getBackendConfiguration()) > 0); Tinebase_Auth::deleteBackendConfiguration(); $this->assertTrue(count(Tinebase_Auth::getBackendConfiguration()) == 0); }
/** * @return string The short account domain name */ protected function _getAccountDomainNameShort() { return Tinebase_Auth::getBackendConfiguration('accountDomainNameShort', NULL); }
/** * testInstallAdminAccountOptions */ public function testInstallAdminAccountOptions() { $this->_uninstallAllApplications(); $this->_uit->installApplications(array('Tinebase'), array('adminLoginName' => 'phpunit-admin', 'adminPassword' => 'phpunit-password')); $adminUser = Tinebase_User::getInstance()->getFullUserByLoginName('phpunit-admin'); $this->assertTrue($adminUser instanceof Tinebase_Model_User); $this->assertNull(Tinebase_Auth::getBackendConfiguration('adminLoginName')); $this->assertNull(Tinebase_Auth::getBackendConfiguration('adminPassword')); $this->assertNull(Tinebase_Auth::getBackendConfiguration('adminConfirmation')); // cleanup $this->_uninstallAllApplications(); }