Пример #1
0
 public function testRenameSVNRepository()
 {
     $project = new MockProject($this);
     $project->setReturnValue('getUnixNameMixedCase', 'TestProj');
     $project->setReturnValue('getSVNRootPath', $GLOBALS['svn_prefix'] . '/TestProj');
     $project->setReturnValue('isSVNTracked', false);
     $project->setReturnValue('getMembersUserNames', array());
     $pm = new MockProjectManager();
     $pm->setReturnReference('getProject', $project, array(142));
     $ugdao = new MockUGroupDao();
     $ugdao->setReturnValue('searchByGroupId', array());
     $this->backend->setReturnValue('getProjectManager', $pm);
     $this->backend->setReturnValue('getUGroupDao', $ugdao);
     $this->backend->createProjectSVN(142);
     $this->assertEqual($this->backend->renameSVNRepository($project, "foobar"), true);
     $this->assertTrue(is_dir($GLOBALS['svn_prefix'] . "/foobar"), "SVN dir should be renamed");
     // Cleanup
     $this->backend->recurseDeleteInDir($GLOBALS['svn_prefix'] . "/foobar");
     rmdir($GLOBALS['svn_prefix'] . "/foobar");
 }
Пример #2
0
 /**
  * @return BackendCVS
  */
 function GivenACVSRepositoryWithWrongOwnership($project, $cvsdir)
 {
     $pm = new MockProjectManager();
     $pm->setReturnReference('getProject', $project, array(1));
     $backend = TestHelper::getPartialMock('BackendCVS', array('getProjectManager', 'system', 'chown', 'chgrp', 'chmod', 'getHTTPUserUID', 'log'));
     $backend->setReturnValue('getProjectManager', $pm);
     touch($cvsdir . '/CVSROOT/loginfo');
     touch($cvsdir . '/CVSROOT/commitinfo');
     touch($cvsdir . '/CVSROOT/config');
     //fake the fact that the repo has wrong ownership
     $stat = stat($cvsdir . '/CVSROOT/loginfo');
     $project->setReturnValue('getUnixGID', $stat['gid'] + 1);
     $backend->setReturnValue('getHTTPUserUID', $stat['uid']);
     return $backend;
 }
Пример #3
0
 /**
  * testproject -> projecttest
  */
 public function testRenameProjectHomeDirectoryLowerCase()
 {
     $project = new MockProject($this);
     $project->setReturnValue('getUnixName', 'testproject', array(false));
     $project->setReturnValue('getUnixName', 'testproject', array(true));
     $pm = new MockProjectManager();
     $pm->setReturnReference('getProject', $project, array(142));
     $backend = new BackendTestVersion($this);
     $backend->setReturnValue('getProjectManager', $pm);
     $backend->createProjectHome(142);
     $this->assertEqual($backend->renameProjectHomeDirectory($project, "projecttest"), true);
     $this->assertFalse(file_exists($GLOBALS['grpdir_prefix'] . "/testproject"), "Old project home should no longer exists");
     $this->assertTrue(is_dir($GLOBALS['grpdir_prefix'] . "/projecttest"), "Project home should be renamed");
     // Cleanup
     $backend->recurseDeleteInDir($GLOBALS['grpdir_prefix'] . "/projecttest");
     rmdir($GLOBALS['grpdir_prefix'] . "/projecttest");
     rmdir($GLOBALS['ftp_anon_dir_prefix'] . "/testproject");
     rmdir($GLOBALS['ftp_frs_dir_prefix'] . "/testproject");
 }
Пример #4
0
 public function testImpossibleToCreateTrackerWithAlreadyUsedShortName()
 {
     $tracker_factory = new TrackerFactoryTestVersion2();
     $dao = new MockTrackerDao();
     $dao->setReturnValue('duplicate', 999);
     $tracker_factory->setReturnReference('getDao', $dao);
     $project = new MockProject();
     $project->setReturnValue('isError', false);
     $pm = new MockProjectManager();
     $pm->setReturnReference('getProject', $project, array(456));
     $tracker_factory->setReturnReference('getProjectManager', $pm);
     $rm = new MockReferenceManager();
     $rm->setReturnValue('_isKeywordExists', false, array("MyNewTracker", 123));
     // keyword is not alreay used
     $tracker_factory->setReturnReference('getReferenceManager', $rm);
     $tracker = new MockTracker();
     $tracker_factory->setReturnReference('getTrackerById', $tracker, array(999));
     $tracker_factory->setReturnValue('isNameExists', false, array("My New Tracker", 123));
     // name is not already used
     $tracker_factory->setReturnValue('isShortNameExists', true, array("MyNewTracker", 123));
     // shortname is  already used
     // check that an error is returned if we try to create a tracker
     // with a name (not shortname) already used
     $project_id = 123;
     $group_id_template = 456;
     $id_template = 789;
     $name = 'My New Tracker';
     $description = 'My New Tracker to manage my brand new artifacts';
     $itemname = 'MyNewTracker';
     $this->assertFalse($tracker_factory->create($project_id, $group_id_template, $id_template, $name, $description, $itemname));
 }