/**
  * Test when the file download succeede
  */
 function testGetSucceede()
 {
     $webDAVDocmanFile = new WebDAVDocmanFileTestVersion($this);
     $webDAVDocmanFile->setReturnValue('getSize', 1);
     $webDAVDocmanFile->setReturnValue('getMaxFileSize', 1);
     $version = new MockDocman_Version();
     $version->setReturnValue('getPath', dirname(__FILE__) . '/_fixtures/test.txt');
     $item = new MockDocman_File();
     $item->setReturnValue('getCurrentVersion', $version);
     $webDAVDocmanFile->setReturnValue('getItem', $item);
     $webDAVDocmanFile->get();
 }
 public function setUp()
 {
     $GLOBALS['Language'] = new MockBaseLanguage($this);
     // Mock instanciation
     $controller = new MockDocman_SOAPController();
     $controller->feedback = new MockFeedback();
     $version = new MockDocman_Version();
     $version->setReturnValue('getNumber', 0);
     $this->itemFactory = new MockDocman_ItemFactory();
     $folderFactory = new MockDocman_FolderFactory();
     $this->fileStorage = new MockDocman_FileStorage();
     // Item MD5 Map: id => md5sum
     $this->MD5Map = array(128000 => '99999999999999999999999999999999');
     foreach ($this->MD5Map as $itemId => $md5) {
         $file = new MockDocman_File();
         $file->setReturnValue('getID', $itemId);
         $file->setReturnValue('getCurrentVersion', $version);
         $this->itemFactory->setReturnValue('getItemFromDb', $file, array($itemId));
         $this->itemFactory->setReturnValue('getItemTypeForItem', PLUGIN_DOCMAN_ITEM_TYPE_FILE, array($file));
         $this->fileStorage->setReturnValue('getFileMD5sum', $md5);
     }
     $user = mock('PFUser');
     $user->setReturnValue('getId', 9);
     $userManager = new MockUserManager();
     $userManager->setReturnValue('getUserById', $user);
     $userManager->setReturnValue('getUserByUserName', $user);
     $userManager->setReturnValue('getCurrentUser', $user);
     $controller->setReturnValue('getUser', $user);
     $versionFactory = new MockDocman_VersionFactory();
     $versionFactory->setReturnValue('getAllVersionForItem', array($version));
     $this->lockFactory = new MockDocman_LockFactory();
     $this->permissionManager = new MockPermissionsManager();
     $this->docmanPermissionsManager = new MockDocman_PermissionsManager();
     $this->docmanPermissionsManager->setReturnValue('getLockFactory', $this->lockFactory);
     // Partial mock of Docman_SOAPActions
     $this->action = new Docman_SOAPActions_Test();
     $this->action->setReturnValue('_getItemFactory', $this->itemFactory);
     $this->action->setReturnValue('_getFolderFactory', $folderFactory);
     $this->action->setReturnValue('_checkOwnerChange', 101, array('*', '*'));
     $this->action->setReturnValue('_getUserManagerInstance', $userManager);
     $this->action->setReturnValue('_getVersionFactory', $versionFactory);
     $this->action->setReturnValue('_getPermissionsManagerInstance', $this->permissionManager);
     $this->action->setReturnValue('_getDocmanPermissionsManagerInstance', $this->docmanPermissionsManager);
     $this->action->setReturnValue('_getEventManager', new MockEventManager());
     $this->action->setReturnValue('_getFileStorage', $this->fileStorage);
     $this->action->__construct($controller);
 }
示例#3
0
 function testCannotDeleteNonExistantVersion()
 {
     // Definition acceptance criteria:
     // test is complete if there is an info flash message that tells version is deleted
     $ctrl = new MockDocman_Controller($this);
     $ctrl->feedback = new MockFeedback($this);
     // Test log message
     $ctrl->feedback->expectOnce('log', array('error', '*'));
     $GLOBALS['Language']->setReturnValue('getText', 'bla');
     $GLOBALS['Language']->expectOnce('getText', array('plugin_docman', 'error_item_not_deleted_unknown_version'));
     // Setup of the test
     $actions = new Docman_ActionsTest($this);
     $ctrl->request = new MockHTTPRequest($this);
     $ctrl->request->setReturnValue('get', '102', array('group_id'));
     $ctrl->request->setReturnValue('get', '344', array('id'));
     $ctrl->request->setReturnValue('get', '1', array('version'));
     $ctrl->request->setReturnValue('valid', true);
     $actions->_controler = $ctrl;
     $item = new MockDocman_File($this);
     $item->expectNever('accept');
     $if = new MockDocman_ItemFactory($this);
     $if->setReturnValue('getItemFromDb', $item, array(344));
     $if->setReturnValue('getItemTypeForItem', PLUGIN_DOCMAN_ITEM_TYPE_FILE);
     $actions->setReturnValue('_getItemFactory', $if);
     $actions->expectOnce('_getItemFactory', array(102));
     $vf = new MockDocman_VersionFactory($this);
     $v1 = new MockDocman_Version($this);
     $v1->setReturnValue('getNumber', 0);
     $v1->setReturnValue('getLabel', 'label 4');
     $v2 = new MockDocman_Version($this);
     $v2->setReturnValue('getNumber', 2);
     $v2->setReturnValue('getLabel', 'label 5');
     $vf->setReturnValue('getAllVersionForItem', array($v1, $v2));
     $actions->setReturnValue('_getVersionFactory', $vf);
     $actions->setReturnValue('_getEventManager', new MockEventManager($this));
     // Run test
     $actions->deleteVersion();
 }
示例#4
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));
 }