/** * testSaveAuthenticationRedirectSettings */ public function testSaveAuthenticationRedirectSettings() { $originalRedirectSettings = array(Tinebase_Config::REDIRECTURL => Tinebase_Config::getInstance()->getConfig(Tinebase_Config::REDIRECTURL, NULL, '')->value, Tinebase_Config::REDIRECTTOREFERRER => Tinebase_Config::getInstance()->getConfig(Tinebase_Config::REDIRECTTOREFERRER, NULL, '')->value); $newRedirectSettings = array(Tinebase_Config::REDIRECTURL => 'http://tine20.org', Tinebase_Config::REDIRECTTOREFERRER => '1'); $this->_uit->saveAuthentication(array('redirectSettings' => $newRedirectSettings)); $storedRedirectSettings = array(Tinebase_Config::REDIRECTURL => Tinebase_Config::getInstance()->getConfig(Tinebase_Config::REDIRECTURL, NULL, '')->value, Tinebase_Config::REDIRECTTOREFERRER => Tinebase_Config::getInstance()->getConfig(Tinebase_Config::REDIRECTTOREFERRER, NULL, '')->value); $this->assertEquals($storedRedirectSettings, $newRedirectSettings); //test empty redirectUrl $newRedirectSettings = array(Tinebase_Config::REDIRECTURL => '', Tinebase_Config::REDIRECTTOREFERRER => '0'); $this->_uit->saveAuthentication(array('redirectSettings' => $newRedirectSettings)); $storedRedirectSettings = array(Tinebase_Config::REDIRECTURL => Tinebase_Config::getInstance()->getConfig(Tinebase_Config::REDIRECTURL, NULL, '')->value, Tinebase_Config::REDIRECTTOREFERRER => Tinebase_Config::getInstance()->getConfig(Tinebase_Config::REDIRECTTOREFERRER, NULL, '')->value); $this->assertEquals($storedRedirectSettings, $newRedirectSettings); $this->_uit->saveAuthentication($originalRedirectSettings); }
/** * testSavePasswordSettings * * @see 0003008: add password policies */ public function testSavePasswordSettings() { $testAuthenticationData = $this->_json->loadAuthenticationData(); $configs = array('changepw' => TRUE, 'pwPolicyActive' => TRUE, 'pwPolicyMinLength' => 1, 'pwPolicyMinWordChars' => 1); foreach ($configs as $config => $value) { $testAuthenticationData['password'][$config] = $value; } $result = $this->_json->saveAuthentication($testAuthenticationData); $this->assertTrue($result['success'], 'saveAuthentication unsuccessful'); $testAuthenticationData = $this->_json->loadAuthenticationData(); $this->assertTrue(isset($testAuthenticationData['password']), 'pw settings not found: ' . print_r($testAuthenticationData, TRUE)); foreach ($configs as $config => $expected) { $this->assertEquals($expected, $testAuthenticationData['password'][$config], 'pw setting ' . $config . ' not found: ' . print_r($testAuthenticationData['password'], TRUE)); } }
/** * testSaveAuthenticationRedirectSettings */ public function testSaveAuthenticationRedirectSettings() { $originalRedirectSettings = array(Tinebase_Config::REDIRECTURL => Tinebase_Config::getInstance()->get(Tinebase_Config::REDIRECTURL, ''), Tinebase_Config::REDIRECTTOREFERRER => Tinebase_Config::getInstance()->get(Tinebase_Config::REDIRECTTOREFERRER, FALSE)); $newRedirectSettings = array(Tinebase_Config::REDIRECTURL => 'http://tine20.org', Tinebase_Config::REDIRECTTOREFERRER => TRUE); $this->_uit->saveAuthentication(array('redirectSettings' => $newRedirectSettings)); $storedRedirectSettings = array(Tinebase_Config::REDIRECTURL => Tinebase_Config::getInstance()->get(Tinebase_Config::REDIRECTURL), Tinebase_Config::REDIRECTTOREFERRER => Tinebase_Config::getInstance()->get(Tinebase_Config::REDIRECTTOREFERRER)); $configNames = array(Tinebase_Config::REDIRECTURL, Tinebase_Config::REDIRECTTOREFERRER); foreach ($configNames as $configName) { $this->assertEquals($storedRedirectSettings[$configName], $newRedirectSettings[$configName], 'new setting should match stored settings: ' . print_r($newRedirectSettings, TRUE)); } // test empty redirectUrl $newRedirectSettings = array(Tinebase_Config::REDIRECTURL => '', Tinebase_Config::REDIRECTTOREFERRER => FALSE); $this->_uit->saveAuthentication(array('redirectSettings' => $newRedirectSettings)); $storedRedirectSettings = array(Tinebase_Config::REDIRECTURL => Tinebase_Config::getInstance()->get(Tinebase_Config::REDIRECTURL), Tinebase_Config::REDIRECTTOREFERRER => Tinebase_Config::getInstance()->get(Tinebase_Config::REDIRECTTOREFERRER)); foreach ($configNames as $configName) { $this->assertEquals($storedRedirectSettings[$configName], $newRedirectSettings[$configName], 'new setting should match stored settings (with empty redirect URL): ' . print_r($newRedirectSettings, TRUE)); } $this->_uit->saveAuthentication($originalRedirectSettings); }
/** * testSaveAuthenticationSql */ public function testSaveAuthenticationSql() { $testAuthenticationData = $this->_json->loadAuthenticationData(); $testAuthenticationData['authentication']['backend'] = Tinebase_Auth::SQL; $testAuthenticationData['authentication'][Tinebase_Auth::SQL]['adminLoginName'] = 'phpunit-admin'; $testAuthenticationData['authentication'][Tinebase_Auth::SQL]['adminPassword'] = '******'; $testAuthenticationData['authentication'][Tinebase_Auth::SQL]['adminPasswordConfirmation'] = 'phpunit-password'; $this->_uninstallAllApps(); $result = $this->_json->saveAuthentication($testAuthenticationData); $savedAuthenticationData = $this->_json->loadAuthenticationData(); $adminUser = Tinebase_User::getInstance()->getFullUserByLoginName('phpunit-admin'); $this->assertTrue($adminUser instanceof Tinebase_Model_User); //test if Tinebase stack was installed $apps = $this->_json->searchApplications(); $baseApplicationStack = array('Tinebase', 'Admin', 'Addressbook'); foreach ($apps['results'] as $app) { if ($app['install_status'] === 'uptodate' && false !== ($index = array_search($app['name'], $baseApplicationStack))) { unset($baseApplicationStack[$index]); } } $this->assertTrue(empty($baseApplicationStack), 'Assure that base application stack was installed after saving authentication'); $this->_uninstallAllApps(); //Ensure that all aps get re-installed with default username/password because some tests rely on these values }