SuccessStatusRule::init()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 4
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 1
1
<?php
2
3
namespace whm\Smoke\Rules\Http\Header;
4
5
use Psr\Http\Message\ResponseInterface;
6
use whm\Smoke\Http\Response;
7
use whm\Smoke\Rules\Rule;
8
use whm\Smoke\Rules\ValidationFailedException;
9
10
/**
11
 * This rule checks if the http status code of a request is less than 400.
12
 */
13
class SuccessStatusRule implements Rule
14
{
15
    private $maxStatusCode;
16
17
    public function init($maxStatusCode = 399)
18
    {
19
        $this->maxStatusCode = $maxStatusCode;
20
    }
21
22
    public function validate(ResponseInterface $response)
23
    {
24
        if ($response->getStatusCode() > $this->maxStatusCode) {
25
            throw new ValidationFailedException('Status code ' . $response->getStatusCode() . ' found.');
26
        }
27
    }
28
}
29