Files
phalapi-pro/tests/base/Domain/Rights_Test.php
2022-03-21 11:16:38 +08:00

211 lines
5.4 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?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);
}
}