This commit is contained in:
2022-03-21 11:16:38 +08:00
commit e89e807c64
1040 changed files with 284164 additions and 0 deletions

View File

@@ -0,0 +1,210 @@
<?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);
}
}