public function testMoveFileName()
 {
     $fileName = 'test_uploader_file';
     $expectedRelativeFilePath = $this->uploader->getTmpDir() . '/' . $fileName;
     $this->directoryMock->expects($this->any())->method('getRelativePath')->with($expectedRelativeFilePath);
     $uploaderMock = $this->getMockBuilder('\\Magento\\CatalogImportExport\\Model\\Import\\Uploader')->setConstructorArgs([$this->coreFileStorageDb, $this->coreFileStorage, $this->imageFactory, $this->validator, $this->filesystem, $this->readFactory])->setMethods(['_setUploadFile', 'save', 'getTmpDir'])->getMock();
     //Check invoking of getTmpDir(), _setUploadFile(), save() methods.
     $uploaderMock->expects($this->once())->method('getTmpDir')->will($this->returnValue(''));
     $uploaderMock->expects($this->once())->method('_setUploadFile')->will($this->returnSelf());
     $uploaderMock->expects($this->once())->method('save')->will($this->returnValue(['name' => null]));
     $uploaderMock->move($fileName);
 }
Example #2
0
 /**
  * Returns an object for upload a media files
  *
  * @param string $type
  * @param array $parameters
  * @return \Magento\CatalogImportExport\Model\Import\Uploader
  * @throws \Magento\Framework\Exception\LocalizedException
  */
 public function getUploader($type, $parameters)
 {
     $dirConfig = DirectoryList::getDefaultConfig();
     $dirAddon = $dirConfig[DirectoryList::MEDIA][DirectoryList::PATH];
     $DS = DIRECTORY_SEPARATOR;
     if (!empty($parameters[\Magento\ImportExport\Model\Import::FIELD_NAME_IMG_FILE_DIR])) {
         $tmpPath = $parameters[\Magento\ImportExport\Model\Import::FIELD_NAME_IMG_FILE_DIR];
     } else {
         $tmpPath = $dirAddon . $DS . $this->mediaDirectory->getRelativePath('import');
     }
     if (!$this->fileUploader->setTmpDir($tmpPath)) {
         throw new \Magento\Framework\Exception\LocalizedException(__('File directory \'%1\' is not readable.', $tmpPath));
     }
     $destinationDir = "downloadable/files/" . $type;
     $destinationPath = $dirAddon . $DS . $this->mediaDirectory->getRelativePath($destinationDir);
     $this->mediaDirectory->create($destinationDir);
     if (!$this->fileUploader->setDestDir($destinationPath)) {
         throw new \Magento\Framework\Exception\LocalizedException(__('File directory \'%1\' is not writable.', $destinationPath));
     }
     return $this->fileUploader;
 }
 /**
  * @dataProvider dataForUploaderDir
  */
 public function testSetUploaderDirFalse($newSku, $bunch, $allowImport)
 {
     $this->connectionMock->expects($this->any())->method('fetchAll')->with($this->select)->willReturnOnConsecutiveCalls([['attribute_set_name' => '1', 'attribute_id' => '1'], ['attribute_set_name' => '2', 'attribute_id' => '2']]);
     $this->downloadableModelMock = $this->objectManagerHelper->getObject('\\Magento\\DownloadableImportExport\\Model\\Import\\Product\\Type\\Downloadable', ['attrSetColFac' => $this->attrSetColFacMock, 'prodAttrColFac' => $this->prodAttrColFacMock, 'resource' => $this->resourceMock, 'params' => $this->paramsArray, 'uploaderHelper' => $this->uploaderHelper, 'downloadableHelper' => $this->downloadableHelper]);
     $this->entityModelMock->expects($this->once())->method('getNewSku')->will($this->returnValue($newSku));
     $this->entityModelMock->expects($this->at(1))->method('getNextBunch')->will($this->returnValue($bunch));
     $this->entityModelMock->expects($this->at(2))->method('getNextBunch')->will($this->returnValue(null));
     $this->entityModelMock->expects($this->any())->method('isRowAllowedToImport')->willReturn($allowImport);
     $exception = new \Magento\Framework\Exception\LocalizedException(new \Magento\Framework\Phrase('Error'));
     $this->setExpectedException('\\Magento\\Framework\\Exception\\LocalizedException');
     $this->setExpectedException('\\Exception');
     $this->uploaderMock->expects($this->any())->method('move')->will($this->throwException($exception));
     $this->downloadableModelMock->saveData();
 }
Example #4
0
 /**
  * Returns an object for upload a media files
  *
  * @return \Magento\CatalogImportExport\Model\Import\Uploader
  * @throws \Magento\Framework\Exception\LocalizedException
  */
 protected function _getUploader()
 {
     if (is_null($this->_fileUploader)) {
         $this->_fileUploader = $this->_uploaderFactory->create();
         $this->_fileUploader->init();
         $dirConfig = DirectoryList::getDefaultConfig();
         $dirAddon = $dirConfig[DirectoryList::MEDIA][DirectoryList::PATH];
         $DS = DIRECTORY_SEPARATOR;
         if (!empty($this->_parameters[\Magento\ImportExport\Model\Import::FIELD_NAME_IMG_FILE_DIR])) {
             $tmpPath = $this->_parameters[\Magento\ImportExport\Model\Import::FIELD_NAME_IMG_FILE_DIR];
         } else {
             $tmpPath = $dirAddon . $DS . $this->_mediaDirectory->getRelativePath('import');
         }
         if (!$this->_fileUploader->setTmpDir($tmpPath)) {
             throw new \Magento\Framework\Exception\LocalizedException(__('File directory \'%1\' is not readable.', $tmpPath));
         }
         $destinationDir = "catalog/product";
         $destinationPath = $dirAddon . $DS . $this->_mediaDirectory->getRelativePath($destinationDir);
         $this->_mediaDirectory->create($destinationPath);
         if (!$this->_fileUploader->setDestDir($destinationPath)) {
             throw new \Magento\Framework\Exception\LocalizedException(__('File directory \'%1\' is not writable.', $destinationPath));
         }
     }
     return $this->_fileUploader;
 }
Example #5
0
 /**
  * Returns an object for upload a media files
  *
  * @return \Magento\CatalogImportExport\Model\Import\Uploader
  * @throws \Magento\Framework\Model\Exception
  */
 protected function _getUploader()
 {
     if (is_null($this->_fileUploader)) {
         $this->_fileUploader = $this->_uploaderFactory->create();
         $this->_fileUploader->init();
         $tmpPath = $this->_mediaDirectory->getAbsolutePath('import');
         if (!$this->_fileUploader->setTmpDir($tmpPath)) {
             throw new \Magento\Framework\Model\Exception(sprintf("File directory '%s' is not readable.", $tmpPath));
         }
         $destinationDir = "catalog/product";
         $destinationPath = $this->_mediaDirectory->getAbsolutePath($destinationDir);
         $this->_mediaDirectory->create($destinationDir);
         if (!$this->_fileUploader->setDestDir($destinationPath)) {
             throw new \Magento\Framework\Model\Exception(sprintf("File directory '%s' is not writable.", $destinationPath));
         }
     }
     return $this->_fileUploader;
 }