/** * Add a new user. * * @param string login The login to give the user. * @param string password the password in clear. * @param core_kernel_classes_Resource role A role to grant to the user. * @param core_kernel_classes_Class A specific class to use to instantiate the new user. If not specified, the class returned by the getUserClass method is used. * @return core_kernel_classes_Resource the new user * @throws core_kernel_users_Exception If an error occurs. */ public function addUser($login, $password, core_kernel_classes_Resource $role = null, core_kernel_classes_Class $class = null) { if (empty($class)) { $class = $this->getRootClass(); } $user = $this->generisUserService->addUser($login, $password, $role, $class); //set up default properties if (!is_null($user)) { $user->setPropertyValue(new core_kernel_classes_Property(PROPERTY_USER_FIRSTTIME), GENERIS_TRUE); } return $user; }
public function testAttachUnnatachRole() { $prefix = LOCAL_NAMESPACE . '#'; $user = $this->service->addUser('attachUser', 'attachUser'); $role = new core_kernel_classes_Resource($prefix . 'baseRole'); $this->service->attachRole($user, $role); $userRoles = $this->service->getUserRoles($user); $this->assertFalse(empty($userRoles)); $this->assertEquals(count($userRoles), 2); // also contains Generis Role. $this->assertTrue(array_key_exists($prefix . 'baseRole', $userRoles)); $this->service->unnatachRole($user, $role); $userRoles = $this->service->getUserRoles($user); $this->assertEquals(count($userRoles), 1); $this->assertFalse(array_key_exists($prefix . 'baseRole', $userRoles)); $this->assertTrue($user->delete()); }