Completed
Push — master ( 1de050...162d05 )
by Alejandro
46:23 queued 09:21
created

IpAddressMiddlewareFactoryTest   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 29
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 1

Importance

Changes 0
Metric Value
dl 0
loc 29
rs 10
c 0
b 0
f 0
wmc 2
lcom 1
cbo 1

2 Methods

Rating   Name   Duplication   Size   Complexity  
A setUp() 0 4 1
A returnedInstanceIsProperlyConfigured() 0 16 1
1
<?php
2
declare(strict_types=1);
3
4
namespace ShlinkioTest\Shlink\Common\Middleware;
5
6
use PHPUnit\Framework\TestCase;
7
use ReflectionObject;
8
use Shlinkio\Shlink\Common\Middleware\IpAddressMiddlewareFactory;
9
use Shlinkio\Shlink\Core\Model\Visitor;
10
use Zend\ServiceManager\ServiceManager;
11
12
class IpAddressMiddlewareFactoryTest extends TestCase
13
{
14
    private $factory;
15
16
    public function setUp()
17
    {
18
        $this->factory = new IpAddressMiddlewareFactory();
19
    }
20
21
    /**
22
     * @test
23
     */
24
    public function returnedInstanceIsProperlyConfigured()
25
    {
26
        $instance = $this->factory->__invoke(new ServiceManager(), '');
27
28
        $ref = new ReflectionObject($instance);
29
        $checkProxyHeaders = $ref->getProperty('checkProxyHeaders');
30
        $checkProxyHeaders->setAccessible(true);
31
        $trustedProxies = $ref->getProperty('trustedProxies');
32
        $trustedProxies->setAccessible(true);
33
        $attributeName = $ref->getProperty('attributeName');
34
        $attributeName->setAccessible(true);
35
36
        $this->assertTrue($checkProxyHeaders->getValue($instance));
37
        $this->assertEquals([], $trustedProxies->getValue($instance));
38
        $this->assertEquals(Visitor::REMOTE_ADDRESS_ATTR, $attributeName->getValue($instance));
39
    }
40
}
41