]> git.immae.eu Git - github/shaarli/Shaarli.git/blob - tests/HttpUtils/ClientIpIdTest.php
namespacing: \Shaarli\Http\Url
[github/shaarli/Shaarli.git] / tests / HttpUtils / ClientIpIdTest.php
1 <?php
2 /**
3 * HttpUtils' tests
4 */
5
6 require_once 'application/HttpUtils.php';
7
8 /**
9 * Unitary tests for client_ip_id()
10 */
11 class ClientIpIdTest extends PHPUnit_Framework_TestCase
12 {
13 /**
14 * Get a remote client ID based on its IP
15 */
16 public function testClientIpIdRemote()
17 {
18 $this->assertEquals(
19 '10.1.167.42',
20 client_ip_id(['REMOTE_ADDR' => '10.1.167.42'])
21 );
22 }
23
24 /**
25 * Get a remote client ID based on its IP and proxy information (1)
26 */
27 public function testClientIpIdRemoteForwarded()
28 {
29 $this->assertEquals(
30 '10.1.167.42_127.0.1.47',
31 client_ip_id([
32 'REMOTE_ADDR' => '10.1.167.42',
33 'HTTP_X_FORWARDED_FOR' => '127.0.1.47'
34 ])
35 );
36 }
37
38 /**
39 * Get a remote client ID based on its IP and proxy information (2)
40 */
41 public function testClientIpIdRemoteForwardedClient()
42 {
43 $this->assertEquals(
44 '10.1.167.42_10.1.167.56_127.0.1.47',
45 client_ip_id([
46 'REMOTE_ADDR' => '10.1.167.42',
47 'HTTP_X_FORWARDED_FOR' => '10.1.167.56',
48 'HTTP_CLIENT_IP' => '127.0.1.47'
49 ])
50 );
51 }
52 }