* Add the checklocked,failplus,islogon unit testcase.
This commit is contained in:
@@ -1037,4 +1037,48 @@ class userTest
|
||||
|
||||
return $oldRandom != $newRandom ? 1 : 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Judge a user is logon or not.
|
||||
*
|
||||
* @access public
|
||||
* @return bool
|
||||
*/
|
||||
public function isLogonTest()
|
||||
{
|
||||
return $this->objectModel->isLogon();
|
||||
}
|
||||
|
||||
/**
|
||||
* Plus the fail times.
|
||||
*
|
||||
* @param string $account
|
||||
* @access public
|
||||
* @return int
|
||||
*/
|
||||
public function failPlusTest($account)
|
||||
{
|
||||
global $tester;
|
||||
$this->objectModel->failPlus($account);
|
||||
$failCounts = $tester->dao->select('fails')->from(TABLE_USER)->where('account')->eq($account)->fetch('fails');
|
||||
|
||||
return $failCounts;
|
||||
}
|
||||
|
||||
/**
|
||||
* Plus the fail times.
|
||||
*
|
||||
* @param string $account
|
||||
* @access public
|
||||
* @return string
|
||||
*/
|
||||
public function checkLockedTest($account)
|
||||
{
|
||||
global $tester;
|
||||
$result = $this->objectModel->checkLocked($account);
|
||||
|
||||
$result = $result ? 'locked' : 'unlocked';
|
||||
|
||||
return $result;
|
||||
}
|
||||
}
|
||||
|
||||
Executable
+34
@@ -0,0 +1,34 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
include dirname(dirname(dirname(__FILE__))) . '/class/user.class.php';
|
||||
su('admin');
|
||||
|
||||
$now = date('Y-m-d H:i:s', time() - 20 * 60);
|
||||
$now = str_replace(array('-', ':'), array(), $now);
|
||||
|
||||
$user = zdTable('user');
|
||||
$user->id->range('1-10');
|
||||
$user->account->range('admin,user1,user2,user3,user4,user5,user6,user7,user8,user9');
|
||||
$user->password->range('a0933c1218a4e745bacdcf572b10eba7');
|
||||
$user->realname->range('1-10')->prefix('用户');
|
||||
$user->locked->range("$now:2m")->type('timestamp')->format('YY/MM/DD hh:mm:ss');
|
||||
$user->gen(10);
|
||||
|
||||
/**
|
||||
|
||||
title=测试 userModel->cleanLocked();
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
获取user2账号的锁定状态 >> unlocked
|
||||
获取user7账号的锁定状态 >> locked
|
||||
|
||||
*/
|
||||
|
||||
$user = new userTest();
|
||||
$userLocked = $user->checkLockedTest('user2');
|
||||
$unlockedUser = $user->checkLockedTest('user7');
|
||||
|
||||
r($userLocked) && p() && e('unlocked'); //获取user2账号的锁定状态
|
||||
r($unlockedUser) && p() && e('locked'); //获取user7账号的锁定状态
|
||||
Executable
+27
@@ -0,0 +1,27 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
include dirname(dirname(dirname(__FILE__))) . '/class/user.class.php';
|
||||
su('admin');
|
||||
|
||||
$user = zdTable('user');
|
||||
$user->gen(100);
|
||||
|
||||
/**
|
||||
|
||||
title=测试 userModel->failPlus();
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
获取user2用户的登录失败次数 >> 4
|
||||
获取user90用户的登录失败次数 >> 0
|
||||
|
||||
*/
|
||||
|
||||
$user = new userTest();
|
||||
|
||||
$user2 = $user->failPlusTest('user2');
|
||||
$user90 = $user->failPlusTest('user90');
|
||||
|
||||
r($user2) && p() && e('1'); //获取user2用户的登录失败次数
|
||||
r($user90) && p() && e('0'); //获取user90用户的登录失败次数
|
||||
Executable
+30
@@ -0,0 +1,30 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
include dirname(dirname(dirname(__FILE__))) . '/class/user.class.php';
|
||||
su('admin');
|
||||
|
||||
/**
|
||||
|
||||
title=测试 userModel->isLogon();
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
获取admin用户的登录状态 >> 1
|
||||
获取游客的登录状态 >> 0
|
||||
|
||||
*/
|
||||
|
||||
$user = new userTest();
|
||||
|
||||
$_SESSION['user'] = new stdclass();
|
||||
$_SESSION['user']->account = 'admin';
|
||||
$_SESSION['user']->password = 'a0933c1218a4e745bacdcf572b10eba7';
|
||||
$admin = $user->isLogonTest();
|
||||
|
||||
$_SESSION['user']->account = 'guest';
|
||||
$_SESSION['user']->password = '';
|
||||
$guest = $user->isLogonTest();
|
||||
|
||||
r($admin) && p() && e('1'); //获取admin用户的登录状态
|
||||
r($guest) && p() && e('0'); //获取游客的登录状态
|
||||
Reference in New Issue
Block a user