mirror of
https://github.com/phpbb/phpbb.git
synced 2025-04-19 23:32:02 +02:00
[feature/passwords] Fix tests after changes to phpBB hashing functions
PHPBB3-11610
This commit is contained in:
parent
3aba3235d5
commit
e7e11112b1
@ -13,6 +13,33 @@ class phpbb_security_hash_test extends phpbb_test_case
|
||||
{
|
||||
public function test_check_hash_with_phpass()
|
||||
{
|
||||
global $phpbb_container;
|
||||
|
||||
$config = new phpbb\config\config(array());
|
||||
$phpbb_container = $this->getMock('Symfony\Component\DependencyInjection\ContainerInterface');
|
||||
$driver_helper = new phpbb\passwords\driver\helper($config);
|
||||
$passwords_drivers = array(
|
||||
'passwords.driver.bcrypt' => new phpbb\passwords\driver\bcrypt($config, $driver_helper),
|
||||
'passwords.driver.bcrypt_2y' => new phpbb\passwords\driver\bcrypt_2y($config, $driver_helper),
|
||||
'passwords.driver.salted_md5' => new phpbb\passwords\driver\salted_md5($config, $driver_helper),
|
||||
'passwords.driver.phpass' => new phpbb\passwords\driver\phpass($config, $driver_helper),
|
||||
);
|
||||
|
||||
foreach ($passwords_drivers as $key => $driver)
|
||||
{
|
||||
$driver->set_name($key);
|
||||
}
|
||||
|
||||
$passwords_helper = new phpbb\passwords\helper;
|
||||
// Set up passwords manager
|
||||
$passwords_manager = new phpbb\passwords\manager($config, $passwords_drivers, $passwords_helper, 'passwords.driver.bcrypt_2y');
|
||||
|
||||
$phpbb_container
|
||||
->expects($this->any())
|
||||
->method('get')
|
||||
->with('passwords.manager')
|
||||
->will($this->returnValue($passwords_manager));
|
||||
|
||||
$this->assertTrue(phpbb_check_hash('test', '$H$9isfrtKXWqrz8PvztXlL3.daw4U0zI1'));
|
||||
$this->assertTrue(phpbb_check_hash('test', '$P$9isfrtKXWqrz8PvztXlL3.daw4U0zI1'));
|
||||
$this->assertFalse(phpbb_check_hash('foo', '$H$9isfrtKXWqrz8PvztXlL3.daw4U0zI1'));
|
||||
|
@ -509,6 +509,7 @@ class phpbb_functional_test_case extends phpbb_test_case
|
||||
set_config(null, null, null, $config);
|
||||
set_config_count(null, null, null, $config);
|
||||
$phpbb_dispatcher = new phpbb_mock_event_dispatcher();
|
||||
$passwords_manager = $this->get_passwords_manager();
|
||||
|
||||
$user_row = array(
|
||||
'username' => $username,
|
||||
@ -518,7 +519,7 @@ class phpbb_functional_test_case extends phpbb_test_case
|
||||
'user_lang' => 'en',
|
||||
'user_timezone' => 0,
|
||||
'user_dateformat' => '',
|
||||
'user_password' => phpbb_hash($username . $username),
|
||||
'user_password' => $passwords_manager->hash($username . $username),
|
||||
);
|
||||
return user_add($user_row);
|
||||
}
|
||||
@ -995,4 +996,34 @@ class phpbb_functional_test_case extends phpbb_test_case
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return a passwords manager instance
|
||||
*
|
||||
* @return phpbb\passwords\manager
|
||||
*/
|
||||
public function get_passwords_manager()
|
||||
{
|
||||
// Prepare dependencies for manager and driver
|
||||
$config = new phpbb\config\config(array());
|
||||
$driver_helper = new phpbb\passwords\driver\helper($config);
|
||||
|
||||
$passwords_drivers = array(
|
||||
'passwords.driver.bcrypt' => new phpbb\passwords\driver\bcrypt($config, $driver_helper),
|
||||
'passwords.driver.bcrypt_2y' => new phpbb\passwords\driver\bcrypt_2y($config, $driver_helper),
|
||||
'passwords.driver.salted_md5' => new phpbb\passwords\driver\salted_md5($config, $driver_helper),
|
||||
'passwords.driver.phpass' => new phpbb\passwords\driver\phpass($config, $driver_helper),
|
||||
);
|
||||
|
||||
foreach ($passwords_drivers as $key => $driver)
|
||||
{
|
||||
$driver->set_name($key);
|
||||
}
|
||||
|
||||
$passwords_helper = new phpbb\passwords\helper;
|
||||
// Set up passwords manager
|
||||
$manager = new phpbb\passwords\manager($config, $passwords_drivers, $passwords_helper, 'passwords.driver.bcrypt_2y');
|
||||
|
||||
return $manager;
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user