public function MigrateUserAdminPassTest::testAdminPasswordPreserved in Drupal 9
Same name and namespace in other branches
- 8 core/modules/user/tests/src/Kernel/Migrate/MigrateUserAdminPassTest.php \Drupal\Tests\user\Kernel\Migrate\MigrateUserAdminPassTest::testAdminPasswordPreserved()
Tests preserving the admin user's password.
File
- core/
modules/ user/ tests/ src/ Kernel/ Migrate/ MigrateUserAdminPassTest.php, line 59
Class
- MigrateUserAdminPassTest
- Tests preservation of root account password.
Namespace
Drupal\Tests\user\Kernel\MigrateCode
public function testAdminPasswordPreserved() {
$user_data_rows = [
[
'id' => '1',
'username' => 'site_admin',
'password' => 'new_password',
'email' => 'site_admin@example.com',
],
[
'id' => '2',
'username' => 'random_user',
'password' => 'random_password',
'email' => 'random_user@example.com',
],
];
$ids = [
'id' => [
'type' => 'integer',
],
];
$definition = [
'id' => 'users',
'migration_tags' => [
'Admin password test',
],
'source' => [
'plugin' => 'embedded_data',
'data_rows' => $user_data_rows,
'ids' => $ids,
],
'process' => [
'uid' => 'id',
'name' => 'username',
'mail' => 'email',
'pass' => 'password',
],
'destination' => [
'plugin' => 'entity:user',
],
];
$migration = \Drupal::service('plugin.manager.migration')
->createStubMigration($definition);
$this
->executeMigration($migration);
// Verify that admin username and email were changed, but password was not.
/** @var \Drupal\user\Entity\User $admin_account */
$admin_account = User::load(1);
$this
->assertSame('site_admin', $admin_account
->getAccountName());
$this
->assertSame('site_admin@example.com', $admin_account
->getEmail());
$this
->assertSame($this->originalPasswords[1], $admin_account
->getPassword());
// Verify that everything changed for the regular user.
/** @var \Drupal\user\Entity\User $user_account */
$user_account = User::load(2);
$this
->assertSame('random_user', $user_account
->getAccountName());
$this
->assertSame('random_user@example.com', $user_account
->getEmail());
$this
->assertNotSame($this->originalPasswords[2], $user_account
->getPassword());
}