Exemple #1
0
 public function testFromModGeoIp()
 {
     $cubex = $this->newCubexInstace();
     $request = new Request();
     $server = ['REMOTE_ADDR' => '123.123.123.123', 'GEOIP_ADDR' => '123.123.123.123', 'GEOIP_COUNTRY_CODE' => 'US', 'GEOIP_CITY' => 'Mountain View', 'GEOIP_REGION_NAME' => 'CA'];
     $request->initialize([], [], [], [], [], $server);
     $cubex->instance('request', $request);
     $visitor = new Visitor($request, $cubex);
     $this->assertEquals('US', $visitor->getCountry());
     $this->assertEquals('Mountain View', $visitor->getCity());
     $this->assertEquals('CA', $visitor->getRegion());
 }
 /**
  * @param      $remoteAddr
  * @param      $country
  * @param      $city
  * @param      $region
  * @param null $config
  *
  * @dataProvider visitorProvider
  */
 public function testVisitor($remoteAddr, $country, $city, $region, $config = null)
 {
     if (!file_exists($this->_geoipdb)) {
         $this->markTestSkipped("GeoIP Database Not Downloaded");
         return;
     }
     $cubex = $this->newCubexInstace();
     $request = new Request();
     $server = ['REMOTE_ADDR' => $remoteAddr];
     $request->initialize([], [], [], [], [], $server);
     $cubex->instance('request', $request);
     if ($config === null) {
         $config = new ConfigSection('http_visitor', ['database' => $this->_geoipdb]);
     }
     $config->addItem('database', $config->getItem('database', $this->_geoipdb));
     $cubex->getConfiguration()->addSection($config);
     $visitor = new MaxmindVisitor();
     $visitor->configure($config);
     $visitor->setClientIp($remoteAddr);
     $this->assertEquals($country, $visitor->getCountry());
     $this->assertEquals($city, $visitor->getCity());
     $this->assertEquals($region, $visitor->getRegion());
 }
Exemple #3
0
 public function testXForwardedFor()
 {
     //http://en.wikipedia.org/wiki/X-Forwarded-For#Format
     $request = new Request();
     //8.8.8.8 = client IP
     //4.4.4.4 = proxy1
     $server = ['HTTP_X_FORWARDED_FOR' => '8.8.8.8, 4.4.4.4', 'REMOTE_ADDR' => '8.8.4.4'];
     $request->initialize([], [], [], [], [], $server);
     $request->setTrustedProxies(['8.8.4.4']);
     $this->assertEquals('8.8.8.8', $request->getClientIp());
 }