public function testExecutes_ForkRepositories_ActionWithAListOfRepos() { $groupId = 101; $repo = new GitRepository(); $repos = array($repo); $user = new PFUser(); $user->setId(42); $user->setUserName('Ben'); $path = userRepoPath('Ben', 'toto'); $forkPermissions = array(); $project = new MockProject(); $projectManager = new MockProjectManager(); $projectManager->setReturnValue('getProject', $project, array($groupId)); $factory = new MockGitRepositoryFactory(); $factory->setReturnValue('getRepositoryById', $repo); $git = TestHelper::getPartialMock('Git', array('definePermittedActions', '_informAboutPendingEvents', 'addAction', 'addView', 'checkSynchronizerToken')); $git->setGroupId($groupId); $git->setProjectManager($projectManager); $git->expectAt(0, 'addAction', array('getProjectRepositoryList', array($groupId))); $git->expectAt(1, 'addAction', array('fork', array($repos, $project, $path, GitRepository::REPO_SCOPE_INDIVIDUAL, $user, $GLOBALS['HTML'], '/plugins/git/?group_id=101&user=42', $forkPermissions))); $request = new Codendi_Request(array('repos' => '1001', 'path' => 'toto', 'repo_access' => $forkPermissions)); $git->setFactory($factory); $git->_doDispatchForkRepositories($request, $user); }
/** * Create new account * * @param PFUser $user * * @return PFUser */ function createAccount($user) { $dao = $this->getDao(); $user_id = $dao->create($user->getUserName(), $user->getEmail(), $user->getPassword(), $user->getRealName(), $user->getRegisterPurpose(), $user->getStatus(), $user->getShell(), $user->getUnixStatus(), $user->getUnixUid(), $user->getUnixBox(), $user->getLdapId(), $_SERVER['REQUEST_TIME'], $user->getConfirmHash(), $user->getMailSiteUpdates(), $user->getMailVA(), $user->getStickyLogin(), $user->getAuthorizedKeys(), $user->getNewMail(), $user->getTimeZone(), $user->getTheme(), $user->getLanguageID(), $user->getExpiryDate(), $_SERVER['REQUEST_TIME']); if (!$user_id) { $GLOBALS['Response']->addFeedback('error', $GLOBALS['Language']->getText('include_exit', 'error')); return 0; } else { $user->setId($user_id); $this->assignNextUnixUid($user); $em = $this->_getEventManager(); $em->processEvent(Event::USER_MANAGER_CREATE_ACCOUNT, array('user' => $user)); // Create the first layout for the user and add some initial widgets $lm = $this->_getWidgetLayoutManager(); $lm->createDefaultLayoutForUser($user_id); switch ($user->getStatus()) { case PFUser::STATUS_PENDING: if (ForgeConfig::get('sys_user_approval')) { $this->pending_user_notifier->notifyAdministrator($user); } break; case PFUser::STATUS_ACTIVE: case PFUser::STATUS_RESTRICTED: $em->processEvent('project_admin_activate_user', array('user_id' => $user_id)); break; } return $user; } }
public function testUserRepositoryDoesNotBelongToAnotherUser() { $creator = new PFUser(array('language_id' => 1)); $creator->setId(123); $user = new PFUser(array('language_id' => 1)); $user->setId(456); $repo = new GitRepository(); $repo->setCreator($creator); $repo->setScope(GitRepository::REPO_SCOPE_INDIVIDUAL); $this->assertFalse($repo->belongsTo($user)); }