private function GivenThereIsNoPreviousCallStoredInDB()
 {
     $dao = new MockSOAP_RequestLimitatorDao();
     $dar = new MockDataAccessResult();
     $dar->setReturnValue('rowCount', 0);
     $dar->setReturnValue('getRow', null);
     $dao->setReturnValue('searchFirstCallToMethod', $dar);
     $dao->expectOnce('saveCallToMethod', array('addProject', '*'));
     return $dao;
 }
 function testGetChangesetValue_doesnt_exist()
 {
     $value_dao = new MockTracker_FormElement_Field_Value_TextDao();
     $dar = new MockDataAccessResult();
     $dar->setReturnValue('getRow', false);
     $value_dao->setReturnReference('searchById', $dar);
     $text_field = new Tracker_FormElement_Field_TextTestVersion();
     $text_field->setReturnReference('getValueDao', $value_dao);
     $this->assertNull($text_field->getChangesetValue(null, 123, false));
 }
Example #3
0
 function testUserNameIsAlreadyGroup()
 {
     $darUser = new MockDataAccessResult($this);
     $darUser->setReturnValue('rowCount', 0);
     $darGroup = new MockDataAccessResult($this);
     $darGroup->setReturnValue('rowCount', 1);
     $ldapUserDao = new LDAP_UserDaoTV($this);
     $ldapUserDao->da = new MockDataAccess($this);
     $ldapUserDao->da->expectCallCount('quoteSmart', 2);
     $ldapUserDao->setReturnValueAt(0, 'retrieve', $darUser);
     $ldapUserDao->setReturnValueAt(1, 'retrieve', $darGroup);
     $ldapUserDao->expectCallCount('retrieve', 2);
     $this->assertFalse($ldapUserDao->userNameIsAvailable('coincoin'));
 }
 function testGetFRSPackageFromDb()
 {
     $packageArray1 = array('package_id' => 1, 'group_id' => 1, 'name' => 'pkg1', 'status_id' => 2, 'rank' => null, 'approve_license' => null, 'data_array' => null, 'package_releases' => null, 'error_state' => null, 'error_message' => null);
     $package1 = FRSPackageFactory::getFRSPackageFromArray($packageArray1);
     $dar1 = new MockDataAccessResult($this);
     $dar1->setReturnValue('isError', false);
     $dar1->setReturnValue('current', $packageArray1);
     $dar1->setReturnValueAt(0, 'valid', true);
     $dar1->setReturnValueAt(1, 'valid', false);
     $dar1->setReturnValue('rowCount', 1);
     $packageArray2 = array('package_id' => 2, 'group_id' => 2, 'name' => 'pkg2', 'status_id' => 1, 'rank' => null, 'approve_license' => null, 'data_array' => null, 'package_releases' => null, 'error_state' => null, 'error_message' => null);
     $package2 = FRSPackageFactory::getFRSPackageFromArray($packageArray2);
     $dar2 = new MockDataAccessResult($this);
     $dar2->setReturnValue('isError', false);
     $dar2->setReturnValue('current', $packageArray2);
     $dar2->setReturnValueAt(0, 'valid', true);
     $dar2->setReturnValueAt(1, 'valid', false);
     $dar2->setReturnValue('rowCount', 1);
     $dar3 = new MockDataAccessResult($this);
     $dar3->setReturnValue('isError', false);
     $dar3->setReturnValue('current', array());
     $dar3->setReturnValueAt(0, 'valid', true);
     $dar3->setReturnValueAt(1, 'valid', false);
     $dar3->setReturnValue('rowCount', 0);
     $dao = new FRSPackageDaoTestVersion();
     $dao->da = TestHelper::getPartialMock('DataAccess', array('DataAccess'));
     $dao->setReturnValue('retrieve', $dar1, array('SELECT p.*  FROM frs_package AS p  WHERE  p.package_id = 1  ORDER BY rank DESC LIMIT 1'));
     $dao->setReturnValue('retrieve', $dar2, array('SELECT p.*  FROM frs_package AS p  WHERE  p.package_id = 2  AND p.status_id != 0  ORDER BY rank DESC LIMIT 1'));
     $dao->setReturnValue('retrieve', $dar3);
     $PackageFactory = new FRSPackageFactoryTestVersion();
     $PackageFactory->setReturnValue('_getFRSPackageDao', $dao);
     $this->assertEqual($PackageFactory->getFRSPackageFromDb(1, null, 0x1), $package1);
     $this->assertEqual($PackageFactory->getFRSPackageFromDb(2), $package2);
 }
 function testGetRuleById()
 {
     $rules_dar = new MockDataAccessResult();
     $rules_dar->setReturnValue('getRow', array('id' => 123, 'tracker_id' => 1, 'source_field_id' => 2, 'source_value_id' => 10, 'target_field_id' => 4, 'rule_type' => 4, 'target_value_id' => 100));
     $rules_dao = new MockTracker_RuleDao();
     $rules_dao->setReturnReference('searchById', $rules_dar, array(123));
     $arf = new Tracker_RuleFactory($rules_dao);
     $r = $arf->getRuleById(123);
     $this->assertIsA($r, 'Tracker_Rule');
     $this->assertIsA($r, 'Tracker_Rule_Value');
     $this->assertEqual($r->id, 123);
     $this->assertEqual($r->tracker_id, 1);
     $this->assertEqual($r->source_field, 2);
     $this->assertEqual($r->target_field, 4);
     $this->assertEqual($r->source_value, 10);
     $this->assertEqual($r->target_value, 100);
     $this->assertFalse($arf->getRuleById(124), 'If id is inexistant, then return will be false');
     $this->assertReference($arf->getRuleById(123), $r, 'We do not create two different instances for the same id');
 }
Example #6
0
 public static function errorDar()
 {
     $dar = new MockDataAccessResult();
     $dar->setReturnValue('valid', false);
     $dar->setReturnValue('current', false);
     $dar->setReturnValue('rowCount', 0);
     $dar->setReturnValue('isError', true);
     $dar->setReturnValue('getRow', false);
     return $dar;
 }
Example #7
0
 function testValidateRecipientEmpty()
 {
     $dao =& new MockUserDao($this);
     $dao->expectAt(0, 'searchStatusByEmail', array('*****@*****.**'));
     $dao->expectAt(1, 'searchStatusByEmail', array('*****@*****.**'));
     $dao->expectAt(2, 'searchStatusByEmail', array('*****@*****.**'));
     $exists_a = new MockDataAccessResult($this);
     $exists_a->setReturnValue('rowCount', 1);
     $exists_a->setReturnValue('getRow', false);
     $exists_a->setReturnValueAt(0, 'getRow', array('email' => '*****@*****.**', 'status' => 'S'));
     $dao->setReturnValueAt(0, 'searchStatusByEmail', $exists_a);
     $exists_r = new MockDataAccessResult($this);
     $exists_r->setReturnValue('rowCount', 1);
     $exists_r->setReturnValue('getRow', false);
     $exists_r->setReturnValueAt(0, 'getRow', array('email' => '*****@*****.**', 'status' => 'S'));
     $dao->setReturnValueAt(1, 'searchStatusByEmail', $exists_r);
     $mail =& new MailTestVersion($this);
     $mail->setReturnReference('_getUserDao', $dao);
     $mail->__construct();
     $recipients = $mail->_validateRecipient('exists@1.com, exists@2.com');
     $this->assertEqual($recipients, '');
 }
 function testDeleteProjectMailingListsSuccess()
 {
     $backend = new BackendMailingList_TestVersion();
     $dao = new MockMailingListDao();
     $dar = new MockDataAccessResult();
     $dar->setReturnValue('isError', false);
     $dar->setReturnValueAt(0, 'getRow', true);
     $dar->setReturnValueAt(1, 'getRow', true);
     $dar->setReturnValueAt(2, 'getRow', false);
     $dao->setReturnValue('searchByProject', $dar);
     $dao->setReturnValue('deleteList', true);
     $backend->setReturnValue('_getMailingListDao', $dao);
     $backend->expectCallCount('deleteList', 2);
     $backend->setReturnValue('deleteList', true);
     $this->assertTrue($backend->deleteProjectMailingLists(1));
 }
Example #9
0
 public function testGetRepositoryIDByNameNoRepository()
 {
     $repo = new GitRepositorySecondTestVersion();
     $pm = new MockProjectManager();
     $project = new Mockproject();
     $repo->setReturnValue('_getProjectManager', $pm);
     $pm->setReturnValue('getProjectByUnixName', $project);
     $dao = new MockGitDao();
     $repo->setReturnValue('getDao', $dao);
     $dar = new MockDataAccessResult();
     $dar->setReturnValue('isError', true);
     $dao->setReturnValue('getProjectRepositoryByName', $dar);
     $this->assertEqual($repo->getRepositoryIDByName('repo', 'prj'), 0);
     $repo->expectOnce('_getProjectManager');
     $dao->expectOnce('getProjectRepositoryByName');
     $project->expectOnce('getID');
     $dar->expectOnce('isError');
     $dar->expectNever('getRow');
 }
 function testGetChangesetValue_doesnt_exist()
 {
     $value_dao = new MockTracker_FormElement_Field_Value_FileDao();
     $dar = new MockDataAccessResult();
     $dar->setReturnValue('getRow', false);
     $value_dao->setReturnReference('searchById', $dar);
     $file_field = new Tracker_FormElement_Field_FileTestVersion();
     $file_field->setReturnReference('getValueDao', $value_dao);
     $changeset_value = $file_field->getChangesetValue(null, 123, false);
     $this->assertIsA($changeset_value, 'Tracker_Artifact_ChangesetValue_File');
     $this->assertEqual(count($changeset_value->getFiles()), 0);
 }
Example #11
0
 function testRestoreOneVersionAlreadyPurged()
 {
     $filePath = dirname(__FILE__) . '/_fixtures/version.test';
     $versionFactory = new Docman_VersionFactoryTestVersion($this);
     $dao = new MockDocman_VersionDao($this);
     $versionFactory->setReturnValue('_getVersionDao', $dao);
     $dar = new MockDataAccessResult($this);
     $dar->setReturnValue('isError', false);
     $dar->setReturnValue('getRow', array('purge_date' => 1234567890, 'path' => $filePath));
     $dao->expectOnce('searchDeletedVersion', array(1664, 2));
     $dao->setReturnValue('searchDeletedVersion', $dar);
     $em = new MockEventManager($this);
     $em->expectNever('processEvent', array('plugin_docman_event_restore_version'));
     $versionFactory->setReturnValue('_getEventManager', $em);
     $dao->expectNever('restore');
     $version = new MockDocman_Version($this);
     $version->setReturnValue('getNumber', 2);
     $version->setReturnValue('getItemId', 1664);
     $this->assertFalse($versionFactory->restore($version));
 }
 function testGetFieldData()
 {
     $bind = new MockTracker_FormElement_Field_List_Bind();
     $bind->setReturnValue('getFieldData', '115', array('existing value', '*'));
     $bind->setReturnValue('getFieldData', '118', array('yet another existing value', '*'));
     $bind->setReturnValue('getFieldData', null, array('new value', '*'));
     $bind->setReturnValue('getFieldData', null, array('yet another new value', '*'));
     $bind->setReturnValue('getFieldData', null, array('existing open value', '*'));
     $bind->setReturnValue('getFieldData', null, array('yet another existing open value', '*'));
     $bind->setReturnValue('getFieldData', null, array('', '*'));
     $odar = new MockDataAccessResult();
     $odar->setReturnValue('getRow', false);
     $open_value_dao = new MockTracker_FormElement_Field_List_OpenValueDao();
     $odar_30 = new MockDataAccessResult();
     $odar_30->setReturnValue('getRow', array('id' => '30', 'field_id' => '1', 'label' => 'existing open value'));
     $odar_40 = new MockDataAccessResult();
     $odar_40->setReturnValue('getRow', array('id' => '40', 'field_id' => '1', 'label' => 'yet another existing open value'));
     $open_value_dao->setReturnReference('searchByExactLabel', $odar_30, array(1, 'existing open value'));
     $open_value_dao->setReturnReference('searchByExactLabel', $odar_40, array(1, 'yet another existing open value'));
     $open_value_dao->setReturnReference('searchByExactLabel', $odar, array(1, 'new value'));
     $open_value_dao->setReturnReference('searchByExactLabel', $odar, array(1, 'yet another new value'));
     $open_value_dao->setReturnReference('searchByExactLabel', $odar, array(1, ''));
     $f = new Tracker_FormElement_Field_OpenListTestVersion();
     $f->setReturnReference('getOpenValueDao', $open_value_dao);
     $f->setReturnReference('getBind', $bind);
     $f->setReturnValue('getId', 1);
     $this->assertEqual("!new value,!yet another new value", $f->getFieldData('new value,yet another new value', true));
     $this->assertEqual("!new value,b115", $f->getFieldData('new value,existing value', true));
     $this->assertEqual("!new value,o30,b115", $f->getFieldData('new value,existing open value,existing value', true));
     $this->assertNull($f->getFieldData('', true));
 }
Example #13
0
 function testPurgeDeletedItems()
 {
     $itemFactory = new Docman_ItemFactoryTestVersion($this);
     $dar = new MockDataAccessResult($this);
     $dar->setReturnValue('isError', false);
     $dar->setReturnValue('current', array('id' => null, 'title' => null, 'description' => null, 'createDate' => null, 'updateDate' => null, 'deleteDate' => null, 'rank' => null, 'parentId' => null, 'groupId' => null, 'ownerId' => null, 'status' => null, 'obsolescenceDate' => null));
     $dar->setReturnValueAt(0, 'valid', true);
     $dar->setReturnValueAt(1, 'valid', false);
     $dar->setReturnValue('rowCount', 1);
     $dao = new MockDocman_ItemDao($this);
     $dao->expectOnce('listItemsToPurge');
     $dao->setReturnValue('listItemsToPurge', $dar);
     $itemFactory->setReturnValue('_getItemDao', $dao);
     $itemFactory->expectOnce('purgeDeletedItem');
     $this->assertTrue($itemFactory->PurgeDeletedItems(1234567890));
 }
Example #14
0
 function testPluginIsCustom()
 {
     $plugin_dao = new MockPluginDao($this);
     $access_result_custom = new MockDataAccessResult($this);
     $access_result_custom->setReturnValue('getRow', false);
     $access_result_custom->setReturnValueAt(0, 'getRow', array('id' => '123', 'name' => 'custom', 'available' => 1));
     $plugin_dao->setReturnReferenceAt(0, 'searchByName', $access_result_custom);
     $access_result_official = new MockDataAccessResult($this);
     $access_result_official->setReturnValue('getRow', false);
     $access_result_official->setReturnValueAt(0, 'getRow', array('id' => '124', 'name' => 'official', 'available' => 1));
     $plugin_dao->setReturnReferenceAt(1, 'searchByName', $access_result_official);
     $restrictor = mock('PluginResourceRestrictor');
     $pf = partial_mock('PluginFactory', array('_getClassNameForPluginName'), array($plugin_dao, $restrictor));
     $pf->setReturnValueAt(0, '_getClassNameForPluginName', array('class' => 'customPlugin', 'custom' => true));
     $pf->setReturnValueAt(1, '_getClassNameForPluginName', array('class' => 'officialPlugin', 'custom' => false));
     $plugin_custom = $pf->getPluginByName('custom');
     $this->assertIsA($plugin_custom, 'Plugin');
     $this->assertTrue($pf->pluginIsCustom($plugin_custom));
     $plugin_official = $pf->getPluginByName('official');
     $this->assertIsA($plugin_official, 'Plugin');
     $this->assertFalse($pf->pluginIsCustom($plugin_official));
 }
Example #15
0
 function testPreferences()
 {
     $dao = new MockUserPreferencesDao($this);
     $dar = new MockDataAccessResult($this);
     $empty_dar = new MockDataAccessResult($this);
     $empty_dar->setReturnValue('getRow', false);
     $dar->setReturnValueAt(0, 'getRow', array('preference_value' => '123'));
     $dar->setReturnValueAt(1, 'getRow', false);
     $dao->setReturnReference('search', $empty_dar, array(666, 'unexisting_preference'));
     $dao->setReturnReference('search', $dar, array(666, 'existing_preference'));
     $dao->expectCallCount('search', 2);
     $dao->setReturnValue('set', true, array(666, 'existing_preference', '456'));
     $dao->expectOnce('set');
     $dao->setReturnValue('delete', true, array(666, 'existing_preference'));
     $dao->expectOnce('delete');
     $user = new UserTestVersion($this);
     $user->setReturnReference('getPreferencesDao', $dao);
     $user->setReturnValue('getId', 666);
     $this->assertFalse($user->getPreference('unexisting_preference'), 'Unexisting preference, should return false');
     $this->assertEqual('123', $user->getPreference('existing_preference'), 'Existing preference should return 123');
     $this->assertEqual('123', $user->getPreference('existing_preference'), 'Existing preference should return 123, should be cached');
     $this->assertTrue($user->setPreference('existing_preference', '456'), 'Updating preference should return true. %s');
     $this->assertEqual('456', $user->getPreference('existing_preference'), 'Existing preference has been updated, should now return 456. No call to dao since cached during update');
     $this->assertTrue($user->delPreference('existing_preference'), 'Deletion of preference should return true');
     $this->assertFalse($user->getPreference('existing_preference'), 'Preferences has been deleted. No call to dao since cached during delete');
 }
Example #16
0
 public function arrayToDar()
 {
     $argList = func_get_args();
     $dar = new MockDataAccessResult();
     $rowCount = 0;
     foreach ($argList as $row) {
         $dar->setReturnValueAt($rowCount, 'valid', true);
         $dar->setReturnValueAt($rowCount, 'current', $row);
         $rowCount++;
     }
     $dar->setReturnValueAt($rowCount, 'valid', false);
     $dar->setReturnValue('rowCount', $rowCount);
     $dar->setReturnValue('isError', false);
     return $dar;
 }
Example #17
0
 function testArtifactExist()
 {
     $url = new URLTestVersion($this);
     $dao = new MockArtifactDao($this);
     $exists = new MockDataAccessResult($this);
     $exists->setReturnValue('getRow', false);
     $exists->setReturnValueAt(0, 'getRow', array('group_id' => '1'));
     $exists1 = new MockDataAccessResult($this);
     $exists1->setReturnValue('getRow', false);
     $exists1->setReturnValueAt(0, 'getRow', array('group_id' => '1'));
     $dao->setReturnReferenceAt(0, 'searchArtifactId', $exists);
     $dao->setReturnReferenceAt(1, 'searchArtifactId', $exists1);
     $_REQUEST['artifact_id'] = 1;
     $url->setReturnReference('getArtifactDao', $dao);
     $this->assertEqual($url->getGroupIdFromURL('/tracker/download.php?artifact_id=exist'), 1);
     $this->assertNotEqual($url->getGroupIdFromURL('/toto/tracker/download.php?artifact_id=exist'), 1);
 }
    function testNotify()
    {
        $defs = array(array('has_changed' => 1, 'isNotificationsSupported' => 1, 'hasNotifications' => 0, 'recipients' => array()), array('has_changed' => 0, 'isNotificationsSupported' => 1, 'hasNotifications' => 1, 'recipients' => array('a_user')), array('has_changed' => 0, 'isNotificationsSupported' => 1, 'hasNotifications' => 0, 'recipients' => array('should_not_appear')), array('has_changed' => 0, 'isNotificationsSupported' => 0, 'hasNotifications' => 1, 'recipients' => array('should_not_appear_(not_supported)')), array('has_changed' => 0, 'isNotificationsSupported' => 1, 'hasNotifications' => 1, 'recipients' => array('multiple_users', '*****@*****.**')));
        $fact = new MockTracker_FormElementFactory();
        $dar = new MockDataAccessResult();
        $dao = new MockTracker_Artifact_Changeset_ValueDao();
        $artifact = new MockTracker_Artifact();
        $tracker = new MockTracker();
        $um = new MockUserManager();
        $i = 0;
        // try DRY in unit tests also... build mocks automatically
        foreach ($defs as $d) {
            $id = $i + 1;
            $changeset_value_id = 1000 + $id;
            $dar->setReturnValueAt($i++, 'current', array('changeset_id' => 66, 'field_id' => $id, 'id' => $changeset_value_id, 'has_changed' => $d['has_changed']));
            $f = new MockTracker_FormElement_Field_Selectbox();
            $fact->setReturnReference('getFieldById', $f, array($id));
            $f->setReturnValue('getId', $id);
            $f->setReturnValue('getLabel', 'field_' . $id);
            $f->setReturnValue('isNotificationsSupported', $d['isNotificationsSupported']);
            $f->setReturnValue('hasNotifications', $d['hasNotifications']);
            $f->setReturnValue('getRecipients', $d['recipients']);
            $p = new MockTracker_Artifact_ChangesetValue_List();
            $c = new MockTracker_Artifact_ChangesetValue_List();
            $c->setReturnValue('hasChanged', $d['has_changed']);
            $c->setReturnValue('diff', 'has changed', array($p));
            $f->setReturnReference('getChangesetValue', $c, array('*', $changeset_value_id, $d['has_changed']));
            unset($f);
        }
        $dar->setReturnValue('valid', true);
        $dar->setReturnValueAt($i, 'valid', false);
        $dao->setReturnReference('searchById', $dar);
        $artifact->setReturnReference('getTracker', $tracker);
        $artifact->setReturnValue('getCommentators', array('comment1', 'comment2'));
        $artifact->setReturnValue('getId', 666);
        $tracker->setReturnValue('getItemName', 'story');
        $tracker->setReturnValue('isNotificationStopped', false);
        $tracker->setReturnValue('getRecipients', array(array('recipients' => array('global1', 'global2'), 'on_updates' => false, 'check_permissions' => true), array('recipients' => array('dont_check_perms', 'global3', '*****@*****.**'), 'on_updates' => true, 'check_permissions' => false)));
        $current_changeset = new Tracker_Artifact_ChangesetTestVersion();
        $current_changeset->setReturnValue('getId', 66);
        $current_changeset->setReturnReference('getValueDao', $dao);
        $current_changeset->setReturnReference('getFormElementFactory', $fact);
        $current_changeset->setReturnReference('getArtifact', $artifact);
        $current_changeset->setReturnReference('getUserManager', $um);
        $current_changeset->setReturnReference('getTracker', $tracker);
        $expected_body = <<<BODY
story #666
<http://{$GLOBALS['sys_default_domain']}/tracker/?aid=666>

BODY;
        $current_changeset->expect('sendNotification', array(array('a_user', 'multiple_users', '*****@*****.**', 'dont_check_perms', 'global3', 'comment1', 'comment2'), array(), '[story #666]', $expected_body));
        $current_changeset->notify();
    }
 public function testIsUserNameAvailableWithStringAlreadyQueuded()
 {
     $seDao = new MockSystemEventDao($this);
     $dar = new MockDataAccessResult($this);
     $dar->setReturnValue('rowCount', 1);
     $seDao->ExpectOnce('searchWithParam', array('tail', 'titi', array(SystemEvent::TYPE_USER_RENAME), array(SystemEvent::STATUS_NEW, SystemEvent::STATUS_RUNNING)));
     $seDao->setReturnValue('searchWithParam', $dar);
     $se = new SystemEventManagerTestVersion($this);
     $se->setReturnValue('_getDao', $seDao);
     $this->assertFalse($se->isUserNameAvailable('titi'));
 }
 function testGetChangesetValue_doesnt_exist()
 {
     $value_dao = new $this->dao_class();
     $dar = new MockDataAccessResult();
     $dar->setReturnValue('valid', false);
     $value_dao->setReturnReference('searchById', $dar);
     $list_field = new $this->field_class();
     $list_field->setReturnReference('getValueDao', $value_dao);
     $changeset_value = $list_field->getChangesetValue(null, 123, false);
     $this->assertIsA($changeset_value, $this->cv_class);
     $this->assertTrue(is_array($changeset_value->getListValues()));
     $this->assertEqual(count($changeset_value->getListValues()), 0);
 }
Example #21
0
 function testDeletedUserGetSession()
 {
     $cm = new MockCookieManager($this);
     $dar_valid_hash = new MockDataAccessResult($this);
     $user123 = new MockUser($this);
     $userAnonymous = new MockUser($this);
     $dao = new MockUserDao($this);
     $um = new UserManagerTestVersion($this);
     $user123->setReturnValue('getId', 123);
     $user123->setReturnValue('getUserName', 'user_123');
     $user123->setReturnValue('isAnonymous', false);
     $user123->setReturnValue('isDeleted', true);
     $userAnonymous->setReturnValue('isAnonymous', true);
     $cm->setReturnValue('getCookie', 'valid_hash');
     $um->setReturnValue('_getServerIp', '212.212.123.12');
     $dar_valid_hash->setReturnValue('getRow', array('user_name' => 'user_123', 'user_id' => 123));
     $dao->setReturnReference('searchBySessionHashAndIp', $dar_valid_hash, array('valid_hash', '212.212.123.12'));
     $um->setReturnReference('getUserInstanceFromRow', $user123, array(array('user_name' => 'user_123', 'user_id' => 123)));
     $um->setReturnReference('getUserInstanceFromRow', $userAnonymous, array(array('user_id' => 0)));
     $dao->expectNever('storeLastAccessDate');
     $dao->expectOnce('deleteAllUserSessions', array(123));
     $um->setReturnReference('getDao', $dao);
     $um->setReturnReference('_getCookieManager', $cm);
     $user = $um->getCurrentUser();
     $this->assertTrue($user->isAnonymous(), 'A deleted user should not be able to use a valid session');
 }
 public function itCleansUserFromRecipientsWhenUserCantReadAtLeastOneChangedField()
 {
     $field1 = new MockTracker_FormElement_Field_Date();
     $value1_previous = new MockTracker_Artifact_ChangesetValue_Date();
     $value1_current = new MockTracker_Artifact_ChangesetValue_Date();
     $dao = new MockTracker_Artifact_Changeset_ValueDao();
     $dar = new MockDataAccessResult();
     $fact = new MockTracker_FormElementFactory();
     $artifact = new MockTracker_Artifact();
     $previous_changeset = new MockTracker_Artifact_Changeset();
     $um = new MockUserManager();
     $comment = new MockTracker_Artifact_Changeset_Comment();
     $current_changeset = new Tracker_Artifact_ChangesetTestVersion();
     $previous_changeset->setReturnValue('getId', 65);
     $previous_changeset->setReturnReference('getValue', $value1_previous, array($field1));
     $previous_changeset->setReturnReference('getUserManager', $um);
     $artifact->setReturnReference('getPreviousChangeset', $previous_changeset, array(66));
     $dar->setReturnValueAt(0, 'current', array('changeset_id' => 66, 'field_id' => 1, 'id' => 11, 'has_changed' => 1));
     $dar->setReturnValue('valid', true);
     $dar->setReturnValueAt(2, 'valid', false);
     $dao->setReturnReference('searchById', $dar);
     $fact->setReturnReference('getFieldById', $field1, array(1));
     $field1->setReturnValue('getId', 1);
     $field1->setReturnValue('getLabel', 'field1');
     $field1->setReturnValue('userCanRead', false);
     $field1->setReturnReference('getChangesetValue', $value1_current, array('*', 11, 1));
     $value1_previous->expectNever('hasChanged');
     $value1_current->setReturnValue('hasChanged', true);
     $value1_current->setReturnValue('diff', 'has changed', array($value1_previous, '*'));
     $comment->setReturnValue('hasEmptyBody', true);
     $current_changeset->setReturnValue('getId', 66);
     $current_changeset->setReturnReference('getValueDao', $dao);
     $current_changeset->setReturnReference('getFormElementFactory', $fact);
     $current_changeset->setReturnReference('getArtifact', $artifact);
     $current_changeset->setReturnReference('getUserManager', $um);
     $current_changeset->setReturnReference('getComment', $comment);
     $recipients = array("recipient1" => true, "recipient2" => true, "recipient3" => true);
     $user1 = stub('PFUser')->getUserName()->returns('recipient1');
     $user2 = stub('PFUser')->getUserName()->returns('recipient2');
     $user3 = stub('PFUser')->getUserName()->returns('recipient3');
     $um->setReturnReference('getUserByUserName', $user1);
     $um->setReturnReference('getUserByUserName', $user2);
     $um->setReturnReference('getUserByUserName', $user3);
     $current_changeset->removeRecipientsThatMayReceiveAnEmptyNotification($recipients);
     $this->assertEqual($recipients, array());
 }
 function testNotAddedToAnyProjectDelayNotExpired()
 {
     $darUser = new MockDataAccessResult($this);
     $darUser->setReturnValueAt(0, 'valid', true);
     $darUser->setReturnValueAt(1, 'valid', false);
     $darUser->setReturnValue('current', array('user_id' => 112));
     $dao = new UserDaoTestValidity($this);
     $dao->expectOnce('returnNotProjectMembers');
     $dao->setReturnReference('returnNotProjectMembers', $darUser);
     $darNewMember = new MockDataAccessResult($this);
     $darNewMember->setReturnValueAt(0, 'valid', true);
     $darNewMember->setReturnValueAt(1, 'valid', false);
     $darNewMember->setReturnValue('isError', false);
     $darNewMember->setReturnValue('rowCount', 0);
     $dao->expectOnce('delayForBeingNotProjectMembers', array(112));
     $dao->setReturnReference('delayForBeingNotProjectMembers', $darNewMember, array(112));
     $darAddDate = new MockDataAccessResult($this);
     $darAddDate->setReturnValueAt(0, 'valid', true);
     $darAddDate->setReturnValueAt(1, 'valid', false);
     $darAddDate->setReturnValue('isError', false);
     $darAddDate->setReturnValue('rowCount', 0);
     $dao->expectOnce('delayForBeingSubscribed', array(112, 1258307747));
     $dao->setReturnReference('delayForBeingSubscribed', $darAddDate, array(112, 1258307747));
     $dao->expectNever('suspendAccount');
     $dao->suspendUserNotProjectMembers(1258307747);
 }
Example #24
0
 function testRestoreDeletedFilesNoFiles()
 {
     $refFile = new FRSFile(array('file_id' => 12));
     $dar = new MockDataAccessResult($this);
     $dar->setReturnValue('isError', false);
     $dar->setReturnValue('rowCount', 0);
     $dao = new MockFRSFileDao($this);
     $dao->expectOnce('searchFilesToRestore');
     $dao->setReturnValue('searchFilesToRestore', $dar);
     $ff = new FRSFileFactoryTestRestoreFiles($this);
     $ff->setReturnValue('_getFRSFileDao', $dao);
     $backend = new MockBackendSystem($this);
     $ff->expectNever('restoreFile', array($refFile, $backend));
     $ff->setReturnValue('restoreFile', false);
     $this->assertTrue($ff->restoreDeletedFiles($backend));
 }
Example #25
0
 function testPluginIsCustom()
 {
     $plugin_dao = new MockPluginDao($this);
     $access_result_custom = new MockDataAccessResult($this);
     $access_result_custom->setReturnValue('getRow', false);
     $access_result_custom->setReturnValueAt(0, 'getRow', array('id' => '123', 'name' => 'custom', 'available' => 1));
     $plugin_dao->setReturnReferenceAt(0, 'searchByName', $access_result_custom);
     $access_result_official = new MockDataAccessResult($this);
     $access_result_official->setReturnValue('getRow', false);
     $access_result_official->setReturnValueAt(0, 'getRow', array('id' => '124', 'name' => 'official', 'available' => 1));
     $plugin_dao->setReturnReferenceAt(1, 'searchByName', $access_result_official);
     $pf = new PluginFactoryTestVersion($this);
     $pf->setReturnValueAt(0, '_getClassNameForPluginName', array('class' => 'customPlugin', 'custom' => true));
     $pf->setReturnValueAt(1, '_getClassNameForPluginName', array('class' => 'officialPlugin', 'custom' => false));
     $pf->PluginFactory($plugin_dao);
     //Only for test. You should use singleton instead
     $plugin_custom = $pf->getPluginByName('custom');
     $this->assertIsA($plugin_custom, 'Plugin');
     $this->assertTrue($pf->pluginIsCustom($plugin_custom));
     $plugin_official = $pf->getPluginByName('official');
     $this->assertIsA($plugin_official, 'Plugin');
     $this->assertFalse($pf->pluginIsCustom($plugin_official));
 }