LoggerBuilderIntegrationTest   A
last analyzed

Complexity

Total Complexity 8

Size/Duplication

Total Lines 56
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 28
dl 0
loc 56
rs 10
c 0
b 0
f 0
wmc 8

4 Methods

Rating   Name   Duplication   Size   Complexity  
A setUp() 0 3 1
A testBuild() 0 7 1
A assertDefaultHandlers() 0 13 3
A assertDefaultProcessors() 0 16 3
1
<?php
2
3
namespace Graze\Monolog;
4
5
use Monolog\Logger;
6
use PHPUnit\Framework\TestCase;
7
8
class LoggerBuilderIntegrationTest extends TestCase
9
{
10
    /** @var LoggerBuilder */
11
    private $builder;
12
13
    public function setUp()
14
    {
15
        $this->builder = new LoggerBuilder();
16
    }
17
18
    /**
19
     * @param Logger $logger
20
     */
21
    public function assertDefaultHandlers(Logger $logger)
22
    {
23
        $handlers = [];
24
        $exception = null;
25
        do {
26
            try {
27
                $handlers[] = $handler = $logger->popHandler();
0 ignored issues
show
Unused Code introduced by
The assignment to $handler is dead and can be removed.
Loading history...
28
            } catch (\Exception $e) {
29
                $exception = $e;
30
            }
31
        } while (is_null($exception));
32
33
        $this->assertSame([], $handlers, 'There are more handlers defined than should be');
34
    }
35
36
    /**
37
     * @param Logger $logger
38
     */
39
    public function assertDefaultProcessors(Logger $logger)
40
    {
41
        $processors = [];
42
        $exception = null;
43
        do {
44
            try {
45
                $processors[] = $processor = $logger->popProcessor();
0 ignored issues
show
Unused Code introduced by
The assignment to $processor is dead and can be removed.
Loading history...
46
            } catch (\Exception $e) {
47
                $exception = $e;
48
            }
49
        } while (is_null($exception));
50
51
        $this->assertInstanceOf('Graze\Monolog\Processor\ExceptionMessageProcessor', array_shift($processors));
52
        $this->assertInstanceOf('Graze\Monolog\Processor\EnvironmentProcessor', array_shift($processors));
53
        $this->assertInstanceOf('Graze\Monolog\Processor\HttpProcessor', array_shift($processors));
54
        $this->assertSame([], $processors, 'There are more processors defined than should be');
55
    }
56
57
    public function testBuild()
58
    {
59
        $logger = $this->builder->build();
60
61
        $this->assertSame(LoggerBuilder::DEFAULT_NAME, $logger->getName());
62
        $this->assertDefaultHandlers($logger);
63
        $this->assertDefaultProcessors($logger);
64
    }
65
}
66