Use TTL for in-memory cache to support long-lived instances

This commit is contained in:
lukas committed 2026-10-14 16:03:21 +00:00
1 parent d52d7c3f2d
commit 62ad60f3df
3 files changed
+63 -11

No files matched your search

@@ -29,19 +29,26 @@ class ObjectRetrieverCacheTest extends \PHPUnit\Framework\TestCase {
$this->assertNotNull($cacheStorage->fetch($retriever->getCacheKey((string)$coid)));
$this->assertStringContainsString('from Core API', $logger->getLastLogMessage());
// Get from same retriever, assert in-memory-cache
$object2 = $retriever->getCloudObject($coid);
$this->assertNotNull($object1);
$this->assertStringContainsString('previous', $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);
$object3 = $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());
$this->assertEquals($object2->getRevision(), $object3->getRevision());
}
}