Upgrade tests to PhpUnit 10 (#5252)
This commit is contained in:
@@ -9,12 +9,12 @@
|
||||
|
||||
namespace App\Tests\Controller\Security;
|
||||
|
||||
use App\Tests\Controller\ControllerBaseTest;
|
||||
use App\Tests\Controller\AbstractControllerBaseTestCase;
|
||||
|
||||
/**
|
||||
* @group integration
|
||||
*/
|
||||
class PasswordResetControllerTest extends ControllerBaseTest
|
||||
class PasswordResetControllerTest extends AbstractControllerBaseTestCase
|
||||
{
|
||||
private function testResetActionWithDeactivatedFeature(string $route, string $method = 'GET'): void
|
||||
{
|
||||
@@ -47,16 +47,16 @@ class PasswordResetControllerTest extends ControllerBaseTest
|
||||
$this->request($client, '/resetting/request');
|
||||
|
||||
$response = $client->getResponse();
|
||||
$this->assertTrue($response->isSuccessful());
|
||||
self::assertTrue($response->isSuccessful());
|
||||
|
||||
$content = $response->getContent();
|
||||
$this->assertNotFalse($content);
|
||||
$this->assertStringContainsString('<title>Kimai – Time Tracking</title>', $content);
|
||||
$this->assertStringContainsString('Reset your password', $content);
|
||||
$this->assertStringContainsString('<form class="card-body security-password-reset" action="/en/resetting/send-email" method="post" autocomplete="off">', $content);
|
||||
$this->assertStringContainsString('<input autocomplete="username" type="text"', $content);
|
||||
$this->assertStringContainsString('id="username" name="username" required="required"', $content);
|
||||
$this->assertStringContainsString('Reset your password', $content);
|
||||
self::assertNotFalse($content);
|
||||
self::assertStringContainsString('<title>Kimai – Time Tracking</title>', $content);
|
||||
self::assertStringContainsString('Reset your password', $content);
|
||||
self::assertStringContainsString('<form class="card-body security-password-reset" action="/en/resetting/send-email" method="post" autocomplete="off">', $content);
|
||||
self::assertStringContainsString('<input autocomplete="username" type="text"', $content);
|
||||
self::assertStringContainsString('id="username" name="username" required="required"', $content);
|
||||
self::assertStringContainsString('Reset your password', $content);
|
||||
|
||||
$form = $client->getCrawler()->filter('form')->form();
|
||||
$client->submit($form, [
|
||||
@@ -65,12 +65,12 @@ class PasswordResetControllerTest extends ControllerBaseTest
|
||||
|
||||
$this->assertIsRedirect($client, $this->createUrl('/resetting/check-email'));
|
||||
$client->followRedirect();
|
||||
$this->assertTrue($client->getResponse()->isSuccessful());
|
||||
self::assertTrue($client->getResponse()->isSuccessful());
|
||||
|
||||
// TODO test the actual email and provided login link
|
||||
|
||||
$user = $this->loadUserFromDatabase('john_user');
|
||||
$this->assertTrue($user->requiresPasswordReset());
|
||||
self::assertTrue($user->requiresPasswordReset());
|
||||
}
|
||||
|
||||
public function testRequestAsLoggedInUserRedirects(): void
|
||||
@@ -93,11 +93,11 @@ class PasswordResetControllerTest extends ControllerBaseTest
|
||||
$this->request($client, '/resetting/send-email', 'POST');
|
||||
$this->assertIsRedirect($client, $this->createUrl('/resetting/check-email'));
|
||||
$client->followRedirect();
|
||||
$this->assertTrue($client->getResponse()->isSuccessful());
|
||||
self::assertTrue($client->getResponse()->isSuccessful());
|
||||
$content = $client->getResponse()->getContent();
|
||||
$this->assertNotFalse($content);
|
||||
$this->assertStringContainsString('An email has been sent with a link to reset your password.', $content);
|
||||
$this->assertStringContainsString('Note: You can only request a new password once every 1:00 hours.', $content);
|
||||
self::assertNotFalse($content);
|
||||
self::assertStringContainsString('An email has been sent with a link to reset your password.', $content);
|
||||
self::assertStringContainsString('Note: You can only request a new password once every 1:00 hours.', $content);
|
||||
}
|
||||
|
||||
public function testResetWithEmptyUsername(): void
|
||||
@@ -106,11 +106,11 @@ class PasswordResetControllerTest extends ControllerBaseTest
|
||||
$this->request($client, '/resetting/send-email', 'POST', ['username' => '']);
|
||||
$this->assertIsRedirect($client, $this->createUrl('/resetting/check-email'));
|
||||
$client->followRedirect();
|
||||
$this->assertTrue($client->getResponse()->isSuccessful());
|
||||
self::assertTrue($client->getResponse()->isSuccessful());
|
||||
$content = $client->getResponse()->getContent();
|
||||
$this->assertNotFalse($content);
|
||||
$this->assertStringContainsString('An email has been sent with a link to reset your password.', $content);
|
||||
$this->assertStringContainsString('Note: You can only request a new password once every 1:00 hours.', $content);
|
||||
self::assertNotFalse($content);
|
||||
self::assertStringContainsString('An email has been sent with a link to reset your password.', $content);
|
||||
self::assertStringContainsString('Note: You can only request a new password once every 1:00 hours.', $content);
|
||||
}
|
||||
|
||||
public function testResetWithUnknownUsername(): void
|
||||
@@ -119,11 +119,11 @@ class PasswordResetControllerTest extends ControllerBaseTest
|
||||
$this->request($client, '/resetting/send-email', 'POST', ['username' => 'foobar']);
|
||||
$this->assertIsRedirect($client, $this->createUrl('/resetting/check-email'));
|
||||
$client->followRedirect();
|
||||
$this->assertTrue($client->getResponse()->isSuccessful());
|
||||
self::assertTrue($client->getResponse()->isSuccessful());
|
||||
$content = $client->getResponse()->getContent();
|
||||
$this->assertNotFalse($content);
|
||||
$this->assertStringContainsString('An email has been sent with a link to reset your password.', $content);
|
||||
$this->assertStringContainsString('Note: You can only request a new password once every 1:00 hours.', $content);
|
||||
self::assertNotFalse($content);
|
||||
self::assertStringContainsString('An email has been sent with a link to reset your password.', $content);
|
||||
self::assertStringContainsString('Note: You can only request a new password once every 1:00 hours.', $content);
|
||||
}
|
||||
|
||||
public function testResetWithKnownUsername(): void
|
||||
@@ -131,10 +131,10 @@ class PasswordResetControllerTest extends ControllerBaseTest
|
||||
$client = self::createClient();
|
||||
|
||||
$user = $this->loadUserFromDatabase('john_user');
|
||||
$this->assertFalse($user->requiresPasswordReset());
|
||||
self::assertFalse($user->requiresPasswordReset());
|
||||
|
||||
$this->request($client, '/resetting/request');
|
||||
$this->assertTrue($client->getResponse()->isSuccessful());
|
||||
self::assertTrue($client->getResponse()->isSuccessful());
|
||||
$form = $client->getCrawler()->filter('form')->form();
|
||||
$client->submit($form, [
|
||||
'username' => 'john_user',
|
||||
@@ -142,15 +142,15 @@ class PasswordResetControllerTest extends ControllerBaseTest
|
||||
|
||||
$this->assertIsRedirect($client, $this->createUrl('/resetting/check-email'));
|
||||
$client->followRedirect();
|
||||
$this->assertTrue($client->getResponse()->isSuccessful());
|
||||
self::assertTrue($client->getResponse()->isSuccessful());
|
||||
$content = $client->getResponse()->getContent();
|
||||
$this->assertNotFalse($content);
|
||||
$this->assertStringContainsString('An email has been sent with a link to reset your password.', $content);
|
||||
$this->assertStringContainsString('Note: You can only request a new password once every 1:00 hours.', $content);
|
||||
self::assertNotFalse($content);
|
||||
self::assertStringContainsString('An email has been sent with a link to reset your password.', $content);
|
||||
self::assertStringContainsString('Note: You can only request a new password once every 1:00 hours.', $content);
|
||||
|
||||
// TODO test the actual email and provided login link
|
||||
|
||||
$user = $this->loadUserFromDatabase('john_user');
|
||||
$this->assertTrue($user->requiresPasswordReset());
|
||||
self::assertTrue($user->requiresPasswordReset());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,7 +15,7 @@ use App\Controller\Security\SecurityController;
|
||||
use App\DataFixtures\UserFixtures;
|
||||
use App\Entity\User;
|
||||
use App\Tests\Configuration\TestConfigLoader;
|
||||
use App\Tests\Controller\ControllerBaseTest;
|
||||
use App\Tests\Controller\AbstractControllerBaseTestCase;
|
||||
use Symfony\Component\Security\Csrf\CsrfTokenManagerInterface;
|
||||
|
||||
/**
|
||||
@@ -24,7 +24,7 @@ use Symfony\Component\Security\Csrf\CsrfTokenManagerInterface;
|
||||
*
|
||||
* @group integration
|
||||
*/
|
||||
class SecurityControllerTest extends ControllerBaseTest
|
||||
class SecurityControllerTest extends AbstractControllerBaseTestCase
|
||||
{
|
||||
public function testRootUrlIsRedirectedToLogin(): void
|
||||
{
|
||||
@@ -42,17 +42,17 @@ class SecurityControllerTest extends ControllerBaseTest
|
||||
$this->request($client, '/login');
|
||||
|
||||
$response = $client->getResponse();
|
||||
$this->assertTrue($client->getResponse()->isSuccessful());
|
||||
self::assertTrue($client->getResponse()->isSuccessful());
|
||||
|
||||
$content = $response->getContent();
|
||||
$this->assertStringContainsString('<title>Kimai – Time Tracking</title>', $content);
|
||||
$this->assertStringContainsString('<form action="/en/login_check" method="post"', $content);
|
||||
$this->assertStringContainsString('<input autocomplete="username" type="text" id="username" name="_username"', $content);
|
||||
$this->assertStringContainsString('<input autocomplete="new-password" id="password" name="_password" type="password"', $content);
|
||||
$this->assertStringContainsString('">Log in</button>', $content);
|
||||
$this->assertStringContainsString('<input type="hidden" name="_csrf_token" value="', $content);
|
||||
$this->assertStringNotContainsString('<a href="/en/register/"', $content);
|
||||
$this->assertStringNotContainsString('Register a new account', $content);
|
||||
self::assertStringContainsString('<title>Kimai – Time Tracking</title>', $content);
|
||||
self::assertStringContainsString('<form action="/en/login_check" method="post"', $content);
|
||||
self::assertStringContainsString('<input autocomplete="username" type="text" id="username" name="_username"', $content);
|
||||
self::assertStringContainsString('<input autocomplete="new-password" id="password" name="_password" type="password"', $content);
|
||||
self::assertStringContainsString('">Log in</button>', $content);
|
||||
self::assertStringContainsString('<input type="hidden" name="_csrf_token" value="', $content);
|
||||
self::assertStringNotContainsString('<a href="/en/register/"', $content);
|
||||
self::assertStringNotContainsString('Register a new account', $content);
|
||||
}
|
||||
|
||||
public function testLoginPositive(): void
|
||||
@@ -60,7 +60,7 @@ class SecurityControllerTest extends ControllerBaseTest
|
||||
$client = self::createClient();
|
||||
$this->request($client, '/login');
|
||||
|
||||
$this->assertTrue($client->getResponse()->isSuccessful());
|
||||
self::assertTrue($client->getResponse()->isSuccessful());
|
||||
|
||||
$form = $client->getCrawler()->filter('body form')->form();
|
||||
$client->submit($form, [
|
||||
@@ -77,7 +77,7 @@ class SecurityControllerTest extends ControllerBaseTest
|
||||
$this->assertIsRedirect($client, '/timesheet/'); // redirect to configured start page
|
||||
$client->followRedirect();
|
||||
|
||||
$this->assertTrue($client->getResponse()->isSuccessful());
|
||||
self::assertTrue($client->getResponse()->isSuccessful());
|
||||
}
|
||||
|
||||
public function testLoginAlreadyLoggedIn(): void
|
||||
@@ -92,7 +92,7 @@ class SecurityControllerTest extends ControllerBaseTest
|
||||
$this->assertIsRedirect($client, '/timesheet/'); // redirect to configured start page
|
||||
$client->followRedirect();
|
||||
|
||||
$this->assertTrue($client->getResponse()->isSuccessful());
|
||||
self::assertTrue($client->getResponse()->isSuccessful());
|
||||
}
|
||||
|
||||
public function testLoginNegative(): void
|
||||
@@ -100,7 +100,7 @@ class SecurityControllerTest extends ControllerBaseTest
|
||||
$client = self::createClient();
|
||||
$this->request($client, '/login');
|
||||
|
||||
$this->assertTrue($client->getResponse()->isSuccessful());
|
||||
self::assertTrue($client->getResponse()->isSuccessful());
|
||||
|
||||
$form = $client->getCrawler()->filter('body form')->form();
|
||||
$client->submit($form, [
|
||||
@@ -111,7 +111,7 @@ class SecurityControllerTest extends ControllerBaseTest
|
||||
$this->assertIsRedirect($client); // redirect to root URL
|
||||
$client->followRedirect();
|
||||
|
||||
$this->assertTrue($client->getResponse()->isSuccessful());
|
||||
self::assertTrue($client->getResponse()->isSuccessful());
|
||||
self::assertStringContainsString('<div class="alert alert-important alert-danger">Invalid credentials.</div>', $client->getResponse()->getContent());
|
||||
}
|
||||
|
||||
|
||||
@@ -10,13 +10,13 @@
|
||||
namespace App\Tests\Controller\Security;
|
||||
|
||||
use App\Entity\User;
|
||||
use App\Tests\Controller\ControllerBaseTest;
|
||||
use App\Tests\Controller\AbstractControllerBaseTestCase;
|
||||
use Symfony\Bundle\FrameworkBundle\KernelBrowser;
|
||||
|
||||
/**
|
||||
* @group integration
|
||||
*/
|
||||
class SelfRegistrationControllerTest extends ControllerBaseTest
|
||||
class SelfRegistrationControllerTest extends AbstractControllerBaseTestCase
|
||||
{
|
||||
private function assertRegisterActionWithDeactivatedFeature(string $route): void
|
||||
{
|
||||
@@ -53,22 +53,22 @@ class SelfRegistrationControllerTest extends ControllerBaseTest
|
||||
$this->request($client, '/register/');
|
||||
|
||||
$response = $client->getResponse();
|
||||
$this->assertTrue($response->isSuccessful());
|
||||
self::assertTrue($response->isSuccessful());
|
||||
|
||||
$content = $response->getContent();
|
||||
$this->assertStringContainsString('<title>Kimai – Time Tracking</title>', $content);
|
||||
$this->assertStringContainsString('Register a new account', $content);
|
||||
$this->assertStringContainsString('<form name="user_registration_form" method="post" action="/en/register/"', $content);
|
||||
$this->assertStringContainsString('<input type="email"', $content);
|
||||
$this->assertStringContainsString('id="user_registration_form_email" name="user_registration_form[email]" required="required"', $content);
|
||||
$this->assertStringContainsString('<input type="text"', $content);
|
||||
$this->assertStringContainsString('id="user_registration_form_username" name="user_registration_form[username]" required="required" maxlength="64" pattern="', $content);
|
||||
$this->assertStringContainsString('<input type="password"', $content);
|
||||
$this->assertStringContainsString('id="user_registration_form_plainPassword_first" name="user_registration_form[plainPassword][first]" required="required"', $content);
|
||||
$this->assertStringContainsString('id="user_registration_form_plainPassword_second" name="user_registration_form[plainPassword][second]" required="required"', $content);
|
||||
$this->assertStringContainsString('<input type="hidden"', $content);
|
||||
$this->assertStringContainsString('id="user_registration_form__token" name="user_registration_form[_token]"', $content);
|
||||
$this->assertStringContainsString('>Register</button>', $content);
|
||||
self::assertStringContainsString('<title>Kimai – Time Tracking</title>', $content);
|
||||
self::assertStringContainsString('Register a new account', $content);
|
||||
self::assertStringContainsString('<form name="user_registration_form" method="post" action="/en/register/"', $content);
|
||||
self::assertStringContainsString('<input type="email"', $content);
|
||||
self::assertStringContainsString('id="user_registration_form_email" name="user_registration_form[email]" required="required"', $content);
|
||||
self::assertStringContainsString('<input type="text"', $content);
|
||||
self::assertStringContainsString('id="user_registration_form_username" name="user_registration_form[username]" required="required" maxlength="64" pattern="', $content);
|
||||
self::assertStringContainsString('<input type="password"', $content);
|
||||
self::assertStringContainsString('id="user_registration_form_plainPassword_first" name="user_registration_form[plainPassword][first]" required="required"', $content);
|
||||
self::assertStringContainsString('id="user_registration_form_plainPassword_second" name="user_registration_form[plainPassword][second]" required="required"', $content);
|
||||
self::assertStringContainsString('<input type="hidden"', $content);
|
||||
self::assertStringContainsString('id="user_registration_form__token" name="user_registration_form[_token]"', $content);
|
||||
self::assertStringContainsString('>Register</button>', $content);
|
||||
}
|
||||
|
||||
private function createUser(KernelBrowser $client, string $username, string $email, string $password): User
|
||||
@@ -77,7 +77,7 @@ class SelfRegistrationControllerTest extends ControllerBaseTest
|
||||
$this->request($client, '/register/');
|
||||
|
||||
$response = $client->getResponse();
|
||||
$this->assertTrue($response->isSuccessful());
|
||||
self::assertTrue($response->isSuccessful());
|
||||
|
||||
$form = $client->getCrawler()->filter('form[name=user_registration_form]')->form();
|
||||
$client->submit($form, [
|
||||
@@ -93,7 +93,7 @@ class SelfRegistrationControllerTest extends ControllerBaseTest
|
||||
|
||||
$this->assertIsRedirect($client, $this->createUrl('/register/check-email'));
|
||||
$client->followRedirect();
|
||||
$this->assertTrue($client->getResponse()->isSuccessful());
|
||||
self::assertTrue($client->getResponse()->isSuccessful());
|
||||
|
||||
return $this->loadUserFromDatabase($username);
|
||||
}
|
||||
@@ -106,7 +106,7 @@ class SelfRegistrationControllerTest extends ControllerBaseTest
|
||||
|
||||
$this->assertIsRedirect($client, $this->createUrl('/register/'));
|
||||
$client->followRedirect();
|
||||
$this->assertTrue($client->getResponse()->isSuccessful());
|
||||
self::assertTrue($client->getResponse()->isSuccessful());
|
||||
}
|
||||
|
||||
public function testRegisterAccount(): void
|
||||
@@ -115,9 +115,9 @@ class SelfRegistrationControllerTest extends ControllerBaseTest
|
||||
$this->createUser($client, 'example', 'register@example.com', 'test1234');
|
||||
|
||||
$content = $client->getResponse()->getContent();
|
||||
$this->assertStringContainsString('<title>Kimai – Time Tracking</title>', $content);
|
||||
$this->assertStringContainsString('An e-mail has been sent to register@example.com. It contains a link you must click to activate your account.', $content);
|
||||
$this->assertStringContainsString('<a href="/en/login">', $content);
|
||||
self::assertStringContainsString('<title>Kimai – Time Tracking</title>', $content);
|
||||
self::assertStringContainsString('An e-mail has been sent to register@example.com. It contains a link you must click to activate your account.', $content);
|
||||
self::assertStringContainsString('<a href="/en/login">', $content);
|
||||
}
|
||||
|
||||
public function testConfirmWithInvalidToken(): void
|
||||
@@ -128,7 +128,7 @@ class SelfRegistrationControllerTest extends ControllerBaseTest
|
||||
|
||||
$this->assertIsRedirect($client, $this->createUrl('/login'));
|
||||
$client->followRedirect();
|
||||
$this->assertTrue($client->getResponse()->isSuccessful());
|
||||
self::assertTrue($client->getResponse()->isSuccessful());
|
||||
}
|
||||
|
||||
public function testConfirmAccount(): void
|
||||
@@ -143,9 +143,9 @@ class SelfRegistrationControllerTest extends ControllerBaseTest
|
||||
$this->request($client, '/register/confirm/' . $token);
|
||||
$this->assertIsRedirect($client, $this->createUrl('/register/confirmed'));
|
||||
$client->followRedirect();
|
||||
$this->assertTrue($client->getResponse()->isSuccessful());
|
||||
self::assertTrue($client->getResponse()->isSuccessful());
|
||||
$content = $client->getResponse()->getContent();
|
||||
$this->assertStringContainsString('Congratulations example, your account is now activated.', $content);
|
||||
self::assertStringContainsString('Congratulations example, your account is now activated.', $content);
|
||||
|
||||
$user = $this->loadUserFromDatabase('example');
|
||||
self::assertTrue($user->isEnabled());
|
||||
@@ -160,7 +160,7 @@ class SelfRegistrationControllerTest extends ControllerBaseTest
|
||||
// AccessDeniedException redirects to login
|
||||
$this->assertIsRedirect($client, $this->createUrl('/login'));
|
||||
$client->followRedirect();
|
||||
$this->assertTrue($client->getResponse()->isSuccessful());
|
||||
self::assertTrue($client->getResponse()->isSuccessful());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -174,7 +174,7 @@ class SelfRegistrationControllerTest extends ControllerBaseTest
|
||||
$this->assertHasValidationError($client, '/register/', 'form[name=user_registration_form]', $formData, $validationFields);
|
||||
}
|
||||
|
||||
public function getValidationTestData(): array // @phpstan-ignore missingType.iterableValue
|
||||
public static function getValidationTestData(): array // @phpstan-ignore missingType.iterableValue
|
||||
{
|
||||
return [
|
||||
[
|
||||
|
||||
Reference in New Issue
Block a user