Passed
Push — master ( 9792fc...04e5e0 )
by Tim
06:59
created

TestModuleTest::testEitherModuleAvailable()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 12
Code Lines 8

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 8
c 1
b 0
f 0
nc 1
nop 0
dl 0
loc 12
rs 10
1
<?php
2
3
namespace SimpleSAML\Module\monitor\Test;
4
5
use SimpleSAML\Module\monitor\TestCase;
6
use SimpleSAML\Module\monitor\TestData;
7
use SimpleSAML\Module\monitor\State;
8
9
/**
10
 * Tests for TestCase\Module
11
 */
12
class TestModuleTest extends \PHPUnit\Framework\TestCase
13
{
14
    public function testModuleAvailable(): void
15
    {
16
        $testData = new TestData([
17
            'required' => 'mod_test',
18
            'available' => ['mod_test'],
19
            'type' => 'testtype',
20
        ]);
21
        $moduleTest = new TestCase\Module($testData);
22
        $testResult = $moduleTest->getTestResult();
23
24
        $this->assertEquals(State::OK, $testResult->getState());
25
        $this->assertEquals('mod_test', $moduleTest->getModuleName());
26
    }
27
28
    public function testEitherModuleAvailable(): void
29
    {
30
        $testData = new TestData([
31
            'required' => 'mod_test|mod_test2',
32
            'available' => ['mod_test'],
33
            'type' => 'testtype',
34
        ]);
35
        $moduleTest = new TestCase\Module($testData);
36
        $testResult = $moduleTest->getTestResult();
37
38
        $this->assertEquals(State::OK, $testResult->getState());
39
        $this->assertEquals('mod_test', $moduleTest->getModuleName());
40
    }
41
42
    public function testBothModulesAvailable(): void
43
    {
44
        $testData = new TestData([
45
            'required' => 'mod_test|mod_test2',
46
            'type' => 'testtype',
47
            'available' => ['mod_test', 'mod_test2'],
48
        ]);
49
        $moduleTest = new TestCase\Module($testData);
50
        $testResult = $moduleTest->getTestResult();
51
52
        $this->assertEquals(State::OK, $testResult->getState());
53
        $this->assertEquals('mod_test', $moduleTest->getModuleName());
54
    }
55
56
    public function testModuleUnavailable(): void
57
    {
58
        $testData = new TestData([
59
            'required' => 'mod_test',
60
            'available' => [],
61
            'type' => 'testtype',
62
        ]);
63
        $moduleTest = new TestCase\Module($testData);
64
        $testResult = $moduleTest->getTestResult();
65
66
        $this->assertEquals(State::ERROR, $testResult->getState());
67
        $this->assertEquals('mod_test', $moduleTest->getModuleName());
68
    }
69
70
    public function testBothModulesUnavailable(): void
71
    {
72
        $testData = new TestData([
73
            'required' => 'mod_test|mod_test2',
74
            'available' => [],
75
            'type' => 'testtype',
76
        ]);
77
        $moduleTest = new TestCase\Module($testData);
78
        $testResult = $moduleTest->getTestResult();
79
80
        $this->assertEquals(State::ERROR, $testResult->getState());
81
        $this->assertEquals('mod_test|mod_test2', $moduleTest->getModuleName());
82
    }
83
}
84