This removes api authentification with token in favor of signature method. Refactorize code and clean up. It add more unit test plus code coverage in test/converage. - Added config.api.timestampTimeout - Added Helper::signRequest This calculates the request signature - Added more unit tests and extend code coverage. - Added rate limiter for web routes - Added RemoveSpaces Sanitizer on api requests - Added stress test suite - Changed AuthServiceProvider api-token to api-hmac - Changed CustomerSeeder to have at least of customer activated (for unit tests) - Changed used transation for saveing multiple models - Changed, in ServiceController generateApiToken to generateServicePassword - Changed, timestamp has to be send in request with a DateTime format, it also has to a UTC value - Composer added brianium/paratest - Composer update - Fixed case where removing single optin could be the wrong one (not for the good service) - Fixed customer delete - Fixed customer would not be resolved by brand. - Fixed Really check that request is json checking body content, preventing sending malformed requests - Remove ApiError::needAuth - Removed api_token - Removed ApiController::authenticate - Removed config.api.tokenTimeout - Removed Header check or usage because of HAProxy doing weird stuff - Removed lock files from gitignore - Removed memcached dependency - Removed unused questions resources api routes - Removed workspace file Migrations - Added unique index on services.bearer_token - Changed customer_id on customer_answer is nullable - Changed services.bearer_pwd length to 312 (the size of the token) - Dropped services.api_token and service.api_token_date
336 lines
16 KiB
HTML
336 lines
16 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<title>Code Coverage for /home/jeremy/projets/crm/app/Http/Middleware</title>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<link href="../../_css/bootstrap.min.css" rel="stylesheet" type="text/css">
|
|
<link href="../../_css/octicons.css" rel="stylesheet" type="text/css">
|
|
<link href="../../_css/style.css" rel="stylesheet" type="text/css">
|
|
<link href="../../_css/custom.css" rel="stylesheet" type="text/css">
|
|
</head>
|
|
<body>
|
|
<header>
|
|
<div class="container-fluid">
|
|
<div class="row">
|
|
<div class="col-md-12">
|
|
<nav aria-label="breadcrumb">
|
|
<ol class="breadcrumb">
|
|
<li class="breadcrumb-item"><a href="../../index.html">/home/jeremy/projets/crm/app</a></li>
|
|
<li class="breadcrumb-item"><a href="../index.html">Http</a></li>
|
|
<li class="breadcrumb-item active">Middleware</li>
|
|
<li class="breadcrumb-item">(<a href="dashboard.html">Dashboard</a>)</li>
|
|
|
|
</ol>
|
|
</nav>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</header>
|
|
<div class="container-fluid">
|
|
<div class="table-responsive">
|
|
<table class="table table-bordered">
|
|
<thead>
|
|
<tr>
|
|
<td> </td>
|
|
<td colspan="9"><div align="center"><strong>Code Coverage</strong></div></td>
|
|
</tr>
|
|
<tr>
|
|
<td> </td>
|
|
<td colspan="3"><div align="center"><strong>Lines</strong></div></td>
|
|
<td colspan="3"><div align="center"><strong>Functions and Methods</strong></div></td>
|
|
<td colspan="3"><div align="center"><strong>Classes and Traits</strong></div></td>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td class="success">Total</td>
|
|
<td class="success big"> <div class="progress">
|
|
<div class="progress-bar bg-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
|
|
<span class="sr-only">100.00% covered (success)</span>
|
|
</div>
|
|
</div>
|
|
</td>
|
|
<td class="success small"><div align="right">100.00%</div></td>
|
|
<td class="success small"><div align="right">37 / 37</div></td>
|
|
<td class="success big"> <div class="progress">
|
|
<div class="progress-bar bg-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
|
|
<span class="sr-only">100.00% covered (success)</span>
|
|
</div>
|
|
</div>
|
|
</td>
|
|
<td class="success small"><div align="right">100.00%</div></td>
|
|
<td class="success small"><div align="right">5 / 5</div></td>
|
|
<td class="success big"> <div class="progress">
|
|
<div class="progress-bar bg-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
|
|
<span class="sr-only">100.00% covered (success)</span>
|
|
</div>
|
|
</div>
|
|
</td>
|
|
<td class="success small"><div align="right">100.00%</div></td>
|
|
<td class="success small"><div align="right">5 / 5</div></td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td class="success"><img src="../../_icons/file-code.svg" class="octicon" /><a href="ApiCheckTimeStamps.php.html">ApiCheckTimeStamps.php</a></td>
|
|
<td class="success big"> <div class="progress">
|
|
<div class="progress-bar bg-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
|
|
<span class="sr-only">100.00% covered (success)</span>
|
|
</div>
|
|
</div>
|
|
</td>
|
|
<td class="success small"><div align="right">100.00%</div></td>
|
|
<td class="success small"><div align="right">7 / 7</div></td>
|
|
<td class="success big"> <div class="progress">
|
|
<div class="progress-bar bg-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
|
|
<span class="sr-only">100.00% covered (success)</span>
|
|
</div>
|
|
</div>
|
|
</td>
|
|
<td class="success small"><div align="right">100.00%</div></td>
|
|
<td class="success small"><div align="right">1 / 1</div></td>
|
|
<td class="success big"> <div class="progress">
|
|
<div class="progress-bar bg-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
|
|
<span class="sr-only">100.00% covered (success)</span>
|
|
</div>
|
|
</div>
|
|
</td>
|
|
<td class="success small"><div align="right">100.00%</div></td>
|
|
<td class="success small"><div align="right">1 / 1</div></td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td class="success"><img src="../../_icons/file-code.svg" class="octicon" /><a href="ApiResponse.php.html">ApiResponse.php</a></td>
|
|
<td class="success big"> <div class="progress">
|
|
<div class="progress-bar bg-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
|
|
<span class="sr-only">100.00% covered (success)</span>
|
|
</div>
|
|
</div>
|
|
</td>
|
|
<td class="success small"><div align="right">100.00%</div></td>
|
|
<td class="success small"><div align="right">14 / 14</div></td>
|
|
<td class="success big"> <div class="progress">
|
|
<div class="progress-bar bg-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
|
|
<span class="sr-only">100.00% covered (success)</span>
|
|
</div>
|
|
</div>
|
|
</td>
|
|
<td class="success small"><div align="right">100.00%</div></td>
|
|
<td class="success small"><div align="right">1 / 1</div></td>
|
|
<td class="success big"> <div class="progress">
|
|
<div class="progress-bar bg-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
|
|
<span class="sr-only">100.00% covered (success)</span>
|
|
</div>
|
|
</div>
|
|
</td>
|
|
<td class="success small"><div align="right">100.00%</div></td>
|
|
<td class="success small"><div align="right">1 / 1</div></td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td class="success"><img src="../../_icons/file-code.svg" class="octicon" /><a href="Authenticate.php.html">Authenticate.php</a></td>
|
|
<td class="success big"> <div class="progress">
|
|
<div class="progress-bar bg-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
|
|
<span class="sr-only">100.00% covered (success)</span>
|
|
</div>
|
|
</div>
|
|
</td>
|
|
<td class="success small"><div align="right">100.00%</div></td>
|
|
<td class="success small"><div align="right">4 / 4</div></td>
|
|
<td class="success big"> <div class="progress">
|
|
<div class="progress-bar bg-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
|
|
<span class="sr-only">100.00% covered (success)</span>
|
|
</div>
|
|
</div>
|
|
</td>
|
|
<td class="success small"><div align="right">100.00%</div></td>
|
|
<td class="success small"><div align="right">1 / 1</div></td>
|
|
<td class="success big"> <div class="progress">
|
|
<div class="progress-bar bg-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
|
|
<span class="sr-only">100.00% covered (success)</span>
|
|
</div>
|
|
</div>
|
|
</td>
|
|
<td class="success small"><div align="right">100.00%</div></td>
|
|
<td class="success small"><div align="right">1 / 1</div></td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td class=""><img src="../../_icons/file-code.svg" class="octicon" /><a href="CheckBrand.php.html">CheckBrand.php</a></td>
|
|
<td class=" big"></td>
|
|
<td class=" small"><div align="right">n/a</div></td>
|
|
<td class=" small"><div align="right">0 / 0</div></td>
|
|
<td class=" big"></td>
|
|
<td class=" small"><div align="right">n/a</div></td>
|
|
<td class=" small"><div align="right">0 / 0</div></td>
|
|
<td class=" big"></td>
|
|
<td class=" small"><div align="right">n/a</div></td>
|
|
<td class=" small"><div align="right">0 / 0</div></td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td class=""><img src="../../_icons/file-code.svg" class="octicon" /><a href="EncryptCookies.php.html">EncryptCookies.php</a></td>
|
|
<td class=" big"></td>
|
|
<td class=" small"><div align="right">n/a</div></td>
|
|
<td class=" small"><div align="right">0 / 0</div></td>
|
|
<td class=" big"></td>
|
|
<td class=" small"><div align="right">n/a</div></td>
|
|
<td class=" small"><div align="right">0 / 0</div></td>
|
|
<td class=" big"></td>
|
|
<td class=" small"><div align="right">n/a</div></td>
|
|
<td class=" small"><div align="right">0 / 0</div></td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td class="success"><img src="../../_icons/file-code.svg" class="octicon" /><a href="JsonOnly.php.html">JsonOnly.php</a></td>
|
|
<td class="success big"> <div class="progress">
|
|
<div class="progress-bar bg-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
|
|
<span class="sr-only">100.00% covered (success)</span>
|
|
</div>
|
|
</div>
|
|
</td>
|
|
<td class="success small"><div align="right">100.00%</div></td>
|
|
<td class="success small"><div align="right">6 / 6</div></td>
|
|
<td class="success big"> <div class="progress">
|
|
<div class="progress-bar bg-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
|
|
<span class="sr-only">100.00% covered (success)</span>
|
|
</div>
|
|
</div>
|
|
</td>
|
|
<td class="success small"><div align="right">100.00%</div></td>
|
|
<td class="success small"><div align="right">1 / 1</div></td>
|
|
<td class="success big"> <div class="progress">
|
|
<div class="progress-bar bg-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
|
|
<span class="sr-only">100.00% covered (success)</span>
|
|
</div>
|
|
</div>
|
|
</td>
|
|
<td class="success small"><div align="right">100.00%</div></td>
|
|
<td class="success small"><div align="right">1 / 1</div></td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td class=""><img src="../../_icons/file-code.svg" class="octicon" /><a href="PreventRequestsDuringMaintenance.php.html">PreventRequestsDuringMaintenance.php</a></td>
|
|
<td class=" big"></td>
|
|
<td class=" small"><div align="right">n/a</div></td>
|
|
<td class=" small"><div align="right">0 / 0</div></td>
|
|
<td class=" big"></td>
|
|
<td class=" small"><div align="right">n/a</div></td>
|
|
<td class=" small"><div align="right">0 / 0</div></td>
|
|
<td class=" big"></td>
|
|
<td class=" small"><div align="right">n/a</div></td>
|
|
<td class=" small"><div align="right">0 / 0</div></td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td class=""><img src="../../_icons/file-code.svg" class="octicon" /><a href="RedirectIfAuthenticated.php.html">RedirectIfAuthenticated.php</a></td>
|
|
<td class=" big"></td>
|
|
<td class=" small"><div align="right">n/a</div></td>
|
|
<td class=" small"><div align="right">0 / 0</div></td>
|
|
<td class=" big"></td>
|
|
<td class=" small"><div align="right">n/a</div></td>
|
|
<td class=" small"><div align="right">0 / 0</div></td>
|
|
<td class=" big"></td>
|
|
<td class=" small"><div align="right">n/a</div></td>
|
|
<td class=" small"><div align="right">0 / 0</div></td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td class=""><img src="../../_icons/file-code.svg" class="octicon" /><a href="TrimStrings.php.html">TrimStrings.php</a></td>
|
|
<td class=" big"></td>
|
|
<td class=" small"><div align="right">n/a</div></td>
|
|
<td class=" small"><div align="right">0 / 0</div></td>
|
|
<td class=" big"></td>
|
|
<td class=" small"><div align="right">n/a</div></td>
|
|
<td class=" small"><div align="right">0 / 0</div></td>
|
|
<td class=" big"></td>
|
|
<td class=" small"><div align="right">n/a</div></td>
|
|
<td class=" small"><div align="right">0 / 0</div></td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td class=""><img src="../../_icons/file-code.svg" class="octicon" /><a href="TrustHosts.php.html">TrustHosts.php</a></td>
|
|
<td class=" big"></td>
|
|
<td class=" small"><div align="right">n/a</div></td>
|
|
<td class=" small"><div align="right">0 / 0</div></td>
|
|
<td class=" big"></td>
|
|
<td class=" small"><div align="right">n/a</div></td>
|
|
<td class=" small"><div align="right">0 / 0</div></td>
|
|
<td class=" big"></td>
|
|
<td class=" small"><div align="right">n/a</div></td>
|
|
<td class=" small"><div align="right">0 / 0</div></td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td class=""><img src="../../_icons/file-code.svg" class="octicon" /><a href="TrustProxies.php.html">TrustProxies.php</a></td>
|
|
<td class=" big"></td>
|
|
<td class=" small"><div align="right">n/a</div></td>
|
|
<td class=" small"><div align="right">0 / 0</div></td>
|
|
<td class=" big"></td>
|
|
<td class=" small"><div align="right">n/a</div></td>
|
|
<td class=" small"><div align="right">0 / 0</div></td>
|
|
<td class=" big"></td>
|
|
<td class=" small"><div align="right">n/a</div></td>
|
|
<td class=" small"><div align="right">0 / 0</div></td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td class=""><img src="../../_icons/file-code.svg" class="octicon" /><a href="VerifyCsrfToken.php.html">VerifyCsrfToken.php</a></td>
|
|
<td class=" big"></td>
|
|
<td class=" small"><div align="right">n/a</div></td>
|
|
<td class=" small"><div align="right">0 / 0</div></td>
|
|
<td class=" big"></td>
|
|
<td class=" small"><div align="right">n/a</div></td>
|
|
<td class=" small"><div align="right">0 / 0</div></td>
|
|
<td class=" big"></td>
|
|
<td class=" small"><div align="right">n/a</div></td>
|
|
<td class=" small"><div align="right">0 / 0</div></td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td class="success"><img src="../../_icons/file-code.svg" class="octicon" /><a href="XssSanitizer.php.html">XssSanitizer.php</a></td>
|
|
<td class="success big"> <div class="progress">
|
|
<div class="progress-bar bg-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
|
|
<span class="sr-only">100.00% covered (success)</span>
|
|
</div>
|
|
</div>
|
|
</td>
|
|
<td class="success small"><div align="right">100.00%</div></td>
|
|
<td class="success small"><div align="right">6 / 6</div></td>
|
|
<td class="success big"> <div class="progress">
|
|
<div class="progress-bar bg-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
|
|
<span class="sr-only">100.00% covered (success)</span>
|
|
</div>
|
|
</div>
|
|
</td>
|
|
<td class="success small"><div align="right">100.00%</div></td>
|
|
<td class="success small"><div align="right">1 / 1</div></td>
|
|
<td class="success big"> <div class="progress">
|
|
<div class="progress-bar bg-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
|
|
<span class="sr-only">100.00% covered (success)</span>
|
|
</div>
|
|
</div>
|
|
</td>
|
|
<td class="success small"><div align="right">100.00%</div></td>
|
|
<td class="success small"><div align="right">1 / 1</div></td>
|
|
</tr>
|
|
|
|
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<footer>
|
|
<hr/>
|
|
<h4>Legend</h4>
|
|
<p>
|
|
<span class="danger"><strong>Low</strong>: 0% to 50%</span>
|
|
<span class="warning"><strong>Medium</strong>: 50% to 90%</span>
|
|
<span class="success"><strong>High</strong>: 90% to 100%</span>
|
|
</p>
|
|
<p>
|
|
<small>Generated by <a href="https://github.com/sebastianbergmann/php-code-coverage" target="_top">php-code-coverage 9.2.10</a> using <a href="https://secure.php.net/" target="_top">PHP 7.3.31-2+ubuntu20.04.1+deb.sury.org+1</a> and <a href="https://phpunit.de/">PHPUnit 9.5.11</a> at Thu Jan 6 12:10:34 CET 2022.</small>
|
|
</p>
|
|
</footer>
|
|
</div>
|
|
</body>
|
|
</html>
|