1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-04-12 20:02:08 +02:00

[ticket/13779] Add permission set tests

PHPBB3-13779
This commit is contained in:
rxu 2015-06-06 14:54:56 +07:00
parent 2308472eb0
commit c221571963
2 changed files with 196 additions and 0 deletions

View File

@ -27,5 +27,139 @@
<value>1</value>
<value>0</value>
</row>
<row>
<value>4</value>
<value>a_test</value>
<value>1</value>
<value>0</value>
<value>0</value>
</row>
<row>
<value>5</value>
<value>m_test</value>
<value>1</value>
<value>0</value>
<value>0</value>
</row>
<row>
<value>6</value>
<value>u_test</value>
<value>1</value>
<value>0</value>
<value>0</value>
</row>
</table>
<table name="phpbb_groups">
<column>group_id</column>
<column>group_name</column>
<column>group_desc</column>
<row>
<value>2</value>
<value>REGISTERED</value>
<value></value>
</row>
<row>
<value>4</value>
<value>GLOBAL_MODERATORS</value>
<value></value>
</row>
<row>
<value>5</value>
<value>ADMINISTRATORS</value>
<value></value>
</row>
</table>
<table name="phpbb_acl_groups">
<column>group_id</column>
<column>auth_role_id</column>
<column>forum_id</column>
<row>
<value>2</value>
<value>5</value>
<value>0</value>
</row>
<row>
<value>4</value>
<value>5</value>
<value>0</value>
</row>
<row>
<value>4</value>
<value>10</value>
<value>0</value>
</row>
<row>
<value>5</value>
<value>1</value>
<value>0</value>
</row>
<row>
<value>5</value>
<value>5</value>
<value>0</value>
</row>
</table>
<table name="phpbb_acl_roles">
<column>role_id</column>
<column>role_name</column>
<column>role_type</column>
<column>role_description</column>
<row>
<value>1</value>
<value>ROLE_ADMIN_STANDARD</value>
<value>a_</value>
<value></value>
</row>
<row>
<value>5</value>
<value>ROLE_USER_FULL</value>
<value>u_</value>
<value></value>
</row>
<row>
<value>10</value>
<value>ROLE_MOD_FULL</value>
<value>m_</value>
<value></value>
</row>
</table>
<table name="phpbb_acl_roles_data">
<column>role_id</column>
<column>auth_option_id</column>
<column>auth_setting</column>
<row>
<value>1</value>
<value>4</value>
<value>0</value>
</row>
<row>
<value>1</value>
<value>5</value>
<value>0</value>
</row>
<row>
<value>1</value>
<value>6</value>
<value>0</value>
</row>
<row>
<value>6</value>
<value>6</value>
<value>0</value>
</row>
<row>
<value>10</value>
<value>5</value>
<value>0</value>
</row>
<row>
<value>10</value>
<value>6</value>
<value>0</value>
</row>
</table>
</dataset>

View File

@ -15,6 +15,12 @@ require_once dirname(__FILE__) . '/../../phpBB/includes/functions.php';
class phpbb_dbal_migrator_tool_permission_test extends phpbb_database_test_case
{
public $group_ids = array(
'REGISTERED' => 2,
'GLOBAL_MODERATORS' => 4,
'ADMINISTRATORS' => 5,
);
public function getDataSet()
{
return $this->createXMLDataSet(dirname(__FILE__).'/fixtures/migrator_permission.xml');
@ -158,4 +164,60 @@ class phpbb_dbal_migrator_tool_permission_test extends phpbb_database_test_case
}
$this->assertFalse($this->tool->exists('global_test', true));
}
public function test_permission_set_data()
{
return array(
array(
'ADMINISTRATORS',
'a_test',
'group',
true,
),
array(
'GLOBAL_MODERATORS',
'm_test',
'group',
true,
),
array(
'REGISTERED',
'u_test',
'group',
true,
),
);
}
/**
* @dataProvider test_permission_set_data
*/
public function test_permission_set($group_name, $auth_option, $type, $has_permission)
{
$this->tool->permission_set($group_name, $auth_option, $type, $has_permission);
$administrators_perm = $this->auth->acl_group_raw_data($this->group_ids['ADMINISTRATORS'], $auth_option);
$global_moderators_perm = $this->auth->acl_group_raw_data($this->group_ids['GLOBAL_MODERATORS'], $auth_option);
$registered_users_perm = $this->auth->acl_group_raw_data($this->group_ids['REGISTERED'], $auth_option);
switch($group_name)
{
case 'GLOBAL_MODERATORS':
$this->assertEquals(false, empty($administrators_perm), 'm_test is not empty for Administrators');
$this->assertEquals(false, empty($global_moderators_perm), 'm_test is not empty for Global moderators');
$this->assertEquals(true, empty($registered_users_perm), 'm_test empty for Registered users');
break;
case 'ADMINISTRATORS':
$this->assertEquals(false, empty($administrators_perm), 'a_test is not empty for Administrators');
$this->assertEquals(true, empty($global_moderators_perm), 'a_test is empty for Global moderators');
$this->assertEquals(true, empty($registered_users_perm), 'a_test is empty for Registered users');
break;
case 'REGISTERED':
$this->assertEquals(false, empty($administrators_perm), 'u_test is not empty for Administrators');
$this->assertEquals(false, empty($global_moderators_perm), 'u_test is not empty for Global moderators');
$this->assertEquals(false, empty($registered_users_perm), 'u_test is not empty for Registered users');
break;
}
}
}