/** * getRandomStringAlwaysReturnsStringsOfGivenLength Test * * @param int $length * @param bool $addUpperCase * @param bool $addSpecialCharacters * @dataProvider getRandomStringAlwaysReturnsStringsOfGivenLengthDateProvider * @return void * @test */ public function getRandomStringAlwaysReturnsStringsOfGivenLength($length, $addUpperCase, $addSpecialCharacters) { for ($i = 0; $i < 100; $i++) { $string = StringUtility::getRandomString($length, $addUpperCase, $addSpecialCharacters); if ($addUpperCase) { $regex = '~[a-zA-Z0-9]{' . $length . '}~'; } else { $regex = '~[a-z0-9]{' . $length . '}~'; } $this->assertSame(1, preg_match($regex, $string)); } }
/** * Autogenerate username and password if it's empty * * @param User $user * @return User $user */ public static function fallbackUsernameAndPassword(User $user) { $settings = self::getConfigurationManager()->getConfiguration(ConfigurationManager::CONFIGURATION_TYPE_SETTINGS); $autogenerateSettings = $settings['new']['misc']['autogenerate']; if (!$user->getUsername()) { $user->setUsername(StringUtility::getRandomString($autogenerateSettings['username']['length'], $autogenerateSettings['username']['addUpperCase'], $autogenerateSettings['username']['addSpecialCharacters'])); if ($user->getEmail()) { $user->setUsername($user->getEmail()); } } if (!$user->getPassword()) { $password = StringUtility::getRandomString($autogenerateSettings['password']['length'], $autogenerateSettings['password']['addUpperCase'], $autogenerateSettings['password']['addSpecialCharacters']); $user->setPassword($password); $user->setPasswordAutoGenerated($password); } return $user; }