- Add TestKernel that removes the kernel.reset tag from nonceCache, rateLimitCache, sessionCache and sessionStorage pools so in-memory state survives across requests within a single test (mirroring APCu persistence in production) - Add config/packages/test/ with array cache adapters and test session config - Set fixed TOTP secret (JBSWY3DPEHPK3PXP) and high rate limits in phpunit.dist.xml and .env.test so functional tests can compute valid codes and are not rate-limited - Make Kernel non-final so TestKernel can extend it - Fix testFailedLoginWithSpentNonceIsRejected and testConsumedBackupCodeCannotBeReused: clear the CookieJar between sub-requests so a session cookie set by a prior successful login does not auto-authenticate the next request via AcceptListener before the nonce/backup-code path is exercised
50 lines
1.7 KiB
XML
50 lines
1.7 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
|
|
<!-- https://phpunit.readthedocs.io/en/latest/configuration.html -->
|
|
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
xsi:noNamespaceSchemaLocation="vendor/phpunit/phpunit/phpunit.xsd"
|
|
colors="true"
|
|
failOnDeprecation="true"
|
|
failOnNotice="true"
|
|
failOnWarning="true"
|
|
bootstrap="tests/bootstrap.php"
|
|
cacheDirectory=".phpunit.cache"
|
|
>
|
|
<php>
|
|
<ini name="display_errors" value="1" />
|
|
<ini name="error_reporting" value="-1" />
|
|
<server name="APP_ENV" value="test" force="true" />
|
|
<server name="SHELL_VERBOSITY" value="-1" />
|
|
<server name="KERNEL_CLASS" value="App\Tests\TestKernel" />
|
|
<!-- fixed TOTP secret so functional tests can compute valid codes -->
|
|
<server name="TOTP_URI" value="otpauth://totp/Test-TOTP?secret=JBSWY3DPEHPK3PXP" />
|
|
<server name="APP_SECRET" value="test_secret_key_change_me" />
|
|
<!-- high rate limits so functional tests don't get blocked -->
|
|
<server name="BURST_COUNT" value="10000" />
|
|
<server name="UPPER_COUNT" value="10000" />
|
|
</php>
|
|
|
|
<testsuites>
|
|
<testsuite name="Project Test Suite">
|
|
<directory>tests</directory>
|
|
</testsuite>
|
|
</testsuites>
|
|
|
|
<source ignoreSuppressionOfDeprecations="true"
|
|
ignoreIndirectDeprecations="true"
|
|
restrictNotices="true"
|
|
restrictWarnings="true"
|
|
>
|
|
<include>
|
|
<directory>src</directory>
|
|
</include>
|
|
|
|
<deprecationTrigger>
|
|
<function>trigger_deprecation</function>
|
|
</deprecationTrigger>
|
|
</source>
|
|
|
|
<extensions>
|
|
</extensions>
|
|
</phpunit>
|