znt/module/user/test/model/checkproductpriv.php

105 lines
5.2 KiB
PHP
Raw Permalink Normal View History

#!/usr/bin/env php
<?php
/**
title=测试 userModel::checkProductPriv();
timeout=0
cid=19589
- 步骤1系统管理员权限检查 @1
- 步骤2产品审批人权限检查 @1
- 步骤3产品PMT权限检查 @1
- 步骤4普通用户访问开放产品 @1
- 步骤5产品PO权限检查 @1
- 步骤6产品QD权限检查 @1
- 步骤7产品RD权限检查 @1
- 步骤8产品创建者权限检查 @1
- 步骤9产品反馈负责人权限检查 @1
- 步骤10产品工单负责人权限检查 @1
- 步骤11产品干系人权限检查 @1
- 步骤12产品团队成员权限检查 @1
- 步骤13产品白名单用户权限检查 @1
- 步骤14产品管理员权限检查 @1
- 步骤15普通用户访问私有产品 @0
*/
// 1. 导入依赖(路径固定,不可修改)
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/lib/model.class.php';
// 2. zendata数据准备
$table = zenData('product');
$table->id->range('1-5');
$table->name->range('产品1,产品2,产品3,产品4,产品5');
$table->code->range('product1,product2,product3,product4,product5');
$table->PO->range('po1,po2,po3,po4,po5');
$table->QD->range('qd1,qd2,qd3,qd4,qd5');
$table->RD->range('rd1,rd2,rd3,rd4,rd5');
$table->acl->range('open,private,custom,open,private');
$table->reviewer->range('reviewer1,reviewer2,,reviewer4,');
$table->PMT->range('pmt1,pmt2,,pmt4,');
$table->feedback->range('feedback1,feedback2,,feedback4,');
$table->ticket->range('ticket1,ticket2,,ticket4,');
$table->createdBy->range('creator1,creator2,creator3,creator4,creator5');
$table->gen(5);
$companyTable = zenData('company');
$companyTable->admins->range('admin1,admin2');
$companyTable->gen(1);
// 3. 用户登录
su('admin');
// 4. 创建测试实例
$userTest = new userModelTest();
// 5. 执行测试必须包含至少5个测试步骤
// 创建测试数据对象
$product1 = new stdClass();
$product1->id = 1;
$product1->name = '产品1';
$product1->acl = 'open';
$product1->PO = 'po1';
$product1->QD = 'qd1';
$product1->RD = 'rd1';
$product1->reviewer = 'reviewer1';
$product1->PMT = 'pmt1';
$product1->feedback = 'feedback1';
$product1->ticket = 'ticket1';
$product1->createdBy = 'creator1';
$product2 = new stdClass();
$product2->id = 2;
$product2->name = '产品2';
$product2->acl = 'private';
$product2->PO = 'po2';
$product2->QD = 'qd2';
$product2->RD = 'rd2';
$product2->reviewer = 'reviewer2';
$product2->PMT = 'pmt2';
$product2->feedback = 'feedback2';
$product2->ticket = 'ticket2';
$product2->createdBy = 'creator2';
$teams = array('team1' => 'team1', 'team2' => 'team2');
$stakeholders = array('stakeholder1' => 'stakeholder1', 'stakeholder2' => 'stakeholder2');
$whiteList = array('whitelist1' => 'whitelist1', 'whitelist2' => 'whitelist2');
$admins = array('productadmin1' => 'productadmin1', 'productadmin2' => 'productadmin2');
r($userTest->checkProductPrivTest($product1, 'admin1', $teams, $stakeholders, $whiteList, $admins)) && p() && e('1'); // 步骤1系统管理员权限检查
r($userTest->checkProductPrivTest($product1, 'reviewer1', $teams, $stakeholders, $whiteList, $admins)) && p() && e('1'); // 步骤2产品审批人权限检查
r($userTest->checkProductPrivTest($product1, 'pmt1', $teams, $stakeholders, $whiteList, $admins)) && p() && e('1'); // 步骤3产品PMT权限检查
r($userTest->checkProductPrivTest($product1, 'normaluser', $teams, $stakeholders, $whiteList, $admins)) && p() && e('1'); // 步骤4普通用户访问开放产品
r($userTest->checkProductPrivTest($product1, 'po1', $teams, $stakeholders, $whiteList, $admins)) && p() && e('1'); // 步骤5产品PO权限检查
r($userTest->checkProductPrivTest($product1, 'qd1', $teams, $stakeholders, $whiteList, $admins)) && p() && e('1'); // 步骤6产品QD权限检查
r($userTest->checkProductPrivTest($product1, 'rd1', $teams, $stakeholders, $whiteList, $admins)) && p() && e('1'); // 步骤7产品RD权限检查
r($userTest->checkProductPrivTest($product1, 'creator1', $teams, $stakeholders, $whiteList, $admins)) && p() && e('1'); // 步骤8产品创建者权限检查
r($userTest->checkProductPrivTest($product1, 'feedback1', $teams, $stakeholders, $whiteList, $admins)) && p() && e('1'); // 步骤9产品反馈负责人权限检查
r($userTest->checkProductPrivTest($product1, 'ticket1', $teams, $stakeholders, $whiteList, $admins)) && p() && e('1'); // 步骤10产品工单负责人权限检查
r($userTest->checkProductPrivTest($product2, 'stakeholder1', $teams, $stakeholders, $whiteList, $admins)) && p() && e('1'); // 步骤11产品干系人权限检查
r($userTest->checkProductPrivTest($product2, 'team1', $teams, $stakeholders, $whiteList, $admins)) && p() && e('1'); // 步骤12产品团队成员权限检查
r($userTest->checkProductPrivTest($product2, 'whitelist1', $teams, $stakeholders, $whiteList, $admins)) && p() && e('1'); // 步骤13产品白名单用户权限检查
r($userTest->checkProductPrivTest($product2, 'productadmin1', $teams, $stakeholders, $whiteList, $admins)) && p() && e('1'); // 步骤14产品管理员权限检查
r($userTest->checkProductPrivTest($product2, 'normaluser', $teams, $stakeholders, $whiteList, $admins)) && p() && e('0'); // 步骤15普通用户访问私有产品