/** * @depends testCheck_password_strength * @depends testCheck_password_reuse * @depends testGenerate_safe_password */ public function testSet_account() { $accounthelper = new org_openpsa_user_accounthelper(self::$_user); $account = midcom_core_account::get(self::$_user); $password = $account->get_password(); $username = $account->get_username(); midcom::get('auth')->request_sudo('org.openpsa.user'); self::$_user->delete_parameter('org_openpsa_user_password', 'old_passwords'); self::$_user->delete_parameter('org_openpsa_user_password', 'last_change'); do { $new_password = $accounthelper->generate_safe_password(); } while ($password === $new_password); $new_username = $username . time(); $this->assertTrue($accounthelper->set_account($new_username, $new_password)); midcom::get('auth')->drop_sudo(); $this->assertEquals(midcom_connection::prepare_password($new_password), $account->get_password()); $this->assertEquals($new_username, $account->get_username()); $this->assertFalse(is_null(self::$_user->get_parameter('org_openpsa_user_password', 'last_change'))); $this->assertEquals(serialize(array($password)), self::$_user->get_parameter('org_openpsa_user_password', 'old_passwords')); }