コード例 #1
0
ファイル: UserManagerTest.php プロジェクト: nterray/tuleap
 function testGetUserByIdentifierPluginNoAnswerWithComplexId()
 {
     $em = new MockEventManager($this);
     $em->expectOnce('processEvent');
     $um = new UserManager4GetByIdent($this);
     $um->setReturnReference('_getEventManager', $em);
     $um->expectNever('getUserByUserName');
     $user = $um->getUserByIdentifier('plugin:test');
     $this->assertNull($user);
 }
コード例 #2
0
ファイル: ItemFactoryTest.php プロジェクト: nterray/tuleap
 function testRestoreDeletedItemFileWithSomeVersionRestoreFailure()
 {
     $itemFactory = new Docman_ItemFactoryTestRestore($this);
     $item = new MockDocman_File($this);
     $item->setReturnValue('getId', 112);
     $item->setReturnValue('getGroupId', 114);
     $itemFactory->setReturnValue('getItemTypeForItem', PLUGIN_DOCMAN_ITEM_TYPE_FILE);
     $dao = new MockDocman_ItemDao($this);
     $dao->expectOnce('restore', array(112));
     $dao->setReturnValue('restore', true);
     $itemFactory->setReturnValue('_getItemDao', $dao);
     $v1 = new MockDocman_Version($this);
     $v2 = new MockDocman_Version($this);
     $versionFactory = new MockDocman_VersionFactory($this);
     $versionFactory->expectOnce('listVersionsToPurgeForItem', array($item));
     $versionFactory->setReturnValue('listVersionsToPurgeForItem', array($v1, $v2));
     $versionFactory->expectAt(0, 'restore', array($v1));
     $versionFactory->setReturnValueAt(0, 'restore', true);
     $versionFactory->expectAt(1, 'restore', array($v2));
     $versionFactory->setReturnValueAt(1, 'restore', false);
     $itemFactory->setReturnValue('_getVersionFactory', $versionFactory);
     // Event
     $user = new MockUser($this);
     $um = new MockUserManager($this);
     $um->setReturnValue('getCurrentUser', $user);
     $itemFactory->setReturnValue('_getUserManager', $um);
     $em = new MockEventManager($this);
     $em->expectOnce('processEvent', array('plugin_docman_event_restore', array('group_id' => 114, 'item' => $item, 'user' => $user)));
     $itemFactory->setReturnValue('_getEventManager', $em);
     $this->assertTrue($itemFactory->restore($item));
 }
コード例 #3
0
 function processEvent($event, $params)
 {
     foreach (parent::processEvent($event, $params) as $key => $value) {
         $params[$key] = $value;
     }
 }
コード例 #4
0
 public function testRenameDBUpdateFailure()
 {
     $evt = new SystemEvent_PROJECT_RENAME_TestVersion($this);
     $evt->__construct('1', SystemEvent::TYPE_PROJECT_RENAME, '142' . SystemEvent::PARAMETER_SEPARATOR . 'FooBar', SystemEvent::PRIORITY_HIGH, SystemEvent::STATUS_RUNNING, $_SERVER['REQUEST_TIME'], $_SERVER['REQUEST_TIME'], $_SERVER['REQUEST_TIME'], '');
     // The project
     $project = new MockProject($this);
     $project->setReturnValue('getUnixName', 'TestProj', array(false));
     $project->setReturnValue('getUnixName', 'testproj', array(true));
     $evt->setReturnValue('getProject', $project, array('142'));
     // SVN
     $backendSVN = new MockBackendSVN($this);
     $backendSVN->setReturnValue('repositoryExists', false);
     $evt->setReturnValue('getBackend', $backendSVN, array('SVN'));
     // CVS
     $backendCVS = new MockBackendCVS($this);
     $backendCVS->setReturnValue('repositoryExists', false);
     $evt->setReturnValue('getBackend', $backendCVS, array('CVS'));
     // System
     $backendSystem = new MockBackendSystem($this);
     $backendSystem->setReturnValue('projectHomeExists', false);
     //FRS
     $backendSystem->setReturnValue('renameFileReleasedDirectory', true);
     // FTP
     $backendSystem->setReturnValue('renameAnonFtpDirectory', true);
     $backendSystem->expectOnce('renameAnonFtpDirectory', array($project, 'FooBar'));
     $evt->setReturnValue('getBackend', $backendSystem, array('System'));
     // DB
     $evt->setReturnValue('updateDB', false);
     // Event
     $em = new MockEventManager($this);
     $em->expectOnce('processEvent', array('SystemEvent_PROJECT_RENAME', array('project' => $project, 'new_name' => 'FooBar')));
     $evt->setReturnValue('getEventManager', $em);
     $evt->expectOnce('addProjectHistory', array('rename_with_error', 'TestProj :: FooBar (event n°1)', $project->getId()));
     // There is an error, the rename in not "done"
     $evt->expectNever('done');
     $this->assertFalse($evt->process());
 }
コード例 #5
0
ファイル: VersionFactoryTest.php プロジェクト: nterray/tuleap
 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));
 }
コード例 #6
0
ファイル: PluginManagerTest.php プロジェクト: nterray/tuleap
 function testLoadPlugins()
 {
     //The hooks
     $hook_A = array('hook' => 'hook_A', 'callback' => 'CallHook', 'recallHook' => true);
     $hook_B = array('hook' => 'hook_B', 'callback' => 'CallHook', 'recallHook' => true);
     $it_hook_p1 = new MockIterator($this);
     $it_hook_p1->setReturnValue('valid', true);
     $it_hook_p1->setReturnValueAt(2, 'valid', false);
     $it_hook_p1->setReturnReferenceAt(0, 'current', $hook_A);
     $it_hook_p1->setReturnReferenceAt(1, 'current', $hook_B);
     $hooks_p1 = new MockCollection($this);
     $hooks_p1->setReturnReference('iterator', $it_hook_p1);
     $it_hook_p2 = new MockIterator($this);
     $it_hook_p2->setReturnValue('valid', true);
     $it_hook_p2->setReturnValueAt(1, 'valid', false);
     $it_hook_p2->setReturnReferenceAt(0, 'current', $hook_A);
     $hooks_p2 = new MockCollection($this);
     $hooks_p2->setReturnReference('iterator', $it_hook_p2);
     //A plugin (available)        --listen A & B
     $plugin_1 = new MockPlugin($this);
     $plugin_1->expectCallCount('getHooksAndCallbacks', 1);
     $plugin_1->setReturnValue('getId', 123);
     $plugin_1->setReturnReference('getHooksAndCallbacks', $hooks_p1);
     //Another Plugin (available)  --listen only A
     $plugin_2 = new MockPlugin($this);
     $plugin_2->expectCallCount('getHooksAndCallbacks', 1);
     $plugin_2->setReturnValue('getId', 124);
     $plugin_2->setReturnReference('getHooksAndCallbacks', $hooks_p2);
     //The plugin factory
     $plugin_factory = new MockPluginFactory($this);
     $plugin_factory->setReturnValue('getAvailablePlugins', array($plugin_1, $plugin_2));
     //The event manager
     $em = new MockEventManager($this);
     $em->expectCallCount('addListener', 3);
     // 2*A+1*B hooks
     $args_0 = array();
     $args_0[] = $hook_A['hook'];
     $args_0[] = $plugin_1;
     $args_0[] = $hook_A['callback'];
     $args_0[] = $hook_A['recallHook'];
     $args_0[] = 0;
     $args_1 = array();
     $args_1[] = $hook_B['hook'];
     $args_1[] = $plugin_1;
     $args_1[] = $hook_B['callback'];
     $args_1[] = $hook_B['recallHook'];
     $args_1[] = 0;
     $args_2 = array();
     $args_2[] = $hook_A['hook'];
     $args_2[] = $plugin_2;
     $args_2[] = $hook_A['callback'];
     $args_2[] = $hook_A['recallHook'];
     $args_2[] = 10;
     $em->expectAt(0, 'addListener', $args_0);
     $em->expectAt(1, 'addListener', $args_1);
     $em->expectAt(2, 'addListener', $args_2);
     //The priorities
     $phgm = new MockPluginHookPriorityManager($this);
     $phgm->expectCallCount('getPriorityForPluginHook', 3);
     $args_phgm_0 = array();
     $args_phgm_0[] = $plugin_1;
     $args_phgm_0[] = $hook_A['hook'];
     $args_phgm_1 = array();
     $args_phgm_1[] = $plugin_1;
     $args_phgm_1[] = $hook_B['hook'];
     $args_phgm_2 = array();
     $args_phgm_2[] = $plugin_2;
     $args_phgm_2[] = $hook_A['hook'];
     $phgm->expectAt(0, 'getPriorityForPluginHook', $args_phgm_0);
     $phgm->expectAt(1, 'getPriorityForPluginHook', $args_phgm_1);
     $phgm->expectAt(2, 'getPriorityForPluginHook', $args_phgm_2);
     $phgm->setReturnValue('getPriorityForPluginHook', 0);
     $phgm->setReturnValueAt(2, 'getPriorityForPluginHook', 10);
     //124|hook_A
     //The plugins manager
     $pm = new PluginManagerTestVersion($this);
     $pm->setReturnReference('_getPluginFactory', $plugin_factory);
     $pm->setReturnReference('_getEventManager', $em);
     $pm->setReturnReference('_getPluginHookPriorityManager', $phgm);
     $pm->PluginManager();
     $this->assertFalse($pm->isPluginsLoaded());
     $pm->loadPlugins();
     $this->assertTrue($pm->isPluginsLoaded());
 }