def setup(self): TileCacheTestBase.setup(self) self.cache = GeopackageLevelCache( self.cache_dir, tile_grid=tile_grid(3857, name='global-webmarcator'), table_name='test_tiles', )
class TestGeopackageLevelCache(TileCacheTestBase): always_loads_metadata = True def setup(self): TileCacheTestBase.setup(self) self.cache = GeopackageLevelCache( self.cache_dir, tile_grid=tile_grid(3857, name='global-webmarcator'), table_name='test_tiles', ) def teardown(self): if self.cache: self.cache.cleanup() TileCacheTestBase.teardown(self) def test_level_files(self): if os.path.exists(self.cache_dir): eq_(os.listdir(self.cache_dir), []) self.cache.store_tile(self.create_tile((0, 0, 1))) eq_(os.listdir(self.cache_dir), ['1.gpkg']) self.cache.store_tile(self.create_tile((0, 0, 5))) eq_(sorted(os.listdir(self.cache_dir)), ['1.gpkg', '5.gpkg']) def test_remove_level_files(self): self.cache.store_tile(self.create_tile((0, 0, 1))) self.cache.store_tile(self.create_tile((0, 0, 2))) eq_(sorted(os.listdir(self.cache_dir)), ['1.gpkg', '2.gpkg']) self.cache.remove_level_tiles_before(1, timestamp=0) eq_(os.listdir(self.cache_dir), ['2.gpkg']) def test_remove_level_tiles_before(self): self.cache.store_tile(self.create_tile((0, 0, 1))) self.cache.store_tile(self.create_tile((0, 0, 2))) eq_(sorted(os.listdir(self.cache_dir)), ['1.gpkg', '2.gpkg']) assert self.cache.is_cached(Tile((0, 0, 1))) self.cache.remove_level_tiles_before(1, timestamp=time.time() - 60) assert self.cache.is_cached(Tile((0, 0, 1))) self.cache.remove_level_tiles_before(1, timestamp=0) assert not self.cache.is_cached(Tile((0, 0, 1))) eq_(sorted(os.listdir(self.cache_dir)), ['1.gpkg', '2.gpkg']) assert self.cache.is_cached(Tile((0, 0, 2))) def test_bulk_store_tiles_with_different_levels(self): self.cache.store_tiles([ self.create_tile((0, 0, 1)), self.create_tile((0, 0, 2)), self.create_tile((1, 0, 2)), self.create_tile((1, 0, 1)), ]) eq_(sorted(os.listdir(self.cache_dir)), ['1.gpkg', '2.gpkg']) assert self.cache.is_cached(Tile((0, 0, 1))) assert self.cache.is_cached(Tile((1, 0, 1))) assert self.cache.is_cached(Tile((0, 0, 2))) assert self.cache.is_cached(Tile((1, 0, 2)))