/**
  * Returns a user object and its assigned new role.
  *
  * @param testing_data_generator $generator
  * @param $contextid
  * @return array The user object and the role ID
  */
 protected function get_user_objects(testing_data_generator $generator, $contextid)
 {
     global $USER;
     if (empty($USER->id)) {
         $user = $generator->create_user();
         $this->setUser($user);
     }
     $roleid = create_role('Test role', 'testrole', 'Test role description');
     if (!is_array($contextid)) {
         $contextid = array($contextid);
     }
     foreach ($contextid as $cid) {
         $assignid = role_assign($roleid, $user->id, $cid);
     }
     return array($user, $roleid);
 }
Exemple #2
0
// Enable the Web Services.
set_config('enablewebservices', 1);
// Enable Web Services documentation.
set_config('enablewsdocumentation', 1);
// Enable each protocol.
set_config('webserviceprotocols', 'amf,rest,soap,xmlrpc');
// Create the Web Service user.
$user = $DB->get_record('user', array('username' => 'testtete'));
if (!$user) {
    $user = new stdClass();
    $user->username = '******';
    $user->firstname = 'Web';
    $user->lastname = 'Service';
    $user->password = '******';
    $dg = new testing_data_generator();
    $user = $dg->create_user($user);
}
// Create a role for Web Services with all permissions.
if (!($roleid = $DB->get_field('role', 'id', array('shortname' => 'testtete')))) {
    $roleid = create_role('Web Service', 'testtete', 'MDK: All permissions given by default.', '');
}
$context = context_system::instance();
set_role_contextlevels($roleid, array($context->contextlevel));
role_assign($roleid, $user->id, $context->id);
if (method_exists($context, 'get_capabilities')) {
    $capabilities = $context->get_capabilities();
} else {
    $capabilities = fetch_context_capabilities($context);
}
foreach ($capabilities as $capability) {
    assign_capability($capability->name, CAP_ALLOW, $roleid, $context->id, true);