* Add the checklocked,failplus,islogon unit testcase.

This commit is contained in:
hufangzhou
2023-01-11 08:56:18 +00:00
parent 243a877816
commit d7a6d70037
4 changed files with 135 additions and 0 deletions
+44
View File
@@ -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;
}
}
+34
View File
@@ -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账号的锁定状态
+27
View File
@@ -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用户的登录失败次数
+30
View File
@@ -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'); //获取游客的登录状态