mirror of
https://github.com/Novartis/cellxgene-gateway.git
synced 2026-10-10 00:50:56 +08:00
#48 added failing test for cache pruning
This commit is contained in:
@@ -1,11 +1,20 @@
|
|||||||
import unittest
|
import unittest
|
||||||
from unittest.mock import MagicMock, patch
|
from unittest.mock import patch, seal
|
||||||
|
|
||||||
from cellxgene_gateway.backend_cache import BackendCache
|
from cellxgene_gateway.backend_cache import BackendCache
|
||||||
from cellxgene_gateway.cache_entry import CacheEntry
|
from cellxgene_gateway.cache_key import CacheKey
|
||||||
|
from cellxgene_gateway.items.file.fileitem import FileItem
|
||||||
|
from cellxgene_gateway.items.file.fileitem_source import FileItemSource
|
||||||
|
from cellxgene_gateway.items.item import ItemType
|
||||||
|
|
||||||
|
key = CacheKey(
|
||||||
|
FileItem("/czi/", name="pbmc3k.h5ad", type=ItemType.h5ad),
|
||||||
|
FileItemSource("/tmp", "local"),
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
class TestPruneProcessCache(unittest.TestCase):
|
class TestPruneProcessCache(unittest.TestCase):
|
||||||
|
@unittest.skip("skipping until #39 fixed")
|
||||||
@patch("cellxgene_gateway.util.current_time_stamp", new=lambda: 0)
|
@patch("cellxgene_gateway.util.current_time_stamp", new=lambda: 0)
|
||||||
@patch("cellxgene_gateway.env.ttl", new="10")
|
@patch("cellxgene_gateway.env.ttl", new="10")
|
||||||
@patch("cellxgene_gateway.cache_entry.CacheEntry")
|
@patch("cellxgene_gateway.cache_entry.CacheEntry")
|
||||||
@@ -15,14 +24,21 @@ class TestPruneProcessCache(unittest.TestCase):
|
|||||||
|
|
||||||
cache = BackendCache()
|
cache = BackendCache()
|
||||||
old.timestamp = -100
|
old.timestamp = -100
|
||||||
|
old.foo = 12
|
||||||
|
old.pid = 1
|
||||||
|
old.key = key
|
||||||
|
seal(old)
|
||||||
|
new.key = key
|
||||||
cache.entry_list.append(old)
|
cache.entry_list.append(old)
|
||||||
new.timestamp = -5
|
new.timestamp = -5
|
||||||
|
seal(new)
|
||||||
cache.entry_list.append(new)
|
cache.entry_list.append(new)
|
||||||
self.assertEqual(len(cache.entry_list), 2)
|
self.assertEqual(len(cache.entry_list), 2)
|
||||||
ppc = PruneProcessCache(cache)
|
ppc = PruneProcessCache(cache)
|
||||||
ppc.prune()
|
ppc.prune()
|
||||||
self.assertEqual(len(cache.entry_list), 1)
|
self.assertEqual(len(cache.entry_list), 1)
|
||||||
self.assertEqual(cache.entry_list[0], new)
|
self.assertEqual(cache.entry_list[0], new)
|
||||||
|
self.assertEqual(cache.entry_list[0], new)
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
|||||||
Reference in New Issue
Block a user