Improved attachment retrieval and added test cases

This commit is contained in:
lukas committed 2026-10-22 09:33:19 +00:00
1 parent 6f2fd40464
commit fde9661c2c
4 files changed
+91 -2

No files matched your search

@@ -51,4 +51,34 @@ class ObjectRetrieverCacheTest extends \PHPUnit\Framework\TestCase {
$this->assertEquals($object2->getRevision(), $object3->getRevision());
}
public function testAttachmentCacheInRuntimeStorage() {
$cacheStorage = new VolatileRuntimeStorage;
$logger = new InMemoryLogger;
$coid = new IRI('coid://cloudobjects.io/Test');
$cacheId = (string)$coid.'#file.txt';
$retriever = new ObjectRetriever([
'cache_storage' => $cacheStorage,
'logger' => $logger
]);
$content1 = $retriever->getAttachment($coid, 'file.txt');
$this->assertEquals('Test file content', trim($content1));
$this->assertNotNull($cacheStorage->fetch($retriever->getCacheKey($cacheId)));
$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
]);
$content2 = $retriever->getAttachment($coid, 'file.txt');
$this->assertEquals('Test file content', trim($content2));
$this->assertStringContainsString('from object cache', $logger->getLastLogMessage());
}
}