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
|
||||
{
|
||||
var $u_action;
|
||||
protected $auth_admin;
|
||||
|
||||
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/acp/auth.' . $phpEx);
|
||||
|
||||
$auth_admin = new auth_admin();
|
||||
$this->auth_admin = new auth_admin();
|
||||
|
||||
$user->add_lang('acp/permissions');
|
||||
add_permission_language();
|
||||
|
@ -210,7 +211,7 @@ class acp_permission_roles
|
|||
}
|
||||
|
||||
// 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;
|
||||
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...
|
||||
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))
|
||||
{
|
||||
|
@ -354,7 +355,7 @@ class acp_permission_roles
|
|||
'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)
|
||||
);
|
||||
|
||||
$hold_ary = $auth_admin->get_role_mask($display_item);
|
||||
$auth_admin->display_role_mask($hold_ary);
|
||||
$hold_ary = $this->auth_admin->get_role_mask($display_item);
|
||||
$this->auth_admin->display_role_mask($hold_ary);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -462,7 +463,7 @@ class acp_permission_roles
|
|||
$auth_options = array(0 => $auth_options);
|
||||
|
||||
// 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];
|
||||
|
||||
|
@ -500,8 +501,6 @@ class acp_permission_roles
|
|||
{
|
||||
global $db;
|
||||
|
||||
$auth_admin = new auth_admin();
|
||||
|
||||
// Get complete auth array
|
||||
$sql = 'SELECT auth_option, auth_option_id
|
||||
FROM ' . ACL_OPTIONS_TABLE . "
|
||||
|
@ -529,19 +528,19 @@ class acp_permission_roles
|
|||
$db->sql_freeresult($result);
|
||||
|
||||
// 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
|
||||
foreach ($hold_ary as $forum_id => $forum_ary)
|
||||
{
|
||||
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']))
|
||||
{
|
||||
$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;
|
||||
$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
|
||||
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
|
||||
your tests directory following the same format as phpBB's config.php. An
|
||||
example for mysqli can be found below. More information on configuration
|
||||
options can be found on the wiki (see below).
|
||||
your tests directory following the same format as phpBB's config.php. Testing
|
||||
makes use of a seperate database defined in this config file and before running
|
||||
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
|
||||
$dbms = 'phpbb_db_driver_mysqli';
|
||||
|
@ -132,8 +134,36 @@ only want the slow tests, run:
|
|||
|
||||
$ 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
|
||||
================
|
||||
|
||||
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