$cacheStorage, 'logger' => $logger ]); $object1 = $retriever->getCloudObject($coid); $this->assertNotNull($object1); $this->assertNotNull($cacheStorage->fetch($retriever->getCacheKey((string)$coid))); $this->assertStringContainsString('from Core API', $logger->getLastLogMessage()); // Reinitialize retriever with same cache storage to verify that cache is used $retriever = new ObjectRetriever([ 'cache_storage' => $cacheStorage, 'logger' => $logger ]); $object2 = $retriever->getCloudObject($coid); $this->assertNotNull($object2); $this->assertNotNull($cacheStorage->fetch($retriever->getCacheKey((string)$coid))); $this->assertStringContainsString('from object cache', $logger->getLastLogMessage()); $this->assertEquals($object1->getRevision(), $object2->getRevision()); } }