* Adjust authorize unit test script.

This commit is contained in:
wangyuting
2023-12-20 19:28:53 +08:00
parent 44067a24b9
commit 6360168976
7 changed files with 45 additions and 45 deletions
+1 -1
View File
@@ -2039,7 +2039,7 @@ class userModel extends model
if(empty($acls) && !empty($this->session->user->rights['acls'])) $acls = $this->session->user->rights['acls'];
if(empty($projects) && !empty($this->session->user->rights['projects'])) $projects = $this->session->user->rights['projects'];
$userView = $this->computeUserView($account);
$userView = $this->computeUserView($account, true);
/* Get opened projects, programs, products and set it to userview. */
$openedPrograms = $this->dao->select('id')->from(TABLE_PROJECT)->where('acl')->eq('open')->andWhere('type')->eq('program')->fetchAll('id');
+21 -19
View File
@@ -5,11 +5,10 @@ include dirname(__FILE__, 2) . '/user.class.php';
su('admin');
$user = zdTable('user');
$user->gen(20);
$userGroup = zdTable('usergroup');
$userGroup->gen(100);
zdTable('user')->gen(20);
zdTable('group')->config('group')->gen(100);
zdTable('usergroup')->config('usergroup')->gen(100);
zdTable('grouppriv')->config('grouppriv')->gen(100);
/**
@@ -17,22 +16,25 @@ title=测试 userModel->authorize();
cid=1
pid=1
获取用户的权限,返回权限列表,是否有产品首页权限 >> 1
获取游客的权限,返回权限列表,是否有任务详情的权限 >> 1
获取不存在的用户的可访问项目,返回空 >> 0
获取空的用户的权限,返回空 >> 0
- 获取user2用户的访问权限。
- 第rights[index]条的index属性 @1
- 第rights[module3]条的method3属性 @1
- 获取user2用户的可访问项目集、项目、产品。
- 第acls[programs]条的0属性 @1
- 第acls[programs]条的1属性 @6
- 获取user2用户的可访问项目集、项目、产品。第acls[projects]条的0属性 @15
- 获取user2用户的可访问项目集、项目、产品。第acls[products]条的0属性 @20
- 获取user2用户的可访问视图。
- 第acls[views]条的program属性 @program
- 第acls[views]条的product属性 @product
- 第acls[views]条的project属性 @project
*/
$user = new userTest();
$normalUser = $user->authorizeTest('test10');
r($normalUser['rights']) && p('product:index') && e('1'); //获取用户的权限,返回权限列表,是否有产品首页权限
//
$guest = $user->authorizeTest('guest');
r($guest['rights']) && p('task:view') && e('1'); //获取游客的权限,返回权限列表,是否有任务详情的权限
$notExistsUser = $user->authorizeTest('sadf!!@#a');
r($notExistsUser['projects']) && p('') && e('0'); //获取不存在的用户的可访问项目,返回空
r($user->authorizeTest('')) && p('') && e('0'); //获取空的用户的权限,返回空
r($user->authorizeTest('user2')) && p('rights[index]:index;rights[module3]:method3') && e('1,1'); // 获取user2用户的访问权限。
r($user->authorizeTest('user2')) && p('acls[programs]:0,1') && e('1,6'); // 获取user2用户的可访问项目集、项目、产品。
r($user->authorizeTest('user2')) && p('acls[projects]:0') && e('15'); // 获取user2用户的可访问项目集、项目、产品。
r($user->authorizeTest('user2')) && p('acls[products]:0') && e('20'); // 获取user2用户的可访问项目集、项目、产品。
r($user->authorizeTest('user2')) && p('acls[views]:program,product,project') && e('program,product,project'); // 获取user2用户的可访问视图。
+5 -5
View File
@@ -25,7 +25,7 @@ include dirname(__FILE__, 2) . '/user.class.php';
dao::$cache = array();
zdTable('user')->gen(10);
zdTable('userview')->gen(10);
zdTable('userview')->config('userview')->gen(10);
zdTable('team')->config('team')->gen(200);
zdTable('acl')->config('acl')->gen(100);
zdTable('stakeholder')->config('stakeholder')->gen(100);
@@ -37,10 +37,10 @@ zdTable('project')->config('execution')->gen(20, false);
zdTable('projectadmin')->config('projectadmin')->gen(30);
$user = new userTest();
r($user->computeUserViewTest('test1', false)) && p('programs', '-') && e(',1'); //计算并获取test1账户的可查看项目集列表。
r($user->computeUserViewTest('test1', false)) && p('products', '-') && e(',1'); //计算并获取test1账户的可查看产品列表。
r($user->computeUserViewTest('test1', false)) && p('projects', '-') && e(',11'); //计算并获取test1账户的可查看项目列表。
r($user->computeUserViewTest('test1', false)) && p('sprints', '-') && e(',101'); //计算并获取test1账户的可查看执行列表。
r($user->computeUserViewTest('test1', false)) && p('programs', '-') && e(',3'); //计算并获取test1账户的可查看项目集列表。
r($user->computeUserViewTest('test1', false)) && p('products', '-') && e(',3'); //计算并获取test1账户的可查看产品列表。
r($user->computeUserViewTest('test1', false)) && p('projects', '-') && e(',13'); //计算并获取test1账户的可查看项目列表。
r($user->computeUserViewTest('test1', false)) && p('sprints', '-') && e(',103'); //计算并获取test1账户的可查看执行列表。
r($user->computeUserViewTest('admin', true)) && p('programs', '-') && e('2,3,5,6,8,9'); //计算并获取admin账户的可查看项目集列表。
r($user->computeUserViewTest('admin', true)) && p('products', '-') && e('11,12,13,14,15,16,17,18,19,20'); //计算并获取admin账户的可查看产品列表。
r($user->computeUserViewTest('admin', true)) && p('projects', '-') && e('11,12,14,15,17,18,20'); //计算并获取admin账户的可查看项目列表。
+12 -11
View File
@@ -18,11 +18,12 @@ pid=1
*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/user.class.php';
su('admin');
dao::$cache = array();
zdTable('user')->gen(20);
zdTable('usergroup')->gen(100);
zdTable('user')->gen(10);
zdTable('group')->config('group')->gen(100);
zdTable('usergroup')->config('usergroup')->gen(100);
zdTable('grouppriv')->config('grouppriv')->gen(100);
zdTable('userview')->config('userview')->gen(10);
zdTable('team')->config('team')->gen(200);
zdTable('acl')->config('acl')->gen(100);
@@ -35,11 +36,11 @@ zdTable('project')->config('execution')->gen(20, false);
zdTable('projectadmin')->config('projectadmin')->gen(30);
$user = new userTest();
r($user->grantUserViewTest('admin')) && p('programs', '-') && e('1,1,4,7,10'); //获取admin账户最终可见的项目集列表
r($user->grantUserViewTest('admin')) && p('products', '-') && e('1,1,2,3,4,5,6,7,8,9,10'); //获取admin账户最终可见的产品列表
r($user->grantUserViewTest('admin')) && p('projects', '-') && e('11,13,16,19'); //获取admin账户最终可见的项目列表
r($user->grantUserViewTest('admin')) && p('sprints' , '-') && e('101,101,103,109'); //获取admin账户最终可见的迭代列表
r($user->grantUserViewTest('user2')) && p('programs', '-') && e('4,1,4,7,10'); //获取user2账户最终可见的项目集列表
r($user->grantUserViewTest('user2')) && p('products', '-') && e('4,1,2,3,4,5,6,7,8,9,10'); //获取user2账户最终可见的产品列表
r($user->grantUserViewTest('user2')) && p('projects', '-') && e('14,13,16,19'); //获取user2账户最终可见的项目列表
r($user->grantUserViewTest('user2')) && p('sprints' , '-') && e('104,103,104,109'); //获取user2账户最终可见的迭代列表
r($user->grantUserViewTest('admin')) && p('programs', '-') && e('2,3,5,6,8,9,1,4,7,10'); //获取admin账户最终可见的项目集列表
r($user->grantUserViewTest('admin')) && p('products', '-') && e('11,12,13,14,15,16,17,18,19,20,1,2,3,4,5,6,7,8,9,10'); //获取admin账户最终可见的产品列表
r($user->grantUserViewTest('admin')) && p('projects', '-') && e('11,12,14,15,17,18,20,13,16,19'); //获取admin账户最终可见的项目列表
r($user->grantUserViewTest('admin')) && p('sprints' , '-') && e('105,106,107,108,113,114,115,116,101,102,103,104,109,110'); //获取admin账户最终可见的迭代列表
r($user->grantUserViewTest('user2')) && p('programs', '-') && e('2,3,8,9,1,4,7,10'); //获取user2账户最终可见的项目集列表
r($user->grantUserViewTest('user2')) && p('products', '-') && e('12,13,17,18,1,2,3,4,5,6,7,8,9,10'); //获取user2账户最终可见的产品列表
r($user->grantUserViewTest('user2')) && p('projects', '-') && e('12,14,17,18,13,16,19'); //获取user2账户最终可见的项目列表
r($user->grantUserViewTest('user2')) && p('sprints' , '-') && e('107,108,113,114,102,103,104,109'); //获取user2账户最终可见的迭代列表
+2 -2
View File
@@ -26,7 +26,7 @@ fields:
format: ""
- field: project
note: "所属项目"
range: "0"
range: "0{100}, 1-100"
- field: desc
note: "分组描述"
range: "1-10000"
@@ -36,7 +36,7 @@ fields:
format: ""
- field: acl
note: "权限"
range: "0"
range: '`{"views":{"program":"program","product":"product","project":"project"},"programs":{"0":"1","1":"6"},"products":{"0":"20"},"projects":{"0":"15"}}`'
prefix: ""
postfix: ""
loop: 0
+3 -6
View File
@@ -7,12 +7,9 @@ fields:
note: "用户名"
fields:
- field: account1
range: test{99},dev{100},pm,po{54},td{100},pd{47},qd{7},top{100},outside{92}
range: admin,user{5},test{10000}
- field: account2
range: 2-100,1-100,1,48-100,1-100,1-47,94-100,1-100,2-93
range: '[],1-5,1-10000'
- field: group
note: "分组名称"
range: 3{100},2{200},4{10},5{10},6{2},7{2},8{2},9{5},1{8},12{10}
- field: project
note: "项目ID"
range:
range: 1-10000
+1 -1
View File
@@ -7,7 +7,7 @@ fields:
note: "用户名"
fields:
- field: account1
range: admin,guest,user{100},test{100},dev{100},td{100},top{100}
range: admin,guest,test{100}
- field: account2
range: "[],[],1-100,1-100,1-100,1-100"
- field: programs