/**
  * 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);
 }
Example #4
0
 /**
  * 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
 }