* Code for auto test.

This commit is contained in:
孙广明
2022-03-15 15:41:39 +08:00
parent 2b9fcb67f5
commit 69fc328a1e
9 changed files with 390 additions and 12 deletions
+150 -2
View File
@@ -271,12 +271,160 @@ class userTest
else
{
$users = array();
foreach($userIDList as $userID)
foreach($userIDList as $userID) $users[] = $this->objectModel->getByID($userID, 'id');
return $users;
}
}
/**
* Test edit a user.
*
* @param int $userID
* @param array $params
* @access public
* @return void
*/
public function updateUserTest($userID, $params = array())
{
$_POST = $params;
$_POST['verifyPassword'] = 'e79f8fb9726857b212401e42e5b7e18b';
$this->objectModel->update($userID);
unset($_POST);
if(dao::isError())
{
return dao::getError();
}
else
{
return $this->objectModel->getByID($userID, 'id');
}
}
/**
* Test batch edit users.
*
* @param array $params
* @access public
* @return void
*/
public function batchEditUserTest($params = array())
{
$_POST = $params;
$_POST['verifyPassword'] = 'e79f8fb9726857b212401e42e5b7e18b';
$this->objectModel->batchEdit($params);
unset($_POST);
if(dao::isError())
{
return dao::getError();
}
else
{
$users = array();
$userIDList = array_keys($params['account']);
foreach($userIDList as $userID)
{
$users[] = $this->objectModel->getByID($userID, 'id');
$user = $this->objectModel->getByID($userID, 'id');
$users[$user->id] = $user;
}
return $users;
}
}
/**
* Test edit a user password.
*
* @param int $userID
* @param array $params
* @access public
* @return void
*/
public function updatePasswordTest($userID, $params = array())
{
$_POST = $params;
$this->objectModel->updatePassword($userID);
unset($_POST);
if(dao::isError())
{
return dao::getError();
}
else
{
return $this->objectModel->getByID($userID, 'id');
}
}
/**
* Reset user password.
*
* @param array $params
* @access public
* @return void
*/
public function resetPasswordTest($params = array())
{
$_POST = $params;
$this->objectModel->resetPassword();
unset($_POST);
if(dao::isError())
{
return dao::getError();
}
else
{
$account = $params['account'];
return $this->objectModel->getByID($account, 'account');
}
}
/**
* Check user password.
*
* @param array $params
* @access public
* @return void
*/
public function checkPasswordTest($params = array())
{
$_POST = $params;
$this->objectModel->checkPassword();
unset($_POST);
if(dao::isError())
{
return dao::getError();
}
else
{
return '无报错';
}
}
/**
* Identify user.
*
* @param string $account
* @param string $password
* @access public
* @return void
*/
public function identifyTest($account, $password)
{
$_POST = $params;
$user = $this->objectModel->identify($account, $password);
unset($_POST);
return $user;
}
}
+8 -9
View File
@@ -23,15 +23,14 @@ Visions为空的情况 >> 『版本类型』不能为空。
$user = new userTest();
$normalUser = array();
$normalUser['account'] = array('newtestuser1', 'newtestuser2', 'newtestuser3');
$normalUser['realname'] = array('新测试用户1', '新测试用户2', '新测试用户3');
$normalUser['visions'] = array('rnd', 'rnd,lite', 'lite');
$normalUser['role'] = array('qa', 'dev', 'pm');
$normalUser['email'] = array('testasd@163.com', '', '11773@qq.com');
$normalUser['password'] = array('e10adc3949ba59abbe56e057f20f883e', 'e10adc3949ba59abbe56e057f20f883e', 'e10adc3949ba59abbe56e057f20f883e');
$normalUser['account'] = array(1 => 'newtestuser1', 2 => 'newtestuser2', 3 => 'newtestuser3');
$normalUser['realname'] = array(1 => '新测试用户1', 2 => '新测试用户2', 3 => '新测试用户3');
$normalUser['visions'] = array(1 => 'rnd', 2 => 'rnd,lite', 3 => 'lite');
$normalUser['role'] = array(1 => 'qa', 2 => 'dev', 3 => 'pm');
$normalUser['email'] = array(1 => 'testasd@163.com', 2 => '', 3 => '11773@qq.com');
$normalUser['password'] = array(1 => 'e10adc3949ba59abbe56e057f20f883e', 2 => 'e10adc3949ba59abbe56e057f20f883e', 3 => 'e10adc3949ba59abbe56e057f20f883e');
a($user->batchCreateUserTest($normalUser));die;
r($user->batchCreateUserTest($normalUser)) && p('password1:0') && e('您的密码强度小于系统设定。'); //密码较弱的情况
r($user->batchCreateUserTest($normalUser)) && p('0:account') && e('newtestuser1'); //获取插入的第一个用户的account
r($user->batchCreateUserTest($normalUser)) && p('2:realname') && e('新测试用户3'); //获取插入的最后一个用户的realname
system("./ztest init");
+36
View File
@@ -0,0 +1,36 @@
#!/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->batchEditTest();
cid=1
pid=1
密码较弱的情况 >> 您的密码强度小于系统设定。
Visions为空的情况 >> 『版本类型』不能为空。
用户名为空的情况 >> 『用户名』不能为空。
用户名特殊的情况 >> 『用户名』只能是字母、数字或下划线的组合三位以上。
两次密码不相同的情况 >> 两次密码应该相同。
插入重复的用户名,返回报错信息 >> 『用户名』已经有『admin』这条记录了。如果您确定该记录已删除,请到后台-系统-数据-回收站还原。
正常插入用户,返回新插入的ID、真实姓名 >> 1001,新的测试用户
正常插入用户,返回新插入的真实姓名 >> 新的测试用户
*/
$user = new userTest();
$normalUser = array();
$normalUser['account'] = array(998 => 'newtestuser1', 999 => 'newtestuser2', 1000 => 'newtestuser3');
$normalUser['realname'] = array(998 => '新测试用户1', 999 => '新测试用户2', 1000 => '新测试用户3');
$normalUser['visions'] = array(998 => 'rnd', 999 => 'rnd,lite', 1000 => 'lite');
$normalUser['role'] = array(998 => 'qa', 999 => 'dev', 1000 => 'pm');
$normalUser['email'] = array(998 => 'testasd@163.com', 999 => '', 1000 => '11773@qq.com');
$normalUser['password'] = array(998 => 'e10adc3949ba59abbe56e057f20f883e', 999 => 'e10adc3949ba59abbe56e057f20f883e', 1000 => 'e10adc3949ba59abbe56e057f20f883e');
r($user->batchEditUserTest($normalUser)) && p('998:account') && e('newtestuser1'); //获取编辑后的第一个用户的account
r($user->batchEditUserTest($normalUser)) && p('1000:realname') && e('新测试用户3'); //获取编辑的最后一个用户的真实姓名
system("./ztest init");
+44
View File
@@ -0,0 +1,44 @@
#!/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->checkPasswordTest();
cid=1
pid=1
密码较弱的情况 >> 您的密码强度小于系统设定。
Visions为空的情况 >> 『版本类型』不能为空。
用户名为空的情况 >> 『用户名』不能为空。
用户名特殊的情况 >> 『用户名』只能是字母、数字或下划线的组合三位以上。
两次密码不相同的情况 >> 两次密码应该相同。
插入重复的用户名,返回报错信息 >> 『用户名』已经有『admin』这条记录了。如果您确定该记录已删除,请到后台-系统-数据-回收站还原。
正常插入用户,返回新插入的ID、真实姓名 >> 1001,新的测试用户
正常插入用户,返回新插入的真实姓名 >> 新的测试用户
*/
$user = new userTest();
$normalUser = array();
$normalUser['password1'] = 'Adsd@#!%qaz';
$normalUser['password2'] = 'Adsd@#!%qaz';
$normalUser['passwordStrength'] = 1;
$weakPassword = $normalUser;
$weakPassword['passwordStrength'] = '0';
$differentPassword = $normalUser;
$differentPassword['password2'] = '!@#!@#asfasf';
$simplePassword = $normalUser;
$simplePassword['password1'] = '123456';
$simplePassword['password2'] = '123456';
r($user->checkPasswordTest($normalUser)) && p('password') && e('无报错'); //正常的用户密码
r($user->checkPasswordTest($differentPassword)) && p('password:0') && e('两次密码应该相同。'); //两次密码不相同的情况
r($user->checkPasswordTest($weakPassword)) && p('password1:0') && e('您的密码强度小于系统设定。'); //密码强度小于系统设定
r($user->checkPasswordTest($simplePassword)) && p('password1:0') && e('密码不能使用【123456,password,12345,12345678,qwerty,123456789,1234,1234567,abc123,111111,123123】这些常用弱口令。'); //使用常见简单密码,给出错误提示
system("./ztest init");
+1 -1
View File
@@ -6,7 +6,7 @@ su('admin');
/**
title=userModel->createTest();
title=userModel->createUserTest();
cid=1
pid=1
+18
View File
@@ -0,0 +1,18 @@
#!/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->identifyTest();
cid=1
pid=1
*/
$user = new userTest();
$user->identifyTest('admin', '78302615c8b79cac8df6d2607f8a83ee');
system("./ztest init");
+45
View File
@@ -0,0 +1,45 @@
#!/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->resetPasswordTest();
cid=1
pid=1
密码较弱的情况 >> 您的密码强度小于系统设定。
Visions为空的情况 >> 『版本类型』不能为空。
用户名为空的情况 >> 『用户名』不能为空。
用户名特殊的情况 >> 『用户名』只能是字母、数字或下划线的组合三位以上。
两次密码不相同的情况 >> 两次密码应该相同。
插入重复的用户名,返回报错信息 >> 『用户名』已经有『admin』这条记录了。如果您确定该记录已删除,请到后台-系统-数据-回收站还原。
正常插入用户,返回新插入的ID、真实姓名 >> 1001,新的测试用户
正常插入用户,返回新插入的真实姓名 >> 新的测试用户
*/
$user = new userTest();
$normalUser = array();
$normalUser['account'] = 'admin';
$normalUser['password1'] = 'Adsd@#!%qaz';
$normalUser['password2'] = 'Adsd@#!%qaz';
$normalUser['passwordStrength'] = 1;
$weakPassword = $normalUser;
$weakPassword['passwordStrength'] = 0;
$differentPassword = $normalUser;
$differentPassword['password2'] = '!@#!@#asfasf';
$simplePassword = $normalUser;
$simplePassword['password1'] = '123456';
$simplePassword['password2'] = '123456';
r($user->resetPasswordTest($normalUser)) && p('password') && e('367ef140036b0feb2f90d70d33255eea'); //重设用户密码,返回重设后的加密后的密码
r($user->resetPasswordTest($differentPassword)) && p('password:0') && e('两次密码应该相同。'); //两次密码不相同的情况
r($user->resetPasswordTest($weakPassword)) && p('password1:0') && e('您的密码强度小于系统设定。'); //密码强度小于系统设定
r($user->resetPasswordTest($simplePassword)) && p('password1:0') && e('密码不能使用【123456,password,12345,12345678,qwerty,123456789,1234,1234567,abc123,111111,123123】这些常用弱口令。'); //使用常见简单密码,给出错误提示
system("./ztest init");
+47
View File
@@ -0,0 +1,47 @@
#!/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->updateUserTest();
cid=1
pid=1
密码较弱的情况 >> 您的密码强度小于系统设定。
Visions为空的情况 >> 『版本类型』不能为空。
用户名为空的情况 >> 『用户名』不能为空。
用户名特殊的情况 >> 『用户名』只能是字母、数字或下划线的组合三位以上。
两次密码不相同的情况 >> 两次密码应该相同。
插入重复的用户名,返回报错信息 >> 『用户名』已经有『admin』这条记录了。如果您确定该记录已删除,请到后台-系统-数据-回收站还原。
正常插入用户,返回新插入的ID、真实姓名 >> 1001,新的测试用户
正常插入用户,返回新插入的真实姓名 >> 新的测试用户
*/
$user = new userTest();
$normalUser = array();
$normalUser['account'] = 'newtestuser4';
$normalUser['realname'] = '新的测试用户';
$normalUser['password1'] = 'e10adc3949ba59abbe56e057f20f883e';
$normalUser['password2'] = 'e10adc3949ba59abbe56e057f20f883e';
$normalUser['type'] = 'inside';
$normalUser['passwordStrength'] = 1;
$normalUser['visions'] = 'rnd';
$existUser = $normalUser;
$existUser['account'] = 'adminasdasd';
$differentPassword = $normalUser;
$differentPassword['password2'] = 'asfjsdklj1234jkljsdklfj19';
$specialUser = $normalUser;
$specialUser['account'] = '!@#Asdsd中文';
r($user->updateUserTest(1000, $normalUser)) && p('account') && e('newtestuser4'); //编辑用户,返回新的用户名
r($user->updateUserTest(1000, $existUser)) && p('account:0') && e('『用户名』已经有『newtestuser4』这条记录了。如果您确定该记录已删除,请到后台-系统-数据-回收站还原。');//编辑用户,有重名用户的情况
r($user->updateUserTest(1000, $differentPassword)) && p('password:0') && e('两次密码应该相同。'); //两次密码不相同的情况
r($user->updateUserTest(1000, $specialUser)) && p('account:0') && e('『用户名』只能是字母、数字或下划线的组合三位以上。'); //用户名包含特殊字符的情况
system("./ztest init");
+41
View File
@@ -0,0 +1,41 @@
#!/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->updatePasswordTest();
cid=1
pid=1
密码较弱的情况 >> 您的密码强度小于系统设定。
Visions为空的情况 >> 『版本类型』不能为空。
用户名为空的情况 >> 『用户名』不能为空。
用户名特殊的情况 >> 『用户名』只能是字母、数字或下划线的组合三位以上。
两次密码不相同的情况 >> 两次密码应该相同。
插入重复的用户名,返回报错信息 >> 『用户名』已经有『admin』这条记录了。如果您确定该记录已删除,请到后台-系统-数据-回收站还原。
正常插入用户,返回新插入的ID、真实姓名 >> 1001,新的测试用户
正常插入用户,返回新插入的真实姓名 >> 新的测试用户
*/
$user = new userTest();
$normalUser = array();
$normalUser['originalPassword'] = 'e79f8fb9726857b212401e42e5b7e18b';
$normalUser['password1'] = 'dcf859ce8dd8f998bdfe4ae6c22c329e';
$normalUser['password2'] = 'dcf859ce8dd8f998bdfe4ae6c22c329e';
$normalUser['passwordStrength'] = 1;
$weakPassword = $normalUser;
$weakPassword['passwordStrength'] = 0;
$differentPassword = $normalUser;
$differentPassword['password2'] = 'asdasfasf!@#!@#asfasf';
r($user->updatePasswordTest(1000, $normalUser)) && p('password') && e('dcf859ce8dd8f998bdfe4ae6c22c329e'); //编辑用户密码,返回编辑后的密码
r($user->updatePasswordTest(1000, $differentPassword)) && p('password:0') && e('两次密码应该相同。'); //两次密码不相同的情况
r($user->updatePasswordTest(1000, $weakPassword)) && p('password1:0') && e('您的密码强度小于系统设定。'); //密码小于设定强度的情况
system("./ztest init");