/**
  * {@inheritdoc}
  */
 public function createResourceFromPath($path)
 {
     $container = $this->objectStore->getContainer($this->containerName);
     $resource = new RackspaceCloudFilesResource($path);
     //create_object but no problem if already exists
     $objectData = array('name' => $resource->getResourceName());
     if ($mimeType = $this->guessFileType($path)) {
         $objectData['content_type'] = $mimeType;
     }
     if (!($obj = $this->getObjectByContainer($container, $objectData))) {
         return false;
     }
     $resource->setObject($obj);
     $resource->setContainer($container);
     return $resource;
 }
 /**
  * We want to test that the file is unlinked
  */
 public function testCreateResourceFromPath()
 {
     $resourceName = 'js_75a9295_bootstrap-modal_3.js';
     $resourceContainerName = 'liuggio_assetic';
     $path = 'rscf://' . $resourceContainerName . '/' . $resourceName;
     $object = $this->getMockBuilder('\\OpenCloud\\ObjectStore\\Resource\\Container')->disableOriginalConstructor()->setMethods(array('setName'))->getMock();
     $object->expects($this->once())->method('setName')->with($this->equalTo($resourceName));
     $container = $this->getMockBuilder('\\OpenCloud\\ObjectStore\\Resource\\Container')->disableOriginalConstructor()->getMock();
     $container->expects($this->once())->method('dataObject')->will($this->returnValue($object));
     $this->objectStore->expects($this->once())->method('getContainer')->with($this->equalTo('liuggio_assetic'))->will($this->returnValue($container));
     $resource = new RackspaceCloudFilesResource();
     $resource->setResourceName($resourceName);
     $resource->setContainerName($resourceContainerName);
     $resource->setObject($object);
     $resource->setContainer($container);
     $resource->setCurrentPath($path);
     $ret = $this->RSCFService->createResourceFromPath($path);
     $this->assertEquals($ret, $resource);
 }
 public function testRename()
 {
     $resourceContainerName = 'test_container';
     $streamWrapperClass = $this->streamWrapperClass;
     $streamWrapper = new $streamWrapperClass();
     $path_from = 'rscf://' . $resourceContainerName . '/images/old_image.gif';
     $path_to = 'rscf://' . $resourceContainerName . '/images/new_image.gif';
     $mockedObjectStoreWithOneObject = $this->getObjectStoreWithOneObject();
     $resourceFrom = new RackspaceCloudFilesResource();
     $resourceFrom->setContainer($mockedObjectStoreWithOneObject);
     $resourceFrom->setCurrentPath($path_from);
     $resourceTo = new RackspaceCloudFilesResource();
     $resourceTo->setCurrentPath($path_to);
     $service = $this->generateMockService(array('createResourceFromPath'));
     $streamWrapper->setService($service);
     $service->expects($this->at(0))->method('createResourceFromPath')->with($this->equalTo($path_from))->will($this->returnValue($resourceFrom));
     $service->expects($this->at(1))->method('createResourceFromPath')->with($this->equalTo($path_to))->will($this->returnValue($resourceTo));
     $streamWrapper->rename($path_from, $path_to);
     $this->assertEquals($path_to, $streamWrapper->getResource()->getCurrentPath());
 }