Passed
Branch master (4b23d6)
by Tim
04:40
created

Configuration::invokeTest()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 12
Code Lines 7

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 7
dl 0
loc 12
rs 10
c 0
b 0
f 0
cc 2
nc 2
nop 0
1
<?php
2
3
namespace SimpleSAML\Module\Monitor\TestSuite;
4
5
use SimpleSAML\Module\Monitor\TestConfiguration;
6
use SimpleSAML\Module\Monitor\TestCase;
7
use SimpleSAML\Module\Monitor\TestData;
8
use SimpleSAML\Module\Monitor\TestResult;
9
use SimpleSAML\Module\Monitor\State;
10
use SimpleSAML\Utils;
11
12
final class Configuration extends \SimpleSAML\Module\Monitor\TestSuiteFactory
13
{
14
    /**
15
     * @param \SimpleSAML\Module\Monitor\TestConfiguration $configuration
16
     */
17
    public function __construct(TestConfiguration $configuration)
18
    {
19
        $this->setCategory('Configuration');
20
        parent::__construct($configuration);
21
    }
22
23
24
    /**
25
     * @param \SimpleSAML\Module\Monitor\TestConfiguration $configuration
26
     * @return array
27
     */
28
    private function testCertificates(TestConfiguration $configuration): array
29
    {
30
        $test = new Configuration\Certificates($configuration);
31
        return $test->getTestResults();
32
    }
33
34
35
    /**
36
     * @param \SimpleSAML\Module\Monitor\TestConfiguration $configuration
37
     * @return array
38
     */
39
    private function testDatabase(TestConfiguration $configuration): array
40
    {
41
        $test = new Configuration\Database($configuration);
42
        return $test->getTestResults();
43
    }
44
45
46
    /**
47
     * @return void
48
     */
49
    public function invokeTest(): void
50
    {
51
        $configuration = $this->getConfiguration();
52
        $results = [];
53
54
        $results = array_merge($results, $this->testCertificates($configuration));
55
        $results = array_merge($results, $this->testDatabase($configuration));
56
57
        foreach ($results as $result) {
58
            $this->addTestResult($result);
59
        }
60
        $this->calculateState();
61
    }
62
}
63