Expiration   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 45
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
wmc 4
eloc 18
dl 0
loc 45
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A invokeTest() 0 19 3
A initialize() 0 6 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace SimpleSAML\Module\monitor\TestCase\Metadata;
6
7
use SimpleSAML\Module\monitor\State;
8
use SimpleSAML\Module\monitor\TestData;
9
use SimpleSAML\Module\monitor\TestResult;
10
11
use function array_key_exists;
12
use function date;
13
14
final class Expiration extends \SimpleSAML\Module\monitor\TestCaseFactory
15
{
16
    /** @var string */
17
    private string $entityId;
18
19
    /** @var array */
20
    private array $metadata;
21
22
23
    /**
24
     * @param \SimpleSAML\Module\monitor\TestData $testData
25
     *
26
     * @return void
27
     */
28
    protected function initialize(TestData $testData): void
29
    {
30
        $this->entityId = $testData->getInputItem('entityId');
31
        $this->metadata = $testData->getInputItem('entityMetadata');
32
33
        parent::initialize($testData);
34
    }
35
36
37
    /**
38
     * @return void
39
     */
40
    public function invokeTest(): void
41
    {
42
        $testResult = new TestResult('Metadata expiration', $this->entityId);
43
44
        if (array_key_exists('expire', $this->metadata)) {
45
            $expiration = $this->metadata['expire'];
46
            if ($expiration <= time()) {
47
                $testResult->setState(State::ERROR);
48
                $testResult->setMessage('Metadata has expired');
49
            } else {
50
                $testResult->setState(State::OK);
51
                $testResult->setMessage('Metadata will expire on ' . date('r', $expiration));
52
            }
53
        } else {
54
            $testResult->setState(State::OK);
55
            $testResult->setMessage('Metadata never expires');
56
        }
57
58
        $this->setTestResult($testResult);
59
    }
60
}
61