Add comprehensive unit tests for Security, UserModel, and Validation utilities
- Implemented SecurityTest to validate token generation, CSRF protection, input sanitization, and rate limiting. - Created UserModelTest to ensure correct database operations for user management, including creation, updating, banning, and fetching active users. - Developed ValidationTest to verify input validation and sanitization for user IDs, nicknames, messages, and API requests. - Introduced Security and Validation utility classes with methods for secure token generation, input sanitization, and comprehensive validation rules.
This commit is contained in:
parent
5692874b10
commit
41cd7a4fd8
32 changed files with 5796 additions and 368 deletions
54
phpunit.xml
Normal file
54
phpunit.xml
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/10.0/phpunit.xsd"
|
||||
bootstrap="tests/bootstrap.php"
|
||||
colors="true"
|
||||
verbose="true"
|
||||
displayDetailsOnTestsThatTriggerDeprecations="true"
|
||||
displayDetailsOnTestsThatTriggerErrors="true"
|
||||
displayDetailsOnTestsThatTriggerNotices="true"
|
||||
displayDetailsOnTestsThatTriggerWarnings="true">
|
||||
<testsuites>
|
||||
<testsuite name="Unit Tests">
|
||||
<directory>tests/unit</directory>
|
||||
</testsuite>
|
||||
<testsuite name="Integration Tests">
|
||||
<directory>tests/integration</directory>
|
||||
</testsuite>
|
||||
<testsuite name="All Tests">
|
||||
<directory>tests</directory>
|
||||
</testsuite>
|
||||
</testsuites>
|
||||
|
||||
<coverage processUncoveredFilesFromWhitelist="true">
|
||||
<include>
|
||||
<directory suffix=".php">models</directory>
|
||||
<directory suffix=".php">controllers</directory>
|
||||
<directory suffix=".php">services</directory>
|
||||
<directory suffix=".php">utils</directory>
|
||||
<directory suffix=".php">includes</directory>
|
||||
</include>
|
||||
<exclude>
|
||||
<directory>tests</directory>
|
||||
<directory>vendor</directory>
|
||||
</exclude>
|
||||
<report>
|
||||
<html outputDirectory="tests/coverage"/>
|
||||
<text outputFile="php://stdout" showUncoveredFiles="true"/>
|
||||
</report>
|
||||
</coverage>
|
||||
|
||||
<logging>
|
||||
<junit outputFile="tests/results/junit.xml"/>
|
||||
<testdoxHtml outputFile="tests/results/testdox.html"/>
|
||||
</logging>
|
||||
|
||||
<php>
|
||||
<env name="APP_ENV" value="testing"/>
|
||||
<env name="DB_DATABASE" value=":memory:"/>
|
||||
<ini name="error_reporting" value="-1"/>
|
||||
<ini name="display_errors" value="1"/>
|
||||
<ini name="display_startup_errors" value="1"/>
|
||||
<ini name="memory_limit" value="512M"/>
|
||||
</php>
|
||||
</phpunit>
|
||||
Loading…
Add table
Add a link
Reference in a new issue