3 require_once 'application/HttpUtils.php';
6 * Unitary tests for getIpAddressFromProxy()
8 class GetIpAdressFromProxyTest
extends PHPUnit_Framework_TestCase
{
13 public function testWithoutProxy()
15 $this->assertFalse(getIpAddressFromProxy(array(), array()));
19 * Test with a single IP in proxy header.
21 public function testWithOneForwardedIp()
24 $server = array('HTTP_X_FORWARDED_FOR' => $ip);
25 $this->assertEquals($ip, getIpAddressFromProxy($server, array()));
29 * Test with a multiple IPs in proxy header.
31 public function testWithMultipleForwardedIp()
36 $server = array('HTTP_X_FORWARDED_FOR' => $ip .','. $ip2);
37 $this->assertEquals($ip2, getIpAddressFromProxy($server, array()));
39 $server = array('HTTP_X_FORWARDED_FOR' => $ip .' , '. $ip2);
40 $this->assertEquals($ip2, getIpAddressFromProxy($server, array()));
44 * Test with a trusted IP address.
46 public function testWithTrustedIp()
51 $server = array('HTTP_X_FORWARDED_FOR' => $ip);
52 $this->assertFalse(getIpAddressFromProxy($server, array($ip)));
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)));