|
13 | 13 | use Fschmtt\Keycloak\Representation\Role;
|
14 | 14 | use Fschmtt\Keycloak\Representation\User;
|
15 | 15 | use Fschmtt\Keycloak\Test\Integration\IntegrationTestBehaviour;
|
| 16 | +use GuzzleHttp\Exception\ServerException; |
16 | 17 | use PHPUnit\Framework\TestCase;
|
17 | 18 | use Ramsey\Uuid\Uuid;
|
18 | 19 |
|
@@ -189,6 +190,33 @@ public function testGetUserCredentials(): void
|
189 | 190 | static::assertNull($user);
|
190 | 191 | }
|
191 | 192 |
|
| 193 | + public function testExecuteActionsEmail(): void |
| 194 | + { |
| 195 | + $users = $this->getKeycloak()->users(); |
| 196 | + $username = Uuid::uuid4()->toString(); |
| 197 | + |
| 198 | + $users->create('master', new User( |
| 199 | + |
| 200 | + enabled: true, |
| 201 | + username: $username, |
| 202 | + )); |
| 203 | + |
| 204 | + $user = $this->searchUserByUsername($username); |
| 205 | + static::assertInstanceOf(User::class, $user); |
| 206 | + |
| 207 | + try { |
| 208 | + $users->executeActionsEmail('master', $user->getId(), ['UPDATE_PASSWORD']); |
| 209 | + } catch (ServerException $e) { |
| 210 | + static::assertSame(500, $e->getResponse()->getStatusCode()); |
| 211 | + static::assertStringContainsString('Failed to send execute actions email', $e->getResponse()->getBody()->getContents()); |
| 212 | + } |
| 213 | + |
| 214 | + $users->delete('master', $user->getId()); |
| 215 | + |
| 216 | + $user = $this->searchUserByUsername($username); |
| 217 | + static::assertNull($user); |
| 218 | + } |
| 219 | + |
192 | 220 | private function searchUserByUsername(string $username, string $realm = 'master'): ?User
|
193 | 221 | {
|
194 | 222 | /** @var User|null $user */
|
|
0 commit comments