From 767ba0bb6292af5ed30e392e2d519618e8973e7b Mon Sep 17 00:00:00 2001 From: Kijin Sung Date: Tue, 2 Feb 2016 09:36:32 +0900 Subject: [PATCH] Add unit tests for CloudFlare real IP method --- tests/Unit/framework/IpFilterTest.php | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/tests/Unit/framework/IpFilterTest.php b/tests/Unit/framework/IpFilterTest.php index f63a6fac7..13bb96318 100644 --- a/tests/Unit/framework/IpFilterTest.php +++ b/tests/Unit/framework/IpFilterTest.php @@ -56,4 +56,22 @@ class IpFilterTest extends \Codeception\TestCase\Test $this->assertTrue(\IpFilter::filter(array('192.168.*'), '192.168.134.241')); $this->assertFalse(\IpFilter::filter(array('127.0.0.1'), '192.168.134.241')); } + + public function testCloudFlareRealIP() + { + $_SERVER['HTTP_CF_CONNECTING_IP'] = '192.168.134.241'; + + $_SERVER['REMOTE_ADDR'] = '192.168.10.1'; + $this->assertFalse(Rhymix\Framework\IpFilter::getCloudFlareRealIP()); + $this->assertEquals('192.168.10.1', $_SERVER['REMOTE_ADDR']); + + $_SERVER['REMOTE_ADDR'] = '108.162.192.121'; + $this->assertEquals('192.168.134.241', Rhymix\Framework\IpFilter::getCloudFlareRealIP()); + $this->assertEquals('192.168.134.241', $_SERVER['REMOTE_ADDR']); + + unset($_SERVER['HTTP_CF_CONNECTING_IP']); + $_SERVER['REMOTE_ADDR'] = '192.168.10.1'; + $this->assertFalse(Rhymix\Framework\IpFilter::getCloudFlareRealIP()); + $this->assertEquals('192.168.10.1', $_SERVER['REMOTE_ADDR']); + } }