mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-28 06:08:52 +00:00
Merge branch 'develop' of https://github.com/phpbb/phpbb3 into feature/twig
# By Dhruv # Via Andreas Fischer (3) and Dhruv (1) * 'develop' of https://github.com/phpbb/phpbb3: [ticket/10838] Fix URL for wiki and remove irrelevant line [ticket/10838] Remove php 5.4 and builtin server references [ticket/10838] Fix missing data [ticket/10838] separate database used mentioned in unit tests [ticket/11585] Make $auth_admin class property [ticket/10838] Updated RUNNING_TESTS.md
This commit is contained in:
commit
87e4e05220
2 changed files with 46 additions and 17 deletions
|
@ -21,6 +21,7 @@ if (!defined('IN_PHPBB'))
|
||||||
class acp_permission_roles
|
class acp_permission_roles
|
||||||
{
|
{
|
||||||
var $u_action;
|
var $u_action;
|
||||||
|
protected $auth_admin;
|
||||||
|
|
||||||
function main($id, $mode)
|
function main($id, $mode)
|
||||||
{
|
{
|
||||||
|
@ -30,7 +31,7 @@ class acp_permission_roles
|
||||||
include_once($phpbb_root_path . 'includes/functions_user.' . $phpEx);
|
include_once($phpbb_root_path . 'includes/functions_user.' . $phpEx);
|
||||||
include_once($phpbb_root_path . 'includes/acp/auth.' . $phpEx);
|
include_once($phpbb_root_path . 'includes/acp/auth.' . $phpEx);
|
||||||
|
|
||||||
$auth_admin = new auth_admin();
|
$this->auth_admin = new auth_admin();
|
||||||
|
|
||||||
$user->add_lang('acp/permissions');
|
$user->add_lang('acp/permissions');
|
||||||
add_permission_language();
|
add_permission_language();
|
||||||
|
@ -210,7 +211,7 @@ class acp_permission_roles
|
||||||
}
|
}
|
||||||
|
|
||||||
// Now add the auth settings
|
// Now add the auth settings
|
||||||
$auth_admin->acl_set_role($role_id, $auth_settings);
|
$this->auth_admin->acl_set_role($role_id, $auth_settings);
|
||||||
|
|
||||||
$role_name = (!empty($user->lang[$role_name])) ? $user->lang[$role_name] : $role_name;
|
$role_name = (!empty($user->lang[$role_name])) ? $user->lang[$role_name] : $role_name;
|
||||||
add_log('admin', 'LOG_' . strtoupper($permission_type) . 'ROLE_' . strtoupper($action), $role_name);
|
add_log('admin', 'LOG_' . strtoupper($permission_type) . 'ROLE_' . strtoupper($action), $role_name);
|
||||||
|
@ -343,7 +344,7 @@ class acp_permission_roles
|
||||||
// Get users/groups/forums using this preset...
|
// Get users/groups/forums using this preset...
|
||||||
if ($action == 'edit')
|
if ($action == 'edit')
|
||||||
{
|
{
|
||||||
$hold_ary = $auth_admin->get_role_mask($role_id);
|
$hold_ary = $this->auth_admin->get_role_mask($role_id);
|
||||||
|
|
||||||
if (sizeof($hold_ary))
|
if (sizeof($hold_ary))
|
||||||
{
|
{
|
||||||
|
@ -354,7 +355,7 @@ class acp_permission_roles
|
||||||
'L_ROLE_ASSIGNED_TO' => sprintf($user->lang['ROLE_ASSIGNED_TO'], $role_name))
|
'L_ROLE_ASSIGNED_TO' => sprintf($user->lang['ROLE_ASSIGNED_TO'], $role_name))
|
||||||
);
|
);
|
||||||
|
|
||||||
$auth_admin->display_role_mask($hold_ary);
|
$this->auth_admin->display_role_mask($hold_ary);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -445,8 +446,8 @@ class acp_permission_roles
|
||||||
'S_DISPLAY_ROLE_MASK' => true)
|
'S_DISPLAY_ROLE_MASK' => true)
|
||||||
);
|
);
|
||||||
|
|
||||||
$hold_ary = $auth_admin->get_role_mask($display_item);
|
$hold_ary = $this->auth_admin->get_role_mask($display_item);
|
||||||
$auth_admin->display_role_mask($hold_ary);
|
$this->auth_admin->display_role_mask($hold_ary);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -462,7 +463,7 @@ class acp_permission_roles
|
||||||
$auth_options = array(0 => $auth_options);
|
$auth_options = array(0 => $auth_options);
|
||||||
|
|
||||||
// Making use of auth_admin method here (we do not really want to change two similar code fragments)
|
// Making use of auth_admin method here (we do not really want to change two similar code fragments)
|
||||||
auth_admin::build_permission_array($auth_options, $content_array, $categories, $key_sort_array);
|
$this->auth_admin->build_permission_array($auth_options, $content_array, $categories, $key_sort_array);
|
||||||
|
|
||||||
$content_array = $content_array[0];
|
$content_array = $content_array[0];
|
||||||
|
|
||||||
|
@ -500,8 +501,6 @@ class acp_permission_roles
|
||||||
{
|
{
|
||||||
global $db;
|
global $db;
|
||||||
|
|
||||||
$auth_admin = new auth_admin();
|
|
||||||
|
|
||||||
// Get complete auth array
|
// Get complete auth array
|
||||||
$sql = 'SELECT auth_option, auth_option_id
|
$sql = 'SELECT auth_option, auth_option_id
|
||||||
FROM ' . ACL_OPTIONS_TABLE . "
|
FROM ' . ACL_OPTIONS_TABLE . "
|
||||||
|
@ -529,19 +528,19 @@ class acp_permission_roles
|
||||||
$db->sql_freeresult($result);
|
$db->sql_freeresult($result);
|
||||||
|
|
||||||
// Get role assignments
|
// Get role assignments
|
||||||
$hold_ary = $auth_admin->get_role_mask($role_id);
|
$hold_ary = $this->auth_admin->get_role_mask($role_id);
|
||||||
|
|
||||||
// Re-assign permissions
|
// Re-assign permissions
|
||||||
foreach ($hold_ary as $forum_id => $forum_ary)
|
foreach ($hold_ary as $forum_id => $forum_ary)
|
||||||
{
|
{
|
||||||
if (isset($forum_ary['users']))
|
if (isset($forum_ary['users']))
|
||||||
{
|
{
|
||||||
$auth_admin->acl_set('user', $forum_id, $forum_ary['users'], $auth_settings, 0, false);
|
$this->auth_admin->acl_set('user', $forum_id, $forum_ary['users'], $auth_settings, 0, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isset($forum_ary['groups']))
|
if (isset($forum_ary['groups']))
|
||||||
{
|
{
|
||||||
$auth_admin->acl_set('group', $forum_id, $forum_ary['groups'], $auth_settings, 0, false);
|
$this->auth_admin->acl_set('group', $forum_id, $forum_ary['groups'], $auth_settings, 0, false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -563,6 +562,6 @@ class acp_permission_roles
|
||||||
WHERE role_id = ' . $role_id;
|
WHERE role_id = ' . $role_id;
|
||||||
$db->sql_query($sql);
|
$db->sql_query($sql);
|
||||||
|
|
||||||
$auth_admin->acl_clear_prefetch();
|
$this->auth_admin->acl_clear_prefetch();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -50,9 +50,11 @@ Database Tests
|
||||||
By default all tests requiring a database connection will use sqlite. If you
|
By default all tests requiring a database connection will use sqlite. If you
|
||||||
do not have sqlite installed the tests will be skipped. If you wish to run the
|
do not have sqlite installed the tests will be skipped. If you wish to run the
|
||||||
tests on a different database you have to create a test_config.php file within
|
tests on a different database you have to create a test_config.php file within
|
||||||
your tests directory following the same format as phpBB's config.php. An
|
your tests directory following the same format as phpBB's config.php. Testing
|
||||||
example for mysqli can be found below. More information on configuration
|
makes use of a seperate database defined in this config file and before running
|
||||||
options can be found on the wiki (see below).
|
the tests each time this database is deleted. An example for mysqli can be
|
||||||
|
found below. More information on configuration options can be found on the
|
||||||
|
wiki (see below).
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
$dbms = 'phpbb_db_driver_mysqli';
|
$dbms = 'phpbb_db_driver_mysqli';
|
||||||
|
@ -132,8 +134,36 @@ only want the slow tests, run:
|
||||||
|
|
||||||
$ phpBB/vendor/bin/phpunit --group slow
|
$ phpBB/vendor/bin/phpunit --group slow
|
||||||
|
|
||||||
|
Functional tests
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
Functional tests test software the way a user would. They simulate a user
|
||||||
|
browsing the website, but they do these steps in an automated way.
|
||||||
|
phpBB allows you to write such tests.
|
||||||
|
|
||||||
|
Running
|
||||||
|
=======
|
||||||
|
|
||||||
|
Running the tests requires your phpBB3 repository to be accessible through a
|
||||||
|
local web server. You will need to supply the URL to the webserver in
|
||||||
|
the 'tests/test_config.php' file. This is as simple as defining the
|
||||||
|
'$phpbb_functional_url' variable, which contains the URL for the directory containing
|
||||||
|
the board. Make sure you include the trailing slash. Note that without extensive
|
||||||
|
changes to the test framework, you cannot use a board outside of the repository
|
||||||
|
on which to run tests.
|
||||||
|
|
||||||
|
$phpbb_functional_url = 'http://localhost/phpBB3/';
|
||||||
|
|
||||||
|
To then run the tests, you run PHPUnit, but use the phpunit.xml.functional
|
||||||
|
config file instead of the default one. Specify this through the "-c" option:
|
||||||
|
|
||||||
|
$ phpBB/vendor/bin/phpunit -c phpunit.xml.functional
|
||||||
|
|
||||||
|
This will change your board's config.php file, but it makes a backup at
|
||||||
|
config_dev.php, so you can restore it after the test run is complete.
|
||||||
|
|
||||||
More Information
|
More Information
|
||||||
================
|
================
|
||||||
|
|
||||||
Further information is available on phpbb wiki:
|
Further information is available on phpbb wiki:
|
||||||
http://wiki.phpbb.com/Unit_Tests
|
http://wiki.phpbb.com/Automated_Tests
|
||||||
|
|
Loading…
Add table
Reference in a new issue