def setup(self): if not os.environ.get('MAPPROXY_TEST_MONGODB'): raise SkipTest() mongo_address = os.environ['MAPPROXY_TEST_MONGODB'] layer_name = 'mapproxy_test_%d' % random.randint(0, 100000) TileCacheTestBase.setup(self) self.cache = MongoDBCache(mongo_address, layer_name, 'EPSG:3857')
class TestMongoDBCache(TileCacheTestBase): always_loads_metadata = True def setup(self): if not os.environ.get('MAPPROXY_TEST_MONGODB'): raise SkipTest() mongo_address = os.environ['MAPPROXY_TEST_MONGODB'] layer_name = 'mapproxy_test_%d' % random.randint(0, 100000) TileCacheTestBase.setup(self) self.cache = MongoDBCache(mongo_address, layer_name, 'EPSG:3857') def teardown(self): TileCacheTestBase.teardown(self) def test_store_bulk_with_overwrite(self): tile = self.create_tile((0, 0, 4)) self.create_cached_tile(tile) assert self.cache.is_cached(Tile((0, 0, 4))) loaded_tile = Tile((0, 0, 4)) assert self.cache.load_tile(loaded_tile) assert loaded_tile.source_buffer().read() == tile.source_buffer().read() assert not self.cache.is_cached(Tile((1, 0, 4))) tiles = [self.create_another_tile((x, 0, 4)) for x in range(2)] assert self.cache.store_tiles(tiles) assert self.cache.is_cached(Tile((0, 0, 4))) loaded_tile = Tile((0, 0, 4)) assert self.cache.load_tile(loaded_tile) # check that tile is overwritten assert loaded_tile.source_buffer().read() != tile.source_buffer().read() assert loaded_tile.source_buffer().read() == tiles[0].source_buffer().read() def test_double_remove(self): tile = self.create_tile() self.create_cached_tile(tile) assert self.cache.remove_tile(tile) assert self.cache.remove_tile(tile)