![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/dev/tests/integration/testsuite/Magento/Authorization/Model/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Authorization\Model; /** * @magentoAppArea adminhtml */ class RulesTest extends \PHPUnit\Framework\TestCase { /** * @var \Magento\Authorization\Model\Rules */ protected $_model; /** * @var \Magento\User\Model\User */ protected $user; protected function setUp(): void { $this->_model = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create( \Magento\Authorization\Model\Rules::class ); $this->user = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create( \Magento\User\Model\User::class ); } /** * @magentoDbIsolation enabled */ public function testCRUD() { $this->_model ->setRoleType('G') ->setResourceId('Magento_Backend::all') ->setPrivileges("") ->setAssertId(0) ->setRoleId(1) ->setPermission('allow'); $crud = new \Magento\TestFramework\Entity($this->_model, ['permission' => 'deny']); $crud->testCrud(); } /** * @magentoDbIsolation enabled */ public function testInitialUserPermissions() { $expectedDefaultPermissions = ['Magento_Backend::all']; $this->_checkExistingPermissions($expectedDefaultPermissions); } /** * @covers \Magento\Authorization\Model\Rules::saveRel * @magentoDbIsolation enabled */ public function testSetAllowForAllResources() { $resources = ['Magento_Backend::all']; $this->user->loadByUsername(\Magento\TestFramework\Bootstrap::ADMIN_NAME); $roleId = $this->user->getRole()->getRoleId(); $this->_model->setRoleId($roleId)->setResources($resources)->saveRel(); $expectedPermissions = ['Magento_Backend::all']; $this->_checkExistingPermissions($expectedPermissions); } /** * Ensure that only expected permissions are set. */ protected function _checkExistingPermissions($expectedDefaultPermissions) { $connection = $this->_model->getResource()->getConnection(); $this->user->loadByUsername(\Magento\TestFramework\Bootstrap::ADMIN_NAME); $roleId = $this->user->getRole()->getRoleId(); $ruleSelect = $connection->select() ->from($this->_model->getResource()->getMainTable()) ->where('role_id = ?', $roleId); $rules = $ruleSelect->query()->fetchAll(); $actualPermissions = []; foreach ($rules as $rule) { $actualPermissions[] = $rule['resource_id']; $this->assertEquals( 'allow', $rule['permission'], "Permission for '{$rule['resource_id']}' resource should be 'allow'" ); } $this->assertEquals($expectedDefaultPermissions, $actualPermissions, 'Default permissions are invalid'); } }