Exemplo n.º 1
0
 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', '*****@*****.**'));
 }
Exemplo n.º 2
0
 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");
 }
Exemplo n.º 3
0
 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"));
 }
Exemplo n.º 4
0
 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));
 }