Completed
Push — master ( 2a407f...29ce6a )
by François
02:38
created

LoggerTest::testLogAccessWatchHttpLogger()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 12
Code Lines 7

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 1
Metric Value
c 1
b 0
f 1
dl 0
loc 12
rs 9.4285
cc 1
eloc 7
nc 1
nop 0
1
<?php
2
3
/*
4
 * This file is part of the Bouncer package.
5
 *
6
 * (c) François Hodierne <[email protected]>
7
 *
8
 * For the full copyright and license information, please view the LICENSE
9
 * file that was distributed with this source code.
10
 */
11
12
namespace Bouncer;
13
14
class LoggerTest extends \PHPUnit_Framework_TestCase
15
{
16
17
    public function getRequest()
18
    {
19
        $ip = '92.78.176.182';
20
        $ua = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.87 Safari/537.36';
21
22
        $server = array();
23
        $server['REMOTE_ADDR'] = $ip;
24
        $server['HTTP_USER_AGENT'] = $ua;
25
        $server['HTTP_HOST'] = 'bouncer.h6e.net';
26
        $server['REQUEST_URI'] = '/test';
27
        $server['SERVER_PROTOCOL'] = 'HTTP/1.1';
28
        $server['HTTP_ACCEPT'] = 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8';
29
        $server['HTTP_ACCEPT_LANGUAGE'] = 'en-US,en;q=0.8';
30
        $server['HTTP_ACCEPT_ENCODING'] = 'gzip, deflate, sdch';
31
32
        $request = new \Bouncer\Request;
33
        $request->initialize(array(), array(), array(), array(), array(), $server);
34
35
        return $request;
36
    }
37
38
    public function getBouncer($request)
39
    {
40
        $bouncer = new Bouncer(array(
41
            'request' => $request,
42
        ));
43
44
        return $bouncer;
45
    }
46
47
    public function testLogNoLogger()
48
    {
49
        $request = $this->getRequest();
50
51
        $bouncer = $this->getBouncer($request);
52
53
        $bouncer->log();
54
    }
55
56
    public function testLogErrorLogger()
57
    {
58
        $request = $this->getRequest();
59
60
        $bouncer = $this->getBouncer($request);
61
        $logger = new \Bouncer\Logger\ErrorLogger();
62
        $bouncer->setOptions(array('logger' => $logger));
63
64
        $bouncer->log();
65
    }
66
67
    public function testLogAccessWatchLogger()
68
    {
69
        $request = $this->getRequest();
70
71
        $bouncer = $this->getBouncer($request);
72
        $logger = new \Bouncer\Logger\AccessWatchLogger(array(
73
            'apiKey' => '9b89020149ff37e69fbec4634ae57b46'
74
        ));
75
        $bouncer->setOptions(array('logger' => $logger));
76
77
        $bouncer->log();
78
    }
79
80
    public function testLogAccessWatchHttpLogger()
81
    {
82
        $request = $this->getRequest();
83
84
        $bouncer = $this->getBouncer($request);
85
        $logger = new \Bouncer\Logger\AccessWatchHttpLogger(array(
86
            'apiKey' => '9b89020149ff37e69fbec4634ae57b46'
87
        ));
88
        $bouncer->setOptions(array('logger' => $logger));
89
90
        $bouncer->log();
91
    }
92
}
93