function testGetCommentators() { $c1 = new MockTracker_Artifact_Changeset(); $c2 = new MockTracker_Artifact_Changeset(); $c3 = new MockTracker_Artifact_Changeset(); $c4 = new MockTracker_Artifact_Changeset(); $u1 = mock('PFUser'); $u1->setReturnValue('getUserName', 'sandrae'); $u2 = mock('PFUser'); $u2->setReturnValue('getUserName', 'marc'); $um = new MockUserManager(); $um->setReturnReference('getUserById', $u1, array(101)); $um->setReturnReference('getUserById', $u2, array(102)); $artifact = new Tracker_ArtifactTestVersion(); $artifact->setReturnValue('getChangesets', array($c1, $c2, $c3, $c4)); $artifact->setReturnValue('getUserManager', $um); $c1->setReturnValue('getSubmittedBy', 101); $c2->setReturnValue('getSubmittedBy', 102); $c2->setReturnValue('getEmail', '*****@*****.**'); $c3->setReturnValue('getSubmittedBy', null); $c3->setReturnValue('getEmail', '*****@*****.**'); $c4->setReturnValue('getSubmittedBy', null); $c4->setReturnValue('getEmail', ''); $this->assertEqual($artifact->getCommentators(), array('sandrae', 'marc', '*****@*****.**')); }
function testArchiveUserHome() { // We use codendiadm uid/gid to avoid chown warnings (because test is not run as root) $user = aUser()->withUserName('codendiadm')->build(); $backend = new BackendTestVersion(); $backend->createUserHome($user); $this->assertTrue(is_dir($GLOBALS['homedir_prefix'] . "/codendiadm"), "Home dir should be created"); // // Run test // $um = new MockUserManager(); $um->setReturnReference('getUserById', $user, array(104)); $backend->setReturnValue('getUserManager', $um); $this->assertEqual($backend->archiveUserHome(104), True); $this->assertFalse(is_dir($GLOBALS['homedir_prefix'] . "/codendiadm"), "Home dir should be deleted"); $this->assertTrue(is_file(ForgeConfig::get('sys_project_backup_path') . "/codendiadm.tgz"), "Archive should be created"); // Cleanup unlink(ForgeConfig::get('sys_project_backup_path') . "/codendiadm.tgz"); }
function testGetDisplayNameForNone() { $user = mock('PFUser'); $user->setReturnValue('isNone', true); $user->setReturnValue('getUserName', 'None'); $user->setReturnValue('getRealName', '0'); $um = new MockUserManager(); $um->setReturnValue('isUserLoadedById', true, array(100)); $um->setReturnReference('getUserById', $user, array(100)); $uh = new UserHelperTestVersion($this); $uh->setReturnValue('_getUserManager', $um); $uh->setReturnValue('_isUserNameNone', true, array('None')); $uh->setReturnValue('_isUserNameNone', true, array('Aucun')); $uh->setReturnValue('_getCurrentUserUsernameDisplayPreference', 4); $uh->setReturnValueAt(0, '_getCurrentUserUsernameDisplayPreference', 1); $uh->setReturnValueAt(1, '_getCurrentUserUsernameDisplayPreference', 2); $uh->setReturnValueAt(2, '_getCurrentUserUsernameDisplayPreference', 3); $uh->__construct(); $this->assertEqual("None", $uh->getDisplayNameFromUser($user)); $uh->__construct(); $this->assertEqual("None", $uh->getDisplayNameFromUser($user)); $uh->__construct(); $this->assertEqual("None", $uh->getDisplayNameFromUser($user)); $uh->__construct(); $this->assertEqual("None", $uh->getDisplayNameFromUser($user)); $this->assertEqual("None", $uh->getDisplayNameFromUserId(100)); $this->assertEqual("None", $uh->getDisplayNameFromUserName("None")); $this->assertEqual("Aucun", $uh->getDisplayNameFromUserName("Aucun")); }
function testUserCanViewTrackerAccessSubmitterOrAssignee() { $ugroup_ass = 101; $ugroup_sub = 102; // $assignee and $u_ass are in the same ugroup (UgroupAss - ugroup_id=101) // $submitter and $u_sub are in the same ugroup (UgroupSub - ugroup_id=102) // $other and $u are neither in UgroupAss nor in UgroupSub // $u = new MockUser(); $u->setReturnValue('getId', 120); $u->setReturnValue('isMemberOfUgroup', false); $u->setReturnValue('isSuperUser', false); // $assignee = new MockUser(); $assignee->setReturnValue('getId', 121); $assignee->setReturnValue('isMemberOfUgroup', true, array(101, 222)); $assignee->setReturnValue('isMemberOfUgroup', false, array(102, 222)); $assignee->setReturnValue('isSuperUser', false); // $u_ass = new MockUser(); $u_ass->setReturnValue('getId', 122); $u_ass->setReturnValue('isMemberOfUgroup', true, array(101, 222)); $u_ass->setReturnValue('isMemberOfUgroup', false, array(102, 222)); $u_ass->setReturnValue('isSuperUser', false); // $submitter = new MockUser(); $submitter->setReturnValue('getId', 123); $submitter->setReturnValue('isMemberOfUgroup', false, array(101, 222)); $submitter->setReturnValue('isMemberOfUgroup', true, array(102, 222)); $submitter->setReturnValue('isSuperUser', false); // $u_sub = new MockUser(); $u_sub->setReturnValue('getId', 124); $u_sub->setReturnValue('isMemberOfUgroup', false, array(101, 222)); $u_sub->setReturnValue('isMemberOfUgroup', true, array(102, 222)); $u_sub->setReturnValue('isSuperUser', false); // $other = new MockUser(); $other->setReturnValue('getId', 125); $other->setReturnValue('isMemberOfUgroup', false); $other->setReturnValue('isSuperUser', false); $user_manager = new MockUserManager(); $user_manager->setReturnReference('getUserById', $u, array(120)); $user_manager->setReturnReference('getUserById', $assignee, array(121)); $user_manager->setReturnReference('getUserById', $u_ass, array(122)); $user_manager->setReturnReference('getUserById', $submitter, array(123)); $user_manager->setReturnReference('getUserById', $u_sub, array(124)); $user_manager->setReturnReference('getUserById', $other, array(125)); // $artifact_subass has been submitted by $submitter and assigned to $assignee // $assignee, $u_ass, $submitter, $u_sub should have the right to see it. // $other and $u should not have the right to see it $tracker = new MockTracker(); $tracker->setReturnValue('getId', 666); $tracker->setReturnValue('getGroupId', 222); $perms_tracker_access_full = array(); $perms_tracker_access_assignee = array(array('ugroup_id' => $ugroup_ass)); $perms_tracker_access_submitter = array(array('ugroup_id' => $ugroup_sub)); $tracker->setReturnReference('permission_db_authorized_ugroups', $perms_tracker_access_full, array('PLUGIN_TRACKER_ACCESS_FULL')); $tracker->setReturnReference('permission_db_authorized_ugroups', $perms_tracker_access_assignee, array('PLUGIN_TRACKER_ACCESS_ASSIGNEE')); $tracker->setReturnReference('permission_db_authorized_ugroups', $perms_tracker_access_submitter, array('PLUGIN_TRACKER_ACCESS_SUBMITTER')); $contributor_field = new MockTracker_FormElement_Field(); $tracker->setReturnReference('getContributorField', $contributor_field); $artifact_subass = new Tracker_ArtifactTestPermissions(); $artifact_subass->setReturnReference('getUserManager', $user_manager); $artifact_subass->setReturnReference('getTracker', $tracker); $artifact_subass->setReturnValue('useArtifactPermissions', false); $artifact_subass->setReturnValue('getSubmittedBy', 123); $user_changeset_value = new MockTracker_Artifact_ChangesetValue(); $contributors = array(121); $user_changeset_value->setReturnReference('getValue', $contributors); $artifact_subass->setReturnReference('getValue', $user_changeset_value, array($contributor_field)); $this->assertTrue($artifact_subass->userCanView($submitter)); $this->assertTrue($artifact_subass->userCanView($u_sub)); $this->assertTrue($artifact_subass->userCanView($assignee)); $this->assertTrue($artifact_subass->userCanView($u_ass)); $this->assertFalse($artifact_subass->userCanView($other)); $this->assertFalse($artifact_subass->userCanView($u)); }