/**
  * ProjectUGroup modify Users fail
  *
  * @return Void
  */
 public function testUgroupModifyProcessUgroupModifyFail()
 {
     $evt = new SystemEvent_UGROUP_MODIFY_TestVersion();
     $evt->__construct('1', SystemEvent::TYPE_UGROUP_MODIFY, SystemEvent::OWNER_ROOT, '1', SystemEvent::PRIORITY_HIGH, SystemEvent::STATUS_RUNNING, $_SERVER['REQUEST_TIME'], $_SERVER['REQUEST_TIME'], $_SERVER['REQUEST_TIME'], '');
     $evt->setReturnValue('getParametersAsArray', array(1, 2));
     $evt->setReturnValue('processUgroupBinding', false);
     $project = new MockProject();
     $project->setReturnValue('usesSVN', true);
     $evt->setReturnValue('getProject', $project, array('1'));
     $backendSVN = new MockBackendSVN();
     $backendSVN->expectNever('updateSVNAccess');
     $evt->setReturnValue('getBackend', $backendSVN, array('SVN'));
     $evt->expectNever('getProject');
     $evt->expectNever('getBackend');
     $evt->expectNever('done');
     $evt->expectOnce('error', array("Could not process binding to this user group (2)"));
     // Launch the event
     $this->assertFalse($evt->process());
 }
 public function testRenameSvnRepositoryNotAvailable()
 {
     $evt = new SystemEvent_PROJECT_RENAME_TestVersion($this);
     $evt->__construct('1', SystemEvent::TYPE_PROJECT_RENAME, '142' . SystemEvent::PARAMETER_SEPARATOR . 'FooBar', SystemEvent::PRIORITY_HIGH, SystemEvent::STATUS_RUNNING, $_SERVER['REQUEST_TIME'], $_SERVER['REQUEST_TIME'], $_SERVER['REQUEST_TIME'], '');
     // The project
     $project = new MockProject($this);
     $project->setReturnValue('getUnixName', 'TestProj', array(false));
     $project->setReturnValue('getUnixName', 'testproj', array(true));
     $evt->setReturnValue('getProject', $project, array('142'));
     // SVN
     $backendSVN = new MockBackendSVN($this);
     $backendSVN->setReturnValue('repositoryExists', true);
     $backendSVN->setReturnValue('isNameAvailable', false);
     $backendSVN->expectNever('renameSVNRepository', array($project, 'FooBar'));
     $backendSVN->expectNever('setSVNApacheConfNeedUpdate');
     $evt->setReturnValue('getBackend', $backendSVN, array('SVN'));
     // CVS no rep, just ensure test
     $backendCVS = new MockBackendCVS($this);
     $backendCVS->setReturnValue('repositoryExists', false);
     $backendCVS->expectOnce('repositoryExists', false);
     $evt->setReturnValue('getBackend', $backendCVS, array('CVS'));
     // Project Home
     $backendSystem = new MockBackendSystem($this);
     $backendSystem->setReturnValue('projectHomeExists', false);
     $backendSystem->expectOnce('projectHomeExists', false);
     $backendSystem->expectNever('setNeedRefreshGroupCache');
     // FRS
     $backendSystem->setReturnValue('renameFileReleasedDirectory', true);
     $backendSystem->expectOnce('renameFileReleasedDirectory', array($project, 'FooBar'));
     // FTP
     $backendSystem->setReturnValue('renameAnonFtpDirectory', true);
     $backendSystem->expectOnce('renameAnonFtpDirectory', array($project, 'FooBar'));
     $evt->setReturnValue('getBackend', $backendSystem, array('System'));
     // DB
     $evt->setReturnValue('updateDB', true);
     // Event
     $em = new MockEventManager($this);
     $em->expectOnce('processEvent', array('SystemEvent_PROJECT_RENAME', array('project' => $project, 'new_name' => 'FooBar')));
     $evt->setReturnValue('getEventManager', $em);
     $evt->expectOnce('addProjectHistory', array('rename_with_error', 'TestProj :: FooBar (event n°1)', $project->getId()));
     // There is an error, the rename in not "done"
     $evt->expectNever('done');
     $this->assertFalse($evt->process());
 }
 /**
  * Project delete SVN fail
  *
  * @return Void
  */
 public function testProjectDeleteSVNFail()
 {
     $evt = new SystemEvent_PROJECT_DELETE_TestVersion();
     $evt->__construct('1', SystemEvent::TYPE_PROJECT_DELETE, SystemEvent::OWNER_ROOT, '142', SystemEvent::PRIORITY_HIGH, SystemEvent::STATUS_RUNNING, $_SERVER['REQUEST_TIME'], $_SERVER['REQUEST_TIME'], $_SERVER['REQUEST_TIME'], '');
     // The project
     $project = new MockProject();
     $project->setReturnValue('usesCVS', true);
     $project->setReturnValue('usesSVN', true);
     $evt->setReturnValue('getProject', $project, array('142'));
     //Remove users from project
     $evt->setReturnValue('removeProjectMembers', true);
     $evt->setReturnValue('deleteMembershipRequestNotificationEntries', true);
     //Cleanup ProjectUGroup binding
     $evt->setReturnValue('cleanupProjectUgroupsBinding', true);
     //Cleanup FRS
     $evt->setReturnValue('cleanupProjectFRS', true);
     //Delete all trackers
     $atf = new MockArtifactTypeFactory();
     $atf->setReturnValue('preDeleteAllProjectArtifactTypes', true);
     $evt->setReturnValue('getArtifactTypeFactory', $atf, array($project));
     // System
     $backendSystem = new MockBackendSystem();
     $backendSystem->setReturnValue('projectHomeExists', true);
     $backendSystem->setReturnValue('archiveProjectHome', true);
     $backendSystem->setReturnValue('archiveProjectFtp', true);
     $backendSystem->expectOnce('setNeedRefreshGroupCache');
     $evt->setReturnValue('getBackend', $backendSystem, array('System'));
     // Wiki attachments
     $wa = new MockWikiAttachment();
     $wa->setReturnValue('deleteProjectAttachments', true);
     $wa->expectOnce('deleteProjectAttachments');
     $evt->setReturnValue('getWikiAttachment', $wa);
     // CVS
     $backendCVS = new MockBackendCVS();
     $backendCVS->setReturnValue('repositoryExists', true);
     $backendCVS->setReturnValue('archiveProjectCVS', true);
     $backendCVS->expectOnce('setCVSRootListNeedUpdate');
     $evt->setReturnValue('getBackend', $backendCVS, array('CVS'));
     // SVN
     $backendSVN = new MockBackendSVN();
     $backendSVN->setReturnValue('repositoryExists', true);
     $backendSVN->setReturnValue('archiveProjectSVN', false);
     $backendSVN->expectNever('setSVNApacheConfNeedUpdate');
     $evt->setReturnValue('getBackend', $backendSVN, array('SVN'));
     // MailingList
     $backendMailingList = new MockBackendMailingList();
     $backendMailingList->setReturnValue('deleteProjectMailingLists', true);
     $backendMailingList->expectOnce('deleteProjectMailingLists');
     $evt->setReturnValue('getBackend', $backendMailingList, array('MailingList'));
     // Aliases
     $backendAliases = new MockBackendAliases();
     $backendAliases->expectOnce('setNeedUpdateMailAliases');
     $evt->setReturnValue('getBackend', $backendAliases, array('Aliases'));
     $evt->expectNever('done');
     $evt->expectOnce('error', array("Could not archive project SVN repository"));
     $em = new MockEventManager();
     $evt->setReturnValue('getEventManager', $em);
     // Launch the event
     $this->assertFalse($evt->process());
 }