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
310 lines
15 KiB
HTML
310 lines
15 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<title>Code Coverage for /home/jeremy/projets/crm/app</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 active">/home/jeremy/projets/crm/app</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="93.58" aria-valuemin="0" aria-valuemax="100" style="width: 93.58%">
|
|
<span class="sr-only">93.58% covered (success)</span>
|
|
</div>
|
|
</div>
|
|
</td>
|
|
<td class="success small"><div align="right">93.58%</div></td>
|
|
<td class="success small"><div align="right">816 / 872</div></td>
|
|
<td class="warning big"> <div class="progress">
|
|
<div class="progress-bar bg-warning" role="progressbar" aria-valuenow="82.22" aria-valuemin="0" aria-valuemax="100" style="width: 82.22%">
|
|
<span class="sr-only">82.22% covered (warning)</span>
|
|
</div>
|
|
</div>
|
|
</td>
|
|
<td class="warning small"><div align="right">82.22%</div></td>
|
|
<td class="warning small"><div align="right">111 / 135</div></td>
|
|
<td class="warning big"> <div class="progress">
|
|
<div class="progress-bar bg-warning" role="progressbar" aria-valuenow="78.43" aria-valuemin="0" aria-valuemax="100" style="width: 78.43%">
|
|
<span class="sr-only">78.43% covered (warning)</span>
|
|
</div>
|
|
</div>
|
|
</td>
|
|
<td class="warning small"><div align="right">78.43%</div></td>
|
|
<td class="warning small"><div align="right">40 / 51</div></td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td class=""><img src="_icons/file-directory.svg" class="octicon" /><a href="Console/index.html">Console</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-directory.svg" class="octicon" /><a href="Enums/index.html">Enums</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">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">5 / 5</div></td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td class="warning"><img src="_icons/file-directory.svg" class="octicon" /><a href="Exceptions/index.html">Exceptions</a></td>
|
|
<td class="warning big"> <div class="progress">
|
|
<div class="progress-bar bg-warning" role="progressbar" aria-valuenow="88.00" aria-valuemin="0" aria-valuemax="100" style="width: 88.00%">
|
|
<span class="sr-only">88.00% covered (warning)</span>
|
|
</div>
|
|
</div>
|
|
</td>
|
|
<td class="warning small"><div align="right">88.00%</div></td>
|
|
<td class="warning small"><div align="right">44 / 50</div></td>
|
|
<td class="warning big"> <div class="progress">
|
|
<div class="progress-bar bg-warning" role="progressbar" aria-valuenow="62.50" aria-valuemin="0" aria-valuemax="100" style="width: 62.50%">
|
|
<span class="sr-only">62.50% covered (warning)</span>
|
|
</div>
|
|
</div>
|
|
</td>
|
|
<td class="warning small"><div align="right">62.50%</div></td>
|
|
<td class="warning small"><div align="right">5 / 8</div></td>
|
|
<td class="danger big"> <div class="progress">
|
|
<div class="progress-bar bg-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
|
|
<span class="sr-only">0.00% covered (danger)</span>
|
|
</div>
|
|
</div>
|
|
</td>
|
|
<td class="danger small"><div align="right">0.00%</div></td>
|
|
<td class="danger small"><div align="right">0 / 2</div></td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td class="success"><img src="_icons/file-directory.svg" class="octicon" /><a href="Http/index.html">Http</a></td>
|
|
<td class="success big"> <div class="progress">
|
|
<div class="progress-bar bg-success" role="progressbar" aria-valuenow="99.11" aria-valuemin="0" aria-valuemax="100" style="width: 99.11%">
|
|
<span class="sr-only">99.11% covered (success)</span>
|
|
</div>
|
|
</div>
|
|
</td>
|
|
<td class="success small"><div align="right">99.11%</div></td>
|
|
<td class="success small"><div align="right">443 / 447</div></td>
|
|
<td class="success big"> <div class="progress">
|
|
<div class="progress-bar bg-success" role="progressbar" aria-valuenow="96.23" aria-valuemin="0" aria-valuemax="100" style="width: 96.23%">
|
|
<span class="sr-only">96.23% covered (success)</span>
|
|
</div>
|
|
</div>
|
|
</td>
|
|
<td class="success small"><div align="right">96.23%</div></td>
|
|
<td class="success small"><div align="right">51 / 53</div></td>
|
|
<td class="success big"> <div class="progress">
|
|
<div class="progress-bar bg-success" role="progressbar" aria-valuenow="93.10" aria-valuemin="0" aria-valuemax="100" style="width: 93.10%">
|
|
<span class="sr-only">93.10% covered (success)</span>
|
|
</div>
|
|
</div>
|
|
</td>
|
|
<td class="success small"><div align="right">93.10%</div></td>
|
|
<td class="success small"><div align="right">27 / 29</div></td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td class=""><img src="_icons/file-directory.svg" class="octicon" /><a href="Jobs/index.html">Jobs</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="warning"><img src="_icons/file-directory.svg" class="octicon" /><a href="Lib/index.html">Lib</a></td>
|
|
<td class="warning big"> <div class="progress">
|
|
<div class="progress-bar bg-warning" role="progressbar" aria-valuenow="80.00" aria-valuemin="0" aria-valuemax="100" style="width: 80.00%">
|
|
<span class="sr-only">80.00% covered (warning)</span>
|
|
</div>
|
|
</div>
|
|
</td>
|
|
<td class="warning small"><div align="right">80.00%</div></td>
|
|
<td class="warning small"><div align="right">48 / 60</div></td>
|
|
<td class="warning big"> <div class="progress">
|
|
<div class="progress-bar bg-warning" role="progressbar" aria-valuenow="75.00" aria-valuemin="0" aria-valuemax="100" style="width: 75.00%">
|
|
<span class="sr-only">75.00% covered (warning)</span>
|
|
</div>
|
|
</div>
|
|
</td>
|
|
<td class="warning small"><div align="right">75.00%</div></td>
|
|
<td class="warning small"><div align="right">6 / 8</div></td>
|
|
<td class="danger big"> <div class="progress">
|
|
<div class="progress-bar bg-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
|
|
<span class="sr-only">0.00% covered (danger)</span>
|
|
</div>
|
|
</div>
|
|
</td>
|
|
<td class="danger small"><div align="right">0.00%</div></td>
|
|
<td class="danger small"><div align="right">0 / 1</div></td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td class=""><img src="_icons/file-directory.svg" class="octicon" /><a href="Mail/index.html">Mail</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="warning"><img src="_icons/file-directory.svg" class="octicon" /><a href="Models/index.html">Models</a></td>
|
|
<td class="warning big"> <div class="progress">
|
|
<div class="progress-bar bg-warning" role="progressbar" aria-valuenow="86.77" aria-valuemin="0" aria-valuemax="100" style="width: 86.77%">
|
|
<span class="sr-only">86.77% covered (warning)</span>
|
|
</div>
|
|
</div>
|
|
</td>
|
|
<td class="warning small"><div align="right">86.77%</div></td>
|
|
<td class="warning small"><div align="right">223 / 257</div></td>
|
|
<td class="warning big"> <div class="progress">
|
|
<div class="progress-bar bg-warning" role="progressbar" aria-valuenow="69.64" aria-valuemin="0" aria-valuemax="100" style="width: 69.64%">
|
|
<span class="sr-only">69.64% covered (warning)</span>
|
|
</div>
|
|
</div>
|
|
</td>
|
|
<td class="warning small"><div align="right">69.64%</div></td>
|
|
<td class="warning small"><div align="right">39 / 56</div></td>
|
|
<td class="danger big"> <div class="progress">
|
|
<div class="progress-bar bg-danger" role="progressbar" aria-valuenow="50.00" aria-valuemin="0" aria-valuemax="100" style="width: 50.00%">
|
|
<span class="sr-only">50.00% covered (danger)</span>
|
|
</div>
|
|
</div>
|
|
</td>
|
|
<td class="danger small"><div align="right">50.00%</div></td>
|
|
<td class="danger small"><div align="right">6 / 12</div></td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td class=""><img src="_icons/file-directory.svg" class="octicon" /><a href="Policies/index.html">Policies</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-directory.svg" class="octicon" /><a href="Providers/index.html">Providers</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">51 / 51</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">3 / 3</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">2 / 2</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>
|