예제 #1
0
 public function setUp()
 {
     parent::setUp();
     $this->project = mock('Project');
     $this->project->setReturnValue('getID', 101);
     $this->project->setReturnValue('isPublic', true);
     $this->project_private = mock('Project');
     $this->project_private->setReturnValue('getID', 102);
     $this->project_private->setReturnValue('isPublic', false);
     $this->tracker = new TrackerTestVersion();
     $this->tracker1 = new TrackerTestVersion();
     $this->tracker2 = new TrackerTestVersion();
     $this->tracker_manager = new MockTrackerManager();
     $this->tracker->setReturnReference('getTrackerManager', $this->tracker_manager);
     $this->tracker1->setReturnReference('getTrackerManager', $this->tracker_manager);
     $this->tracker2->setReturnReference('getTrackerManager', $this->tracker_manager);
     $this->tracker_manager->setReturnValue('userCanAdminAllProjectTrackers', false);
     $this->tf = new MockTrackerFactory();
     $this->tracker->setReturnReference('getTrackerFactory', $this->tf);
     $this->tracker1->setReturnReference('getTrackerFactory', $this->tf);
     $this->tracker2->setReturnReference('getTrackerFactory', $this->tf);
     $this->tsm = new MockTracker_SemanticManager();
     $this->tracker->setReturnReference('getTrackerSemanticManager', $this->tsm);
     $this->tracker1->setReturnReference('getTrackerSemanticManager', $this->tsm);
     $this->tracker2->setReturnReference('getTrackerSemanticManager', $this->tsm);
     $this->tnm = new MockTracker_NotificationsManager();
     $this->tracker->setReturnReference('getNotificationsManager', $this->tnm);
     $this->tracker1->setReturnReference('getNotificationsManager', $this->tnm);
     $this->tracker2->setReturnReference('getNotificationsManager', $this->tnm);
     $this->trr = new MockTracker_DateReminderManager();
     $this->tracker->setReturnReference('getDateReminderManager', $this->trr);
     $this->tracker1->setReturnReference('getDateReminderManager', $this->trr);
     $this->tracker2->setReturnReference('getDateReminderManager', $this->trr);
     $this->tcrm = new MockTracker_CannedResponseManager();
     $this->tracker->setReturnReference('getCannedResponseManager', $this->tcrm);
     $this->tracker1->setReturnReference('getCannedResponseManager', $this->tcrm);
     $this->tracker2->setReturnReference('getCannedResponseManager', $this->tcrm);
     $this->wm = new MockWorkflowManager();
     $this->tracker->setReturnReference('getWorkflowManager', $this->wm);
     $this->tracker1->setReturnReference('getWorkflowManager', $this->wm);
     $this->tracker2->setReturnReference('getWorkflowManager', $this->wm);
     $group_id = 999;
     $this->tracker->setReturnValue('getGroupId', $group_id);
     $this->tracker->setReturnValue('getId', 110);
     $this->tracker->setReturnValue('getColor', 'inca_gray');
     $this->tracker1->setReturnValue('getGroupId', $group_id);
     $this->tracker1->setReturnValue('getId', 111);
     $this->tracker2->setReturnValue('getGroupId', $group_id);
     $this->tracker2->setReturnValue('getId', 112);
     $this->tracker->setReturnValue('getPermissionsByUgroupId', array(1 => array('PERM_1'), 3 => array('PERM_2'), 5 => array('PERM_3'), 115 => array('PERM_3')));
     $this->tracker1->setReturnValue('getPermissionsByUgroupId', array(1001 => array(101 => 'PLUGIN_TRACKER_ADMIN')));
     $this->tracker2->setReturnValue('getPermissionsByUgroupId', array(1002 => array(102 => 'PLUGIN_TRACKER_ADMIN')));
     $this->site_admin_user = mock('PFUser');
     $this->site_admin_user->setReturnValue('getId', 1);
     $this->site_admin_user->setReturnValue('isMember', false);
     $this->site_admin_user->setReturnValue('isSuperUser', true);
     $this->site_admin_user->setReturnValue('isMemberOfUGroup', false, array(1001, '*'));
     $this->site_admin_user->setReturnValue('isMemberOfUGroup', false, array(1002, '*'));
     $this->site_admin_user->setReturnValue('isLoggedIn', true);
     $this->project_admin_user = mock('PFUser');
     $this->project_admin_user->setReturnValue('getId', 123);
     $this->project_admin_user->setReturnValue('isMember', true, array($group_id, 'A'));
     $this->project_admin_user->setReturnValue('isMember', false, array(102));
     $this->project_admin_user->setReturnValue('isSuperUser', false);
     $this->project_admin_user->setReturnValue('isMemberOfUGroup', false, array(1001, '*'));
     $this->project_admin_user->setReturnValue('isMemberOfUGroup', false, array(1002, '*'));
     $this->project_admin_user->setReturnValue('isLoggedIn', true);
     $this->all_trackers_admin_user = mock('PFUser');
     $this->all_trackers_admin_user->setReturnValue('getId', 222);
     $this->all_trackers_admin_user->setReturnValue('isMember', false, array($group_id, 'A'));
     $this->all_trackers_admin_user->setReturnValue('isMember', false, array(102));
     $this->all_trackers_admin_user->setReturnValue('isSuperUser', false);
     $this->all_trackers_admin_user->setReturnValue('isMember', true, array($group_id, 0));
     $this->all_trackers_admin_user->setReturnValue('isMemberOfUGroup', true, array(1001, '*'));
     //1001 = ugroup who has ADMIN perm on tracker
     $this->all_trackers_admin_user->setReturnValue('isMemberOfUGroup', true, array(1002, '*'));
     //1002 = ugroup who has ADMIN perm on tracker
     $this->all_trackers_admin_user->setReturnValue('isLoggedIn', true);
     $this->tracker1_admin_user = mock('PFUser');
     $this->tracker1_admin_user->setReturnValue('getId', 333);
     $this->tracker1_admin_user->setReturnValue('isMember', false, array($group_id, 'A'));
     $this->tracker1_admin_user->setReturnValue('isMember', false, array(102));
     $this->tracker1_admin_user->setReturnValue('isSuperUser', false);
     $this->tracker1_admin_user->setReturnValue('isMember', true, array($group_id, 0));
     $this->tracker1_admin_user->setReturnValue('isMemberOfUGroup', true, array(1001, '*'));
     $this->tracker1_admin_user->setReturnValue('isMemberOfUGroup', false, array(1002, '*'));
     $this->tracker1_admin_user->setReturnValue('isLoggedIn', true);
     $this->tracker2_admin_user = mock('PFUser');
     $this->tracker2_admin_user->setReturnValue('getId', 444);
     $this->tracker2_admin_user->setReturnValue('isMember', false, array($group_id, 'A'));
     $this->tracker2_admin_user->setReturnValue('isMember', false, array(102));
     $this->tracker2_admin_user->setReturnValue('isSuperUser', false);
     $this->tracker2_admin_user->setReturnValue('isMember', true, array($group_id, 0));
     $this->tracker2_admin_user->setReturnValue('isMemberOfUGroup', false, array(1001, '*'));
     $this->tracker2_admin_user->setReturnValue('isMemberOfUGroup', true, array(1002, '*'));
     $this->tracker2_admin_user->setReturnValue('isLoggedIn', true);
     $this->project_member_user = mock('PFUser');
     $this->project_member_user->setReturnValue('getId', 555);
     $this->project_member_user->setReturnValue('isMember', false, array($group_id, 'A'));
     $this->project_member_user->setReturnValue('isMember', false, array(102));
     $this->project_member_user->setReturnValue('isSuperUser', false);
     $this->project_member_user->setReturnValue('isMember', true, array($group_id, 0));
     $this->project_member_user->setReturnValue('isMemberOfUGroup', false, array(1001, '*'));
     $this->project_member_user->setReturnValue('isMemberOfUGroup', false, array(1002, '*'));
     $this->project_member_user->setReturnValue('isTrackerAdmin', false);
     $this->project_member_user->setReturnValue('isLoggedIn', true);
     $this->registered_user = mock('PFUser');
     $this->registered_user->setReturnValue('getId', 777);
     $this->registered_user->setReturnValue('isMember', false);
     $this->registered_user->setReturnValue('isSuperUser', false);
     $this->registered_user->setReturnValue('isMemberOfUGroup', false, array(1001, '*'));
     $this->registered_user->setReturnValue('isMemberOfUGroup', false, array(1002, '*'));
     $this->registered_user->setReturnValue('isLoggedIn', true);
     $this->anonymous_user = mock('PFUser');
     $this->anonymous_user->setReturnValue('getId', 777);
     $this->anonymous_user->setReturnValue('isMember', false);
     $this->anonymous_user->setReturnValue('isSuperUser', false);
     $this->anonymous_user->setReturnValue('isMemberOfUGroup', false, array(1001, '*'));
     $this->anonymous_user->setReturnValue('isMemberOfUGroup', false, array(1002, '*'));
     $this->anonymous_user->setReturnValue('isLoggedIn', false);
     // Users for tracker access perm tests
     $this->anonymous = mock('PFUser');
     $this->anonymous->setReturnValue('isSuperUser', false);
     $this->anonymous->setReturnValue('getId', 0);
     $this->anonymous->setReturnValue('isMemberOfUGroup', true, array(1, '*'));
     $this->anonymous->setReturnValue('isMemberOfUGroup', false, array(2, '*'));
     $this->anonymous->setReturnValue('isMemberOfUGroup', false, array(3, '*'));
     $this->anonymous->setReturnValue('isMemberOfUGroup', false, array(4, '*'));
     $this->anonymous->setReturnValue('isMemberOfUGroup', false, array(138, '*'));
     $this->anonymous->setReturnValue('isMemberOfUGroup', false, array(196, '*'));
     $this->anonymous->setReturnValue('isMemberOfUGroup', false, array(1001, '*'));
     $this->anonymous->setReturnValue('isMemberOfUGroup', false, array(1002, '*'));
     $this->registered = mock('PFUser');
     $this->registered->setReturnValue('isSuperUser', false);
     $this->registered->setReturnValue('getId', 101);
     $this->registered->setReturnValue('isMemberOfUGroup', true, array(1, '*'));
     $this->registered->setReturnValue('isMemberOfUGroup', true, array(2, '*'));
     $this->registered->setReturnValue('isMemberOfUGroup', false, array(3, '*'));
     $this->registered->setReturnValue('isMemberOfUGroup', false, array(4, '*'));
     $this->registered->setReturnValue('isMemberOfUGroup', false, array(138, '*'));
     $this->registered->setReturnValue('isMemberOfUGroup', false, array(196, '*'));
     $this->registered->setReturnValue('isMemberOfUGroup', false, array(1001, '*'));
     $this->registered->setReturnValue('isMemberOfUGroup', false, array(1002, '*'));
     $this->project_member = mock('PFUser');
     $this->project_member->setReturnValue('isSuperUser', false);
     $this->project_member->setReturnValue('getId', 102);
     $this->project_member->setReturnValue('isMemberOfUGroup', true, array(1, '*'));
     $this->project_member->setReturnValue('isMemberOfUGroup', true, array(2, '*'));
     $this->project_member->setReturnValue('isMemberOfUGroup', true, array(3, '*'));
     $this->project_member->setReturnValue('isMemberOfUGroup', false, array(4, '*'));
     $this->project_member->setReturnValue('isMemberOfUGroup', false, array(138, '*'));
     $this->project_member->setReturnValue('isMemberOfUGroup', false, array(196, '*'));
     $this->project_member->setReturnValue('isMemberOfUGroup', false, array(1001, '*'));
     $this->project_member->setReturnValue('isMemberOfUGroup', false, array(1002, '*'));
     $this->project_member->setReturnValue('isMember', false, array(102));
     $this->project_admin = mock('PFUser');
     $this->project_admin->setReturnValue('isSuperUser', false);
     $this->project_admin->setReturnValue('getId', 103);
     $this->project_admin->setReturnValue('isMemberOfUGroup', true, array(1, '*'));
     $this->project_admin->setReturnValue('isMemberOfUGroup', true, array(2, '*'));
     $this->project_admin->setReturnValue('isMemberOfUGroup', true, array(3, '*'));
     $this->project_admin->setReturnValue('isMemberOfUGroup', true, array(4, '*'));
     $this->project_admin->setReturnValue('isMemberOfUGroup', false, array(138, '*'));
     $this->project_admin->setReturnValue('isMemberOfUGroup', false, array(196, '*'));
     $this->project_admin->setReturnValue('isMemberOfUGroup', false, array(1001, '*'));
     $this->project_admin->setReturnValue('isMemberOfUGroup', false, array(1002, '*'));
     $this->project_admin->setReturnValue('isMember', false, array(102));
     $this->super_admin = mock('PFUser');
     $this->super_admin->setReturnValue('isSuperUser', true);
     $this->super_admin->setReturnValue('getId', 104);
     $this->super_admin->setReturnValue('isMemberOfUGroup', true, array('*', '*'));
     $this->super_admin->setReturnValue('isMemberOfUGroup', false, array(1001, '*'));
     $this->super_admin->setReturnValue('isMemberOfUGroup', false, array(1002, '*'));
     $this->tracker_submitter = mock('PFUser');
     $this->tracker_submitter->setReturnValue('isSuperUser', false);
     $this->tracker_submitter->setReturnValue('getId', 105);
     $this->tracker_submitter->setReturnValue('isMemberOfUGroup', true, array(1, '*'));
     $this->tracker_submitter->setReturnValue('isMemberOfUGroup', false, array(2, '*'));
     $this->tracker_submitter->setReturnValue('isMemberOfUGroup', false, array(3, '*'));
     $this->tracker_submitter->setReturnValue('isMemberOfUGroup', false, array(4, '*'));
     $this->tracker_submitter->setReturnValue('isMemberOfUGroup', true, array(138, '*'));
     $this->tracker_submitter->setReturnValue('isMemberOfUGroup', false, array(196, '*'));
     $this->tracker_submitter->setReturnValue('isMemberOfUGroup', false, array(1001, '*'));
     $this->tracker_submitter->setReturnValue('isMemberOfUGroup', false, array(1002, '*'));
     $this->tracker_submitter->setReturnValue('isMember', false, array(102));
     $this->tracker_assignee = mock('PFUser');
     $this->tracker_assignee->setReturnValue('isSuperUser', false);
     $this->tracker_assignee->setReturnValue('getId', 106);
     $this->tracker_assignee->setReturnValue('isMemberOfUGroup', true, array(1, '*'));
     $this->tracker_assignee->setReturnValue('isMemberOfUGroup', false, array(2, '*'));
     $this->tracker_assignee->setReturnValue('isMemberOfUGroup', false, array(3, '*'));
     $this->tracker_assignee->setReturnValue('isMemberOfUGroup', false, array(4, '*'));
     $this->tracker_assignee->setReturnValue('isMemberOfUGroup', false, array(138, '*'));
     $this->tracker_assignee->setReturnValue('isMemberOfUGroup', true, array(196, '*'));
     $this->tracker_assignee->setReturnValue('isMemberOfUGroup', false, array(1001, '*'));
     $this->tracker_assignee->setReturnValue('isMemberOfUGroup', false, array(1002, '*'));
     $this->tracker_assignee->setReturnValue('isMember', false, array(102));
     $this->tracker_submitterassignee = mock('PFUser');
     $this->tracker_submitterassignee->setReturnValue('isSuperUser', false);
     $this->tracker_submitterassignee->setReturnValue('getId', 107);
     $this->tracker_submitterassignee->setReturnValue('isMemberOfUGroup', true, array(1, '*'));
     $this->tracker_submitterassignee->setReturnValue('isMemberOfUGroup', false, array(2, '*'));
     $this->tracker_submitterassignee->setReturnValue('isMemberOfUGroup', false, array(3, '*'));
     $this->tracker_submitterassignee->setReturnValue('isMemberOfUGroup', false, array(4, '*'));
     $this->tracker_submitterassignee->setReturnValue('isMemberOfUGroup', true, array(138, '*'));
     $this->tracker_submitterassignee->setReturnValue('isMemberOfUGroup', true, array(196, '*'));
     $this->tracker_submitterassignee->setReturnValue('isMemberOfUGroup', false, array(1001, '*'));
     $this->tracker_submitterassignee->setReturnValue('isMemberOfUGroup', false, array(1002, '*'));
     $this->tracker_submitterassignee->setReturnValue('isMember', false, array(102));
     $this->tracker_admin = mock('PFUser');
     $this->tracker_admin->setReturnValue('isSuperUser', false);
     $this->tracker_admin->setReturnValue('getId', 107);
     $this->tracker_admin->setReturnValue('isMemberOfUGroup', false, array(1, '*'));
     $this->tracker_admin->setReturnValue('isMemberOfUGroup', false, array(2, '*'));
     $this->tracker_admin->setReturnValue('isMemberOfUGroup', false, array(3, '*'));
     $this->tracker_admin->setReturnValue('isMemberOfUGroup', false, array(4, '*'));
     $this->tracker_admin->setReturnValue('isMemberOfUGroup', false, array(138, '*'));
     $this->tracker_admin->setReturnValue('isMemberOfUGroup', false, array(196, '*'));
     $this->tracker_admin->setReturnValue('isMemberOfUGroup', true, array(1001, '*'));
     $this->tracker_admin->setReturnValue('isMemberOfUGroup', false, array(1002, '*'));
     $this->tracker_admin->setReturnValue('isMember', false, array(102));
     $this->all_trackers_forge_admin_user = mock('PFUser');
     $this->all_trackers_forge_admin_user->setReturnValue('getId', 888);
     $this->all_trackers_forge_admin_user->setReturnValue('isMember', false);
     $this->all_trackers_forge_admin_user->setReturnValue('isSuperUser', false);
     $this->all_trackers_forge_admin_user->setReturnValue('isMemberOfUGroup', false);
     $this->all_trackers_forge_admin_user->setReturnValue('isMemberOfUGroup', false);
     $this->all_trackers_forge_admin_user->setReturnValue('isLoggedIn', true);
     $this->workflow_factory = new MockWorkflowFactory();
     $this->tracker->setReturnReference('getWorkflowFactory', $this->workflow_factory);
     $this->formelement_factory = new MockTracker_FormElementFactory();
     $this->tracker->setReturnReference('getFormElementFactory', $this->formelement_factory);
     $this->report_factory = new MockTracker_ReportFactory();
     $this->tracker->setReturnReference('getReportFactory', $this->report_factory);
     $this->canned_response_factory = new MockTracker_CannedResponseFactory();
     $this->tracker->setReturnReference('getCannedResponseFactory', $this->canned_response_factory);
     $this->permission_controller = mock('Tracker_Permission_PermissionController');
     stub($this->tracker)->getPermissionController()->returns($this->permission_controller);
     $this->permission_controller1 = mock('Tracker_Permission_PermissionController');
     stub($this->tracker1)->getPermissionController()->returns($this->permission_controller1);
     $this->permission_controller2 = mock('Tracker_Permission_PermissionController');
     stub($this->tracker2)->getPermissionController()->returns($this->permission_controller2);
     $this->hierarchy = new Tracker_Hierarchy();
     $hierarchy_factory = mock('Tracker_HierarchyFactory');
     stub($hierarchy_factory)->getHierarchy()->returns($this->hierarchy);
     $this->tracker->setReturnValue('getHierarchyFactory', $hierarchy_factory);
     $this->workflow_factory = mock('WorkflowFactory');
     WorkflowFactory::setInstance($this->workflow_factory);
     $this->user_manager = mock('UserManager');
     UserManager::setInstance($this->user_manager);
     $GLOBALS['Response'] = new MockLayout();
     $GLOBALS['UGROUPS'] = array('UGROUP_1' => 1, 'UGROUP_2' => 2, 'UGROUP_3' => 3, 'UGROUP_4' => 4, 'UGROUP_5' => 5);
 }