* Add user auto test.
This commit is contained in:
@@ -710,4 +710,163 @@ class userTest
|
||||
if(dao::isError()) return dao::getError();
|
||||
return $members;
|
||||
}
|
||||
|
||||
/**
|
||||
* Test get product members.
|
||||
*
|
||||
* @param string $account
|
||||
* @param bool $force
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
public function grantUserViewTest($account = '', $acls = array(), $projects = '')
|
||||
{
|
||||
$userView = $this->objectModel->grantUserView($account, $acls, $projects);
|
||||
|
||||
if(dao::isError()) return dao::getError();
|
||||
return $userView;
|
||||
}
|
||||
|
||||
/**
|
||||
* Test update program view.
|
||||
*
|
||||
* @param array $programIdList
|
||||
* @param array $users
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
public function updateProgramViewTest($programIdList = array(), $users = array())
|
||||
{
|
||||
$this->objectModel->updateProgramView($programIdList, $users);
|
||||
|
||||
if(dao::isError()) return dao::getError();
|
||||
return $this->objectModel->grantUserView(current($users));
|
||||
}
|
||||
|
||||
/**
|
||||
* Test check program priv.
|
||||
*
|
||||
* @param object $program
|
||||
* @param string $account
|
||||
* @param array $stakeholders
|
||||
* @param array $whiteList
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
public function checkProgramPrivTest($program, $account, $stakeholders, $whiteList)
|
||||
{
|
||||
return $this->objectModel->checkProgramPriv($program, $account, $stakeholders, $whiteList);
|
||||
}
|
||||
|
||||
/**
|
||||
* Test check project priv.
|
||||
*
|
||||
* @param object $project
|
||||
* @param string $account
|
||||
* @param array $stakeholders
|
||||
* @param array $teams
|
||||
* @param array $whiteList
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
public function checkProjectPrivTest($project, $account, $stakeholders, $teams, $whiteList)
|
||||
{
|
||||
return $this->objectModel->checkProjectPriv($project, $account, $stakeholders, $teams, $whiteList);
|
||||
}
|
||||
/**
|
||||
* Test check sprint priv.
|
||||
*
|
||||
* @param object $sprint
|
||||
* @param string $account
|
||||
* @param array $stakeholders
|
||||
* @param array $teams
|
||||
* @param array $whiteList
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
public function checkSprintPrivTest($sprint, $account, $stakeholders, $teams, $whiteList)
|
||||
{
|
||||
return $this->objectModel->checkSprintPriv($sprint, $account, $stakeholders, $teams, $whiteList);
|
||||
}
|
||||
/**
|
||||
* Test check product priv.
|
||||
*
|
||||
* @param object $program
|
||||
* @param string $account
|
||||
* @param array $groups
|
||||
* @param array $teams
|
||||
* @param array $stakeholders
|
||||
* @param array $whiteList
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
public function checkProductPrivTest($product, $account, $groups, $teams, $stakeholders, $whiteList)
|
||||
{
|
||||
return $this->objectModel->checkProductPriv($product, $account, $groups, $teams, $stakeholders, $whiteList);
|
||||
}
|
||||
|
||||
/**
|
||||
* Test get project authed users.
|
||||
*
|
||||
* @param int $projectID
|
||||
* @param array $stakeholders
|
||||
* @param array $teams
|
||||
* @param array $whiteList
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
public function getProjectAuthedUsersTest($projectID, $stakeholders, $teams, $whiteList)
|
||||
{
|
||||
global $tester;
|
||||
$project = $tester->loadModel('project')->getByID($projectID);
|
||||
return $this->objectModel->getProjectAuthedUsers($project, $stakeholders, $teams, $whiteList);
|
||||
}
|
||||
|
||||
/**
|
||||
* Test get program authed users.
|
||||
*
|
||||
* @param int $projectID
|
||||
* @param array $stakeholders
|
||||
* @param array $whiteList
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
public function getProgramAuthedUsersTest($programID, $stakeholders, $whiteList)
|
||||
{
|
||||
global $tester;
|
||||
$program = $tester->loadModel('program')->getByID($programID);
|
||||
return $this->objectModel->getProgramAuthedUsers($program, $stakeholders, $whiteList);
|
||||
}
|
||||
|
||||
/**
|
||||
* Test get product view list users.
|
||||
*
|
||||
* @param int $productID
|
||||
* @param array $teams
|
||||
* @param array $stakeholders
|
||||
* @param array $whiteList
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
public function getProductViewListUsersTest($productID, $teams, $stakeholders, $whiteList)
|
||||
{
|
||||
global $tester;
|
||||
$product = $tester->loadModel('product')->getByID($productID);
|
||||
return $this->objectModel->getProductViewListUsers($product, $teams, $stakeholders, $whiteList);
|
||||
}
|
||||
|
||||
/**
|
||||
* Test get product view list users.
|
||||
*
|
||||
* @param int $productID
|
||||
* @param string $type
|
||||
* @param string $params
|
||||
* @param array $usersToAppended
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
public function getTeamMemberPairsTest($objectID, $type, $params, $usersToAppended)
|
||||
{
|
||||
return $this->objectModel->getTeamMemberPairs($objectID, $type, $params, $usersToAppended);
|
||||
}
|
||||
}
|
||||
|
||||
Executable
+29
@@ -0,0 +1,29 @@
|
||||
#!/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->checkProductPrivTest();
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
*/
|
||||
|
||||
$user = new userTest();
|
||||
$product = new stdclass();
|
||||
$product->id = 1;
|
||||
$product->name = '测试产品';
|
||||
$product->PO = 'test2';
|
||||
$product->openedBy = 'pm1';
|
||||
|
||||
$stakeholders['user10'] = 'user10';
|
||||
$whiteList['user60'] = 'user60';
|
||||
|
||||
r($user->checkProductPrivTest('', 'admin')) && p() && e('1'); //传入admin,判断admin用户是否有权限
|
||||
r($user->checkProductPrivTest($product, 'test3')) && p() && e('0'); //传入产品、用户名,判断test3用户是否对此产品有权限
|
||||
r($user->checkProductPrivTest($product, 'test2')) && p() && e('1'); //传入产品、用户名,判断test2用户是否对此产品有权限
|
||||
r($user->checkProductPrivTest($product, 'user10', array(), array(), $stakeholders)) && p() && e('1'); //传入产品、用户名、干系人、白名单,判断user10用户是否对此产品有权限
|
||||
r($user->checkProductPrivTest($product, 'user60', array(), array(), $stakeholders, array(), $whiteList)) && p() && e('1'); //传入产品、用户名、干系人、白名单,判断user60用户是否对此产品有权限
|
||||
Executable
+29
@@ -0,0 +1,29 @@
|
||||
#!/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->checkProgramPrivTest();
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
*/
|
||||
|
||||
$user = new userTest();
|
||||
$program = new stdclass();
|
||||
$program->id = 1;
|
||||
$program->name = '测试项目集';
|
||||
$program->PM = 'test2';
|
||||
$program->openedBy = 'pm1';
|
||||
|
||||
$stakeholders['user10'] = 'user10';
|
||||
$whiteList['user60'] = 'user60';
|
||||
|
||||
r($user->checkProgramPrivTest('', 'admin')) && p() && e('1'); //传入admin,判断admin用户是否有权限
|
||||
r($user->checkProgramPrivTest($program, 'test3')) && p() && e('0'); //传入项目集、用户名,判断test3用户是否对此项目集有权限
|
||||
r($user->checkProgramPrivTest($program, 'test2')) && p() && e('1'); //传入项目集、用户名,判断test2用户是否对此项目集有权限
|
||||
r($user->checkProgramPrivTest($program, 'user10', $stakeholders, array())) && p() && e('1'); //传入项目集、用户名、干系人、白名单,判断user10用户是否对此项目集有权限
|
||||
r($user->checkProgramPrivTest($program, 'user60', $stakeholders, $whiteList)) && p() && e('1'); //传入项目集、用户名、干系人、白名单,判断user60用户是否对此项目集有权限
|
||||
Executable
+29
@@ -0,0 +1,29 @@
|
||||
#!/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->checkProjectPrivTest();
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
*/
|
||||
|
||||
$user = new userTest();
|
||||
$project = new stdclass();
|
||||
$project->id = 10;
|
||||
$project->name = '测试项目';
|
||||
$project->PM = 'test2';
|
||||
$project->openedBy = 'pm1';
|
||||
|
||||
$stakeholders['user10'] = 'user10';
|
||||
$whiteList['user60'] = 'user60';
|
||||
|
||||
r($user->checkProjectPrivTest('', 'admin')) && p() && e('1'); //传入admin,判断admin用户是否有权限
|
||||
r($user->checkProjectPrivTest($project, 'test3')) && p() && e('0'); //传入项目、用户名,判断test3用户是否对此项目有权限
|
||||
r($user->checkProjectPrivTest($project, 'test2')) && p() && e('1'); //传入项目、用户名,判断test2用户是否对此项目有权限
|
||||
r($user->checkProjectPrivTest($project, 'user10', $stakeholders, array(), array())) && p() && e('1'); //传入项目、用户名、干系人、白名单,判断user10用户是否对此项目有权限
|
||||
r($user->checkProjectPrivTest($project, 'user60', $stakeholders, array(), $whiteList)) && p() && e('1'); //传入项目、用户名、干系人、白名单,判断user60用户是否对此项目有权限
|
||||
Executable
+29
@@ -0,0 +1,29 @@
|
||||
#!/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->checkSprintPrivTest();
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
*/
|
||||
|
||||
$user = new userTest();
|
||||
$sprint = new stdclass();
|
||||
$sprint->id = 1;
|
||||
$sprint->name = '测试项目集';
|
||||
$sprint->PM = 'test2';
|
||||
$sprint->openedBy = 'pm1';
|
||||
|
||||
$stakeholders['user10'] = 'user10';
|
||||
$whiteList['user60'] = 'user60';
|
||||
|
||||
r($user->checkSprintPrivTest('', 'admin')) && p() && e('1'); //传入admin,判断admin用户是否有权限
|
||||
r($user->checkSprintPrivTest($sprint, 'test3')) && p() && e('0'); //传入执行、用户名,判断test3用户是否对此执行有权限
|
||||
r($user->checkSprintPrivTest($sprint, 'test2')) && p() && e('1'); //传入执行、用户名,判断test2用户是否对此执行有权限
|
||||
r($user->checkSprintPrivTest($sprint, 'user10', $stakeholders, array(), array())) && p() && e('1'); //传入执行、用户名、干系人、白名单,判断user10用户是否对此执行有权限
|
||||
r($user->checkSprintPrivTest($sprint, 'user60', $stakeholders, array(), $whiteList)) && p() && e('1'); //传入执行、用户名、干系人、白名单,判断user60用户是否对此执行有权限
|
||||
@@ -19,13 +19,19 @@ pid=1
|
||||
|
||||
$user = new userTest();
|
||||
|
||||
$adminViews = $user->computeUserViewTest('admin', true);
|
||||
$adminProjects = substr($adminViews->projects, 0, 5);
|
||||
$adminViews = $user->computeUserViewTest('admin');
|
||||
$adminPrograms = substr($adminViews->programs, 0, 5);
|
||||
$adminProducts = substr($adminViews->products, 0, 5);
|
||||
|
||||
r($adminProjects) && p() && e(',1,3,'); //获取admin账户可见的前两个项目ID
|
||||
r($adminProducts) && p() && e(',1,2,'); //获取admin账户可见的前两个产品ID
|
||||
r($user->computeUserViewTest('user10')) && p('products') && e('99'); //获取user10账户可见的产品ID
|
||||
r($user->computeUserViewTest('test2')) && p('projects') && e(''); //获取test2账户可见的项目ID
|
||||
r($user->computeUserViewTest(null)) && p('account') && e('admin'); //用户名传null,则获取当前登录账户的views
|
||||
system("./ztest init");
|
||||
$computedAdminViews = $user->computeUserViewTest('admin', true);
|
||||
$computedAdminPrograms = substr($computedAdminViews->programs, 0, 3);
|
||||
$computedAdminProducts = substr($computedAdminViews->products, 0, 5);
|
||||
|
||||
r($adminPrograms) && p() && e(',1,2,'); //获取强制计算前admin账户可见的前两个项目集ID
|
||||
r($adminProducts) && p() && e(',1,2,'); //获取强制计算前admin账户可见的前两个产品ID
|
||||
r($computedAdminPrograms) && p() && e('5,6'); //获取强制计算前admin账户可见的前两个项目集ID
|
||||
r($computedAdminProducts) && p() && e(',11,12,'); //获取强制计算前admin账户可见的前两个产品ID
|
||||
r($user->computeUserViewTest('user10')) && p('products') && e('99'); //获取user10账户可见的产品ID
|
||||
r($user->computeUserViewTest('test2')) && p('projects') && e(',12'); //获取test2账户可见的项目ID
|
||||
r($user->computeUserViewTest(null)) && p('account') && e('admin'); //用户名传null,则获取当前登录账户的views
|
||||
system("./ztest init");
|
||||
|
||||
Executable
+29
@@ -0,0 +1,29 @@
|
||||
#!/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->getProductViewListUsersTest();
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
*/
|
||||
|
||||
$user = new userTest();
|
||||
$stakeholders['test9'] = 'test9';
|
||||
$stakeholders['test10'] = 'test10';
|
||||
|
||||
$teams['pm7'] = 'pm7';
|
||||
$teams['pm8'] = 'pm8';
|
||||
|
||||
$whiteList['user35'] = 'user35';
|
||||
$whiteList['user35'] = 'user35';
|
||||
$whiteList['astaw'] = 'astaw';
|
||||
|
||||
r(count($user->getProductViewListUsersTest(1, $stakeholders, $teams, $whiteList))) && p() && e('11'); //获取对ID为1的产品有权限的用户
|
||||
r($user->getProductViewListUsersTest(1, $stakeholders, $teams, $whiteList)) && p('test9') && e('test9'); //获取对ID为1的产品有权限的用户
|
||||
r($user->getProductViewListUsersTest(1, $stakeholders, $teams, $whiteList)) && p('admin') && e('admin'); //获取对ID为1的产品有权限的用户
|
||||
r($user->getProductViewListUsersTest(2, $stakeholders, $teams, $whiteList)) && p('astaw') && e('astaw'); //获取对ID为2的产品有权限的用户
|
||||
Executable
+26
@@ -0,0 +1,26 @@
|
||||
#!/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->getProgramAuthedUsersTest();
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
*/
|
||||
|
||||
$user = new userTest();
|
||||
$stakeholders['test9'] = 'test9';
|
||||
$stakeholders['test10'] = 'test10';
|
||||
|
||||
$whiteList['user35'] = 'user35';
|
||||
$whiteList['user35'] = 'user35';
|
||||
$whiteList['astaw'] = 'astaw';
|
||||
|
||||
r(count($user->getProgramAuthedUsersTest(1, $stakeholders, $whiteList))) && p() && e('6'); //获取对ID为1的项目集有权限的用户数量
|
||||
r($user->getProgramAuthedUsersTest(1, $stakeholders, $whiteList)) && p('test9') && e('test9'); //获取对ID为1的项目集有权限的用户
|
||||
r($user->getProgramAuthedUsersTest(1, $stakeholders, $whiteList)) && p('admin') && e('admin'); //获取对ID为1的项目集有权限的用户
|
||||
r($user->getProgramAuthedUsersTest(2, $stakeholders, $whiteList)) && p('astaw') && e('astaw'); //获取对ID为2的项目集有权限的用户
|
||||
Executable
+28
@@ -0,0 +1,28 @@
|
||||
#!/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->getProjectAuthedUsersTest();
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
*/
|
||||
|
||||
$user = new userTest();
|
||||
$stakeholders['test9'] = 'test9';
|
||||
$stakeholders['test10'] = 'test10';
|
||||
|
||||
$teams['pm7'] = 'pm7';
|
||||
$teams['pm8'] = 'pm8';
|
||||
|
||||
$whiteList['user35'] = 'user35';
|
||||
$whiteList['user35'] = 'user35';
|
||||
$whiteList['astaw'] = 'astaw';
|
||||
|
||||
r($user->getProjectAuthedUsersTest(1, $stakeholders, $teams, $whiteList)) && p('test9') && e('test9'); //获取对ID为1的产品有权限的用户
|
||||
r($user->getProjectAuthedUsersTest(1, $stakeholders, $teams, $whiteList)) && p('admin') && e('admin'); //获取对ID为1的产品有权限的用户
|
||||
r($user->getProjectAuthedUsersTest(2, $stakeholders, $teams, $whiteList)) && p('astaw') && e('astaw'); //获取对ID为2的产品有权限的用户
|
||||
Executable
+19
@@ -0,0 +1,19 @@
|
||||
#!/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->getTeamMemberPairsTest();
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
*/
|
||||
|
||||
$user = new userTest();
|
||||
|
||||
r(count($user->getTeamMemberPairsTest(11, 'project'))) && p() && e('3'); //获取ID为11的项目的团队成员数量
|
||||
r(count($user->getTeamMemberPairsTest(11, 'project', '', array('test2')))) && p() && e('4'); //获取ID为11的项目的团队成员数量,追加用户test2
|
||||
r($user->getTeamMemberPairsTest(110, 'execution')) && p('test1') && e('T:测试1'); //获取ID为110的执行的团队成员成员
|
||||
Executable
+32
@@ -0,0 +1,32 @@
|
||||
#!/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->grantUserViewTest();
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
*/
|
||||
|
||||
$user = new userTest();
|
||||
|
||||
$adminViews = $user->grantUserViewTest('admin');
|
||||
$test2Views = $user->grantUserViewTest('test2');
|
||||
$user10Views = $user->grantUserViewTest('user10');
|
||||
$nullViews = $user->grantUserViewTest(null);
|
||||
|
||||
$adminProjects = substr($adminViews->projects, 0, 5);
|
||||
$adminProducts = substr($adminViews->products, 0, 5);
|
||||
$test2Projects = substr($test2Views->projects, 0, 5);
|
||||
$user10Projects = substr($user10Views->projects, 0, 5);
|
||||
|
||||
r($adminProjects) && p() && e('12,13'); //获取admin账户可见的前两个项目的ID
|
||||
r($adminProducts) && p() && e('11,12'); //获取admin账户可见的前两个产品的ID
|
||||
r($test2Projects) && p() && e('12,11'); //获取test2账户可见的前两个项目的ID
|
||||
r($user10Projects) && p() && e('19,11'); //获取user10账户可见的前两个项目的ID
|
||||
r($nullViews) && p() && e(''); //获取null账户可见的项目、产品等
|
||||
system("./ztest init");
|
||||
Executable
+23
@@ -0,0 +1,23 @@
|
||||
#!/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->updateProgramViewTest();
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
*/
|
||||
|
||||
$user = new userTest();
|
||||
|
||||
$programIdList = array('1', '2');
|
||||
a($user->grantUserViewTest('user10'));
|
||||
a($user->updateProgramViewTest('', array('user10')));
|
||||
die;
|
||||
|
||||
r() && p() && e(''); //
|
||||
system("./ztest init");
|
||||
Reference in New Issue
Block a user