Code Duplication    Length = 12-12 lines in 10 locations

Tests/IpAddressTest.php 10 locations

@@ 37-48 (lines=12) @@
34
        Assert::assertNull($middleware->getIpAddress());
35
    }
36
37
    public function testXForwardedForIp()
38
    {
39
        $middleware = new IpAddress(['192.168.1.1']);
40
41
        $request = ServerRequestFactory::fromGlobals([
42
            'REMOTE_ADDR' => '192.168.1.1',
43
            'HTTP_X_FORWARDED_FOR' => '192.168.1.3, 192.168.1.2, 192.168.1.1'
44
        ]);
45
        $this->runRequest($middleware, $request);
46
47
        Assert::assertSame('192.168.1.3', $middleware->getIpAddress());
48
    }
49
50
    public function testProxyIpIsIgnored()
51
    {
@@ 50-61 (lines=12) @@
47
        Assert::assertSame('192.168.1.3', $middleware->getIpAddress());
48
    }
49
50
    public function testProxyIpIsIgnored()
51
    {
52
        $middleware = new IpAddress();
53
54
        $request = ServerRequestFactory::fromGlobals([
55
            'REMOTE_ADDR' => '192.168.0.1',
56
            'HTTP_X_FORWARDED_FOR' => '192.168.1.3, 192.168.1.2, 192.168.1.1'
57
        ]);
58
        $this->runRequest($middleware, $request);
59
60
        Assert::assertSame('192.168.0.1', $middleware->getIpAddress());
61
    }
62
63
    public function testHttpClientIp()
64
    {
@@ 63-74 (lines=12) @@
60
        Assert::assertSame('192.168.0.1', $middleware->getIpAddress());
61
    }
62
63
    public function testHttpClientIp()
64
    {
65
        $middleware = new IpAddress(['192.168.1.1']);
66
67
        $request = ServerRequestFactory::fromGlobals([
68
            'REMOTE_ADDR' => '192.168.1.1',
69
            'HTTP_CLIENT_IP' => '192.168.1.3'
70
        ]);
71
        $this->runRequest($middleware, $request);
72
73
        Assert::assertSame('192.168.1.3', $middleware->getIpAddress());
74
    }
75
76
    public function testXForwardedForIpV6()
77
    {
@@ 76-87 (lines=12) @@
73
        Assert::assertSame('192.168.1.3', $middleware->getIpAddress());
74
    }
75
76
    public function testXForwardedForIpV6()
77
    {
78
        $middleware = new IpAddress(['192.168.1.1']);
79
80
        $request = ServerRequestFactory::fromGlobals([
81
            'REMOTE_ADDR' => '192.168.1.1',
82
            'HTTP_X_FORWARDED_FOR' => '001:DB8::21f:5bff:febf:ce22:8a2e'
83
        ]);
84
        $this->runRequest($middleware, $request);
85
86
        Assert::assertSame('001:DB8::21f:5bff:febf:ce22:8a2e', $middleware->getIpAddress());
87
    }
88
89
    public function testXForwardedForWithInvalidIp()
90
    {
@@ 89-100 (lines=12) @@
86
        Assert::assertSame('001:DB8::21f:5bff:febf:ce22:8a2e', $middleware->getIpAddress());
87
    }
88
89
    public function testXForwardedForWithInvalidIp()
90
    {
91
        $middleware = new IpAddress(['192.168.1.1']);
92
93
        $request = ServerRequestFactory::fromGlobals([
94
            'REMOTE_ADDR' => '192.168.1.1',
95
            'HTTP_X_FORWARDED_FOR' => 'foo-bar'
96
        ]);
97
        $this->runRequest($middleware, $request);
98
99
        Assert::assertSame('192.168.1.1', $middleware->getIpAddress());
100
    }
101
102
    public function testXForwardedForIpWithTrustedProxy()
103
    {
@@ 102-113 (lines=12) @@
99
        Assert::assertSame('192.168.1.1', $middleware->getIpAddress());
100
    }
101
102
    public function testXForwardedForIpWithTrustedProxy()
103
    {
104
        $middleware = new IpAddress(['192.168.0.1', '192.168.0.2']);
105
106
        $request = ServerRequestFactory::fromGlobals([
107
            'REMOTE_ADDR' => '192.168.0.2',
108
            'HTTP_X_FORWARDED_FOR' => '192.168.1.3, 192.168.1.2, 192.168.1.1'
109
        ]);
110
        $this->runRequest($middleware, $request);
111
112
        Assert::assertSame('192.168.1.3', $middleware->getIpAddress());
113
    }
114
115
    public function testXForwardedForIpWithUntrustedProxy()
116
    {
@@ 115-126 (lines=12) @@
112
        Assert::assertSame('192.168.1.3', $middleware->getIpAddress());
113
    }
114
115
    public function testXForwardedForIpWithUntrustedProxy()
116
    {
117
        $middleware = new IpAddress(['192.168.0.1']);
118
119
        $request = ServerRequestFactory::fromGlobals([
120
            'REMOTE_ADDR' => '192.168.0.2',
121
            'HTTP_X_FORWARDED_FOR' => '192.168.1.3, 192.168.1.2, 192.168.1.1'
122
        ]);
123
        $this->runRequest($middleware, $request);
124
125
        Assert::assertSame('192.168.0.2', $middleware->getIpAddress());
126
    }
127
128
    public function testForwardedWithMultipleFor()
129
    {
@@ 128-139 (lines=12) @@
125
        Assert::assertSame('192.168.0.2', $middleware->getIpAddress());
126
    }
127
128
    public function testForwardedWithMultipleFor()
129
    {
130
        $middleware = new IpAddress(['192.168.1.1']);
131
132
        $request = ServerRequestFactory::fromGlobals([
133
            'REMOTE_ADDR' => '192.168.1.1',
134
            'HTTP_FORWARDED' => 'for=192.0.2.43, for=198.51.100.17;by=203.0.113.60;proto=http;host=example.com',
135
        ]);
136
        $this->runRequest($middleware, $request);
137
138
        Assert::assertSame('192.0.2.43', $middleware->getIpAddress());
139
    }
140
141
    public function testForwardedWithAllOptions()
142
    {
@@ 141-152 (lines=12) @@
138
        Assert::assertSame('192.0.2.43', $middleware->getIpAddress());
139
    }
140
141
    public function testForwardedWithAllOptions()
142
    {
143
        $middleware = new IpAddress(['192.168.1.1']);
144
145
        $request = ServerRequestFactory::fromGlobals([
146
            'REMOTE_ADDR' => '192.168.1.1',
147
            'HTTP_FORWARDED' => 'for=192.0.2.60; proto=http;by=203.0.113.43; host=_hiddenProxy, for=192.0.2.61',
148
        ]);
149
        $this->runRequest($middleware, $request);
150
151
        Assert::assertSame('192.0.2.60', $middleware->getIpAddress());
152
    }
153
154
    public function testForwardedWithWithIpV6()
155
    {
@@ 154-165 (lines=12) @@
151
        Assert::assertSame('192.0.2.60', $middleware->getIpAddress());
152
    }
153
154
    public function testForwardedWithWithIpV6()
155
    {
156
        $middleware = new IpAddress(['192.168.1.1']);
157
158
        $request = ServerRequestFactory::fromGlobals([
159
            'REMOTE_ADDR' => '192.168.1.1',
160
            'HTTP_FORWARDED' => 'For="[2001:db8:cafe::17]:4711", for=_internalProxy',
161
        ]);
162
        $this->runRequest($middleware, $request);
163
164
        Assert::assertSame('2001:db8:cafe::17', $middleware->getIpAddress());
165
    }
166
167
    public function testCustomHeader()
168
    {