Template
211 lines
5.4 KiB
PHP
211 lines
5.4 KiB
PHP
<?php
|
|
/**
|
|
* PhalApi_Base\Domain\Rights_Test
|
|
*
|
|
* 针对 ../src/app/Domain/Rights.php Base\Domain\Rights 类的PHPUnit单元测试
|
|
*
|
|
* @author: dogstar 20200408
|
|
*/
|
|
|
|
namespace tests\Base\Domain;
|
|
use Base\Domain\Rights;
|
|
|
|
class PhpUnderControl_AppDomainRights_Test extends \PHPUnit\Framework\TestCase
|
|
{
|
|
public $appDomainRights;
|
|
|
|
protected function setUp()
|
|
{
|
|
parent::setUp();
|
|
|
|
$this->appDomainRights = new \Base\Domain\Rights();
|
|
}
|
|
|
|
protected function tearDown()
|
|
{
|
|
// 输出本次单元测试所执行的SQL语句
|
|
// var_dump(\PhalApi\DI()->tracer->getSqls());
|
|
|
|
// 输出本次单元测试所涉及的追踪埋点
|
|
// var_dump(\PhalApi\DI()->tracer->getStack());
|
|
}
|
|
|
|
|
|
/**
|
|
* @group testCheckAppRights
|
|
*/
|
|
public function testCheckAppRights()
|
|
{
|
|
$appKey = 'xxxx';
|
|
$service = 'App.HH.YY';
|
|
|
|
$rs = $this->appDomainRights->checkAppRights($appKey, $service);
|
|
|
|
$this->assertTrue($rs);
|
|
}
|
|
|
|
// 整个流程的测试,从创建开发者账号、创建应用,到分配接口权限,检测权限,步步为营
|
|
public function testCheckAppRightsAllInOne()
|
|
{
|
|
$appKey = 'rights_app_key';
|
|
$service = 'App.AAA.BBBRights';
|
|
|
|
// 往回走,最终是true,测试配置
|
|
$rs = $this->appDomainRights->checkAppRights($appKey, $service);
|
|
$this->assertTrue($rs);
|
|
|
|
// 账号
|
|
$userDomain = new \Base\Domain\User();
|
|
$uid = $userDomain->register('rights_user', '123456', '', '', '', 0, '', 100);
|
|
// 应用
|
|
$appDomain = new \Base\Domain\Apps();
|
|
$appDomain->addApp('test', $appKey, 'hjkghjhj', 0, $uid, '', 1);
|
|
|
|
// 账号类型权限-开
|
|
$this->appDomainRights->assignRightsForDevTypeOrNot($service, 100);
|
|
$rs = $this->appDomainRights->checkAppRights($appKey, $service);
|
|
$this->assertTrue($rs);
|
|
// 账号类型权限-关
|
|
$this->appDomainRights->assignRightsForDevTypeOrNot($service, 100);
|
|
$rs = $this->appDomainRights->checkAppRights($appKey, $service);
|
|
$this->assertFalse($rs);
|
|
|
|
// 开发者账号权限-开
|
|
$this->appDomainRights->createNewRightsRule($service, 0, $uid, '', true);
|
|
$rs = $this->appDomainRights->checkAppRights($appKey, $service);
|
|
$this->assertTrue($rs);
|
|
// 开发者-关
|
|
|
|
// 最后,app_key-关
|
|
$this->appDomainRights->createNewRightsRule($service, 0, 0, $appKey, false);
|
|
$rs = $this->appDomainRights->checkAppRights($appKey, $service);
|
|
$this->assertFalse($rs);
|
|
}
|
|
|
|
/**
|
|
* @group testAssignRights
|
|
*/
|
|
//public function testAssignRights()
|
|
//{
|
|
// $appKey = '';
|
|
// $service = '';
|
|
|
|
// $rs = $this->appDomainRights->assignRights($appKey, $service);
|
|
//}
|
|
|
|
///**
|
|
// * @group testRemoveRights
|
|
// */
|
|
//public function testRemoveRights()
|
|
//{
|
|
// $appKey = '';
|
|
// $service = '';
|
|
// $adminUid = null;
|
|
|
|
// $rs = $this->appDomainRights->removeRights($appKey, $service, $adminUid);
|
|
//}
|
|
|
|
/**
|
|
* @group testGetRightsForApp
|
|
*/
|
|
//public function testGetRightsForApp()
|
|
//{
|
|
// $appKey = 'xxxx';
|
|
|
|
// $rs = $this->appDomainRights->getRightsForApp($appKey);
|
|
//}
|
|
|
|
/**
|
|
* @group testListAllRightsForDeveloperType
|
|
*/
|
|
public function testListAllRightsForDeveloperType()
|
|
{
|
|
$rs = $this->appDomainRights->listAllRightsForDeveloperType();
|
|
|
|
$this->assertNotEmpty($rs['items']);
|
|
$this->assertNotEmpty($rs['dev_types']);
|
|
}
|
|
|
|
/**
|
|
* @group testGetRightsForDevApp
|
|
*/
|
|
public function testGetRightsForDevApp()
|
|
{
|
|
$uid = '1';
|
|
$appKey = 'xxx';
|
|
|
|
$rs = $this->appDomainRights->getRightsForDevApp($uid, $appKey);
|
|
|
|
$this->assertTrue(is_array($rs));
|
|
}
|
|
|
|
/**
|
|
* @group testAssignRightsForDevTypeOrNot
|
|
*/
|
|
public function testAssignRightsForDevTypeOrNot()
|
|
{
|
|
$rightsService = 'App.KK.LL';
|
|
$memberType = 100;
|
|
|
|
$rs = $this->appDomainRights->assignRightsForDevTypeOrNot($rightsService, $memberType);
|
|
|
|
$this->assertTrue(true);
|
|
}
|
|
|
|
/**
|
|
* @group testSearchRightsList
|
|
*/
|
|
public function testSearchRightsList()
|
|
{
|
|
$rightsService = 'App';
|
|
$memberType = 100;
|
|
$userId = 1;
|
|
$appKey = 'abc';
|
|
$page = 1;
|
|
$perpage = 5;
|
|
|
|
$rs = $this->appDomainRights->searchRightsList($rightsService, $memberType, $userId, $appKey, $page, $perpage);
|
|
|
|
$this->assertNotEmpty($rs['dev_types']);
|
|
}
|
|
|
|
/**
|
|
* @group testAssignRightsOrNot
|
|
*/
|
|
public function testAssignRightsOrNot()
|
|
{
|
|
$id = '1';
|
|
|
|
$rs = $this->appDomainRights->assignRightsOrNot($id);
|
|
|
|
$this->assertTrue(true);
|
|
}
|
|
|
|
/**
|
|
* @group testDelelteRightsRule
|
|
*/
|
|
public function testDelelteRightsRule()
|
|
{
|
|
$id = '9999';
|
|
|
|
$rs = $this->appDomainRights->delelteRightsRule($id);
|
|
|
|
$this->assertTrue(true);
|
|
}
|
|
|
|
/**
|
|
* @group testCreateNewRightsRule
|
|
*/
|
|
public function testCreateNewRightsRule()
|
|
{
|
|
$rightsService = 'App.xxxxx.yyyyyy';
|
|
$memberType = 100;
|
|
$userId = 0;
|
|
$appKey = '';
|
|
$isAllow = true;
|
|
|
|
$rs = $this->appDomainRights->createNewRightsRule($rightsService, $memberType, $userId, $appKey, $isAllow);
|
|
}
|
|
|
|
}
|