]>
Commit | Line | Data |
---|---|---|
50d17918 A |
1 | <?php |
2 | ||
3 | require_once 'application/HttpUtils.php'; | |
4 | ||
5 | /** | |
6 | * Unitary tests for getIpAddressFromProxy() | |
7 | */ | |
8 | class GetIpAdressFromProxyTest extends PHPUnit_Framework_TestCase { | |
9 | ||
10 | /** | |
11 | * Test without proxy | |
12 | */ | |
13 | public function testWithoutProxy() | |
14 | { | |
15 | $this->assertFalse(getIpAddressFromProxy(array(), array())); | |
16 | } | |
17 | ||
18 | /** | |
19 | * Test with a single IP in proxy header. | |
20 | */ | |
21 | public function testWithOneForwardedIp() | |
22 | { | |
23 | $ip = '1.1.1.1'; | |
24 | $server = array('HTTP_X_FORWARDED_FOR' => $ip); | |
25 | $this->assertEquals($ip, getIpAddressFromProxy($server, array())); | |
26 | } | |
27 | ||
28 | /** | |
29 | * Test with a multiple IPs in proxy header. | |
30 | */ | |
31 | public function testWithMultipleForwardedIp() | |
32 | { | |
33 | $ip = '1.1.1.1'; | |
34 | $ip2 = '2.2.2.2'; | |
35 | ||
36 | $server = array('HTTP_X_FORWARDED_FOR' => $ip .','. $ip2); | |
37 | $this->assertEquals($ip2, getIpAddressFromProxy($server, array())); | |
38 | ||
39 | $server = array('HTTP_X_FORWARDED_FOR' => $ip .' , '. $ip2); | |
40 | $this->assertEquals($ip2, getIpAddressFromProxy($server, array())); | |
41 | } | |
42 | ||
43 | /** | |
44 | * Test with a trusted IP address. | |
45 | */ | |
46 | public function testWithTrustedIp() | |
47 | { | |
48 | $ip = '1.1.1.1'; | |
49 | $ip2 = '2.2.2.2'; | |
50 | ||
51 | $server = array('HTTP_X_FORWARDED_FOR' => $ip); | |
52 | $this->assertFalse(getIpAddressFromProxy($server, array($ip))); | |
53 | ||
54 | $server = array('HTTP_X_FORWARDED_FOR' => $ip .','. $ip2); | |
55 | $this->assertEquals($ip2, getIpAddressFromProxy($server, array($ip))); | |
56 | $this->assertFalse(getIpAddressFromProxy($server, array($ip, $ip2))); | |
57 | } | |
58 | } |