BasicUsageTest   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 32
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 3

Importance

Changes 3
Bugs 0 Features 1
Metric Value
wmc 3
c 3
b 0
f 1
lcom 1
cbo 3
dl 0
loc 32
rs 10

3 Methods

Rating   Name   Duplication   Size   Complexity  
A testBasicBootstrapping() 0 8 1
A testLogsIntoMonologWhenGivenCommonIntrusions() 0 8 1
A logsIntoMonologWhenGivenCommonIntrusionsProvider() 0 8 1
1
<?php
2
3
namespace Ionut\Sylar\Tests\Integration;
4
5
6
use Ionut\Sylar\Reactor;
7
use Ionut\Sylar\Tests\TestCase;
8
use Psr\Log\LoggerInterface;
9
use Zend\Diactoros\ServerRequest;
10
11
class BasicUsageTest extends TestCase
12
{
13
    public function testBasicBootstrapping()
14
    {
15
        $logger = $this->getMock(LoggerInterface::class);
16
        $logger->expects($this->never())->method('emergency');
17
18
        $handler = Reactor::factory($logger);
19
        $handler->digest(new ServerRequest());
20
    }
21
22
    /**
23
     * @dataProvider logsIntoMonologWhenGivenCommonIntrusionsProvider
24
     */
25
    public function testLogsIntoMonologWhenGivenCommonIntrusions($intrusion)
26
    {
27
        $logger = $this->getMock(LoggerInterface::class);
28
        $logger->expects($this->once())->method('emergency');
29
30
        $handler = Reactor::factory($logger);
31
        $handler->digest(new ServerRequest(compact('intrusion')));
32
    }
33
34
    public function logsIntoMonologWhenGivenCommonIntrusionsProvider()
35
    {
36
        return [
37
            ['1 UNION SELECT 1,null,null--'],
38
            ['<script></script>'],
39
            ['etc/passwd']
40
        ];
41
    }
42
}