public function testLongRequest() { $ip = '2.2.2.2'; // test 100 requests per 600 last seconds for ($i = 1; $i <= 100; $i++) { $request = new CsbRequest(); $request->ip = ip2long($ip); $request->time = date('Y-m-d H:i:s', strtotime("-" . $i * 5 . " second")); $request->save(); } CsbRequest::model()->checkLongIntervals(); // check logs $this->assertEquals(1, CsbIpInfo::model()->count('ip = :ip', array(':ip' => ip2long($ip)))); $this->assertEquals(1, CsbLog::model()->count('ip = :ip', array(':ip' => ip2long($ip)))); }
/** * Log new request * @param $ip * @return int */ public static function newRequest($ip) { $row = new CsbRequest(); $row->time = date('Y-m-d H:i:s'); $row->ip = ip2long($ip); $row->save(); }