Moved all user info updating logic into SAMLUserFactory

This commit is contained in:
Jan Böhmer 2023-02-24 00:12:44 +01:00
parent f5a5114999
commit 960ee342e4
8 changed files with 133 additions and 88 deletions

View file

@ -148,40 +148,4 @@ class UserTest extends TestCase
}
$this->assertFalse($user->isWebAuthnAuthenticatorEnabled());
}
public function testSetSAMLAttributes(): void
{
$data = [
'firstName' => ['John'],
'lastName' => ['Doe'],
'email' => ['j.doe@invalid.invalid'],
'department' => ['Test Department'],
];
$user = new User();
$user->setSAMLAttributes($data);
//Test if the data was set correctly
$this->assertSame('John', $user->getFirstName());
$this->assertSame('Doe', $user->getLastName());
$this->assertSame('j.doe@invalid.invalid', $user->getEmail());
$this->assertSame('Test Department', $user->getDepartment());
//Test that it works for X500 attributes
$data = [
'urn:oid:2.5.4.42' => ['Jane'],
'urn:oid:2.5.4.4' => ['Dane'],
'urn:oid:1.2.840.113549.1.9.1' => ['mail@invalid.invalid'],
];
$user->setSAMLAttributes($data);
//Data must be changed
$this->assertSame('Jane', $user->getFirstName());
$this->assertSame('Dane', $user->getLastName());
$this->assertSame('mail@invalid.invalid', $user->getEmail());
//Department must not be changed
$this->assertSame('Test Department', $user->getDepartment());
}
}