. */ namespace App\Tests\Security; use App\Entity\UserSystem\User; use App\Security\SamlUserFactory; use PHPUnit\Framework\TestCase; use Symfony\Bundle\FrameworkBundle\Test\WebTestCase; class SamlUserFactoryTest extends WebTestCase { /** @var SamlUserFactory */ protected $service; protected function setUp(): void { self::bootKernel(); $this->service = self::getContainer()->get(SamlUserFactory::class); } public function testCreateUser() { $user = $this->service->createUser('sso_user', [ 'email' => ['j.doe@invalid.invalid'], 'urn:oid:2.5.4.42' => ['John'], 'urn:oid:2.5.4.4' => ['Doe'], 'department' => ['IT'] ]); $this->assertInstanceOf(User::class, $user); $this->assertEquals('sso_user', $user->getUsername()); //User must not change his password $this->assertFalse($user->isNeedPwChange()); //And must not be disabled $this->assertFalse($user->isDisabled()); //Password should not be set $this->assertSame('!!SAML!!', $user->getPassword()); //Info should be set $this->assertEquals('John', $user->getFirstName()); $this->assertEquals('Doe', $user->getLastName()); $this->assertEquals('IT', $user->getDepartment()); $this->assertEquals('j.doe@invalid.invalid', $user->getEmail()); } }