From 680e823e810f444bf7517359fea75f5c0e189370 Mon Sep 17 00:00:00 2001 From: Hunter Skrasek Date: Tue, 4 Mar 2014 09:21:05 -0600 Subject: [PATCH 1/2] Update RackspaceAdapter->has() to catch OpenCloud ObjectNotFoundExceptions, to return a proper has value. --- src/Adapter/Rackspace.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/Adapter/Rackspace.php b/src/Adapter/Rackspace.php index 4b49e611a..501bc7ba7 100644 --- a/src/Adapter/Rackspace.php +++ b/src/Adapter/Rackspace.php @@ -5,6 +5,7 @@ use League\Flysystem\Util; use OpenCloud\ObjectStore\Resource\Container; use OpenCloud\ObjectStore\Resource\DataObject; +use OpenCloud\ObjectStore\Exception\ObjectNotFoundException; use Guzzle\Http\Exception\ClientErrorResponseException; class Rackspace extends AbstractAdapter @@ -163,6 +164,8 @@ public function has($path) $object = $this->getObject($path); } catch(ClientErrorResponseException $e) { return false; + } catch(ObjectNotFoundException $e) { + return false; } return $this->normalizeObject($object); From dfaf088832dd13f3a29b198444b0ca0f65030857 Mon Sep 17 00:00:00 2001 From: Hunter Skrasek Date: Tue, 4 Mar 2014 10:38:37 -0600 Subject: [PATCH 2/2] Add unit test, to test for ObjectNotFoundExceptions. --- tests/RackspaceTests.php | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/tests/RackspaceTests.php b/tests/RackspaceTests.php index 9dfd7b5f5..c0db95f83 100644 --- a/tests/RackspaceTests.php +++ b/tests/RackspaceTests.php @@ -49,6 +49,14 @@ public function testHasFail() $this->assertFalse($adapter->has('filename.ext')); } + public function testHasNotFound() + { + $container = $this->getContainerMock(); + $container->shouldReceive('getObject')->andThrow('OpenCloud\ObjectStore\Exception\ObjectNotFoundException'); + $adapter = new Rackspace($container); + $this->assertFalse($adapter->has('filename.ext')); + } + public function testWrite() { $container = $this->getContainerMock();