def test_manager_should_restrict_list_to_catalog(self): self.mgr = MBTilesManager() listed = sorted([o.id for o in self.mgr.all()]) self.failUnlessEqual(['france-35', 'geography-class'], listed) listed = sorted([o.id for o in self.mgr.filter(catalog='pouet').all()]) self.failUnlessEqual(['country'], listed)
def test_list(self): # Use fixtures folder mgr = MBTilesManager() self.failUnlessEqual(['france-35', 'geography-class'], sorted([o.id for o in mgr.all()])) # Can be called twice with same result qs = mgr.all() self.failUnlessEqual(['france-35', 'geography-class'], sorted([o.id for o in qs])) self.failUnlessEqual(['france-35', 'geography-class'], sorted([o.id for o in qs])) # And is refreshed extrafile = os.path.join(FIXTURES_PATH, 'file.mbtiles') shutil.copyfile(os.path.join(FIXTURES_PATH, 'france-35.mbtiles'), extrafile) self.failUnlessEqual(['file', 'france-35', 'geography-class'], sorted([o.id for o in mgr.all()])) os.remove(extrafile) # File with different extensions are ignored extrafile = os.path.join(FIXTURES_PATH, 'file.wrong') shutil.copyfile(os.path.join(FIXTURES_PATH, 'france-35.mbtiles'), extrafile) self.failUnlessEqual(['france-35', 'geography-class'], sorted([o.id for o in mgr.all()])) # Except if we change the setting extension app_settings.MBTILES_EXT = 'wrong' self.failUnlessEqual(['file'], [o.id for o in mgr.all()]) os.remove(extrafile) app_settings.MBTILES_EXT = 'mbtiles' # Try a folder without mbtiles app_settings.MBTILES_ROOT = '.' mgr = MBTilesManager() self.failIfEqual(['france-35'], [o.id for o in mgr.all()]) # Try with a bad (=empty) mbtiles file extrafile = os.path.join(FIXTURES_PATH, 'file.png') self.failIfEqual(['file'], [o.id for o in mgr.all()]) open(extrafile, 'w').close() os.remove(extrafile) # Try a unexisting folder app_settings.MBTILES_ROOT = "random-path-xyz" self.assertRaises(MBTilesFolderError, MBTilesManager)
def test_no_error_if_folder_is_empty(self): # Try a folder without mbtiles app_settings.MBTILES_ROOT = '.' self.mgr = MBTilesManager() self.failIfEqual(['france-35'], [o.id for o in self.mgr.all()])
def setUp(self): self.root_orig = app_settings.MBTILES_ROOT self.mgr = MBTilesManager()