def make_gallery(source_dir='dir1', **kwargs): default_conf = os.path.join(SAMPLE_DIR, 'sigal.conf.py') settings = read_settings(default_conf) settings['source'] = os.path.join(SAMPLE_SOURCE, source_dir) settings.update(kwargs) init_plugins(settings) return Gallery(settings, ncpu=1)
def test_encrypt(settings, tmpdir, disconnect_signals): settings['destination'] = str(tmpdir) if "sigal.plugins.encrypt" not in settings["plugins"]: settings['plugins'] += ["sigal.plugins.encrypt"] settings['encrypt_options'] = { 'password': '******', 'ask_password': True, 'gcm_tag': 'AuTheNTiCatIoNtAG', 'kdf_salt': 'saltysaltsweetysweet', 'kdf_iters': 10000, 'encrypt_symlinked_originals': False, } init_plugins(settings) gal = Gallery(settings) gal.build() # check the encrypt cache exists cachePath = os.path.join(settings["destination"], ".encryptCache") assert os.path.isfile(cachePath) encryptCache = None with open(cachePath, "rb") as cacheFile: encryptCache = pickle.load(cacheFile) assert isinstance(encryptCache, dict) testAlbum = gal.albums["encryptTest"] key, tag = get_key_tag(settings) for media in testAlbum: # check if sizes are stored in cache assert cache_key(media) in encryptCache assert "size" in encryptCache[cache_key(media)] assert "thumb_size" in encryptCache[cache_key(media)] assert "encrypted" in encryptCache[cache_key(media)] encryptedImages = [media.dst_path, media.thumb_path] if settings["keep_orig"]: encryptedImages.append( os.path.join(settings["destination"], media.path, media.big)) # check if images are encrypted by trying to decrypt for image in encryptedImages: with open(image, "rb") as infile: with BytesIO() as outfile: endec.decrypt(key, infile, outfile, tag) # check static files have been copied static = os.path.join(settings["destination"], 'static') assert os.path.isfile(os.path.join(static, "decrypt.js")) assert os.path.isfile(os.path.join(static, "keycheck.txt")) assert os.path.isfile(os.path.join(settings["destination"], "sw.js")) # check keycheck file with open(os.path.join(settings["destination"], 'static', "keycheck.txt"), "rb") as infile: with BytesIO() as outfile: endec.decrypt(key, infile, outfile, tag)
def test_titleregexp(settings, tmpdir, disconnect_signals): if "sigal.plugins.titleregexp" not in settings["plugins"]: settings['plugins'] += ["sigal.plugins.titleregexp"] init_plugins(settings) gal = Gallery(settings) gal.build() assert gal.albums.get('dir1').albums[1].title == "titleregexp 02"
def make_gallery(settings, tmpdir, method): settings['destination'] = str(tmpdir) if "sigal.plugins.compress_assets" not in settings["plugins"]: settings['plugins'] += ["sigal.plugins.compress_assets"] # Set method settings.setdefault('compress_assets_options', {})['method'] = method compress_options = compress_assets.DEFAULT_SETTINGS.copy() # The key was created by the previous setdefault if needed compress_options.update(settings['compress_assets_options']) init_plugins(settings) gal = Gallery(settings) gal.build() return compress_options
def test_nonmedia_files(settings, tmpdir, disconnect_signals): settings['destination'] = str(tmpdir) settings['plugins'] += ['sigal.plugins.nonmedia_files'] init_plugins(settings) gal = Gallery(settings) gal.build() outfile = os.path.join(settings['destination'], 'nonmedia_files', 'dummy.pdf') assert os.path.isfile(outfile) outthumb = os.path.join( settings['destination'], 'nonmedia_files', 'thumbnails', 'dummy.tn.jpg' ) assert os.path.isfile(outthumb)
def test_nomedia_plugin(settings, tmpdir): settings['destination'] = str(tmpdir) if "plugins"in settings: if not "sigal.plugins.nomedia" in settings["plugins"]: settings['plugins'] += ["sigal.plugins.nomedia"] else: settings["plugins"] = ["sigal.plugins.nomedia"] init_plugins(settings) gal = Gallery(settings) gal.build() for path, dirs, files in os.walk(os.path.join(str(tmpdir), "nomedia")): assert "ignore" not in path for file in files: assert "ignore" not in file
def test_nomedia_plugin(settings, tmpdir): settings['destination'] = str(tmpdir) if "plugins" in settings: if not "sigal.plugins.nomedia" in settings["plugins"]: settings['plugins'] += ["sigal.plugins.nomedia"] else: settings["plugins"] = ["sigal.plugins.nomedia"] init_plugins(settings) gal = Gallery(settings) gal.build() for path, dirs, files in os.walk(os.path.join(str(tmpdir), "nomedia")): assert "ignore" not in path for file in files: assert "ignore" not in file
def make_gallery(settings, tmpdir, method): settings['destination'] = str(tmpdir) # Really speed up testing settings['use_orig'] = True if "sigal.plugins.compress_assets" not in settings["plugins"]: settings['plugins'] += ["sigal.plugins.compress_assets"] # Set method settings.setdefault('compress_assets_options', {})['method'] = method compress_options = compress_assets.DEFAULT_SETTINGS.copy() # The key was created by the previous setdefault if needed compress_options.update(settings['compress_assets_options']) init_plugins(settings) gal = Gallery(settings) gal.build() return compress_options
def test_plugins(settings, tmpdir, disconnect_signals): settings['destination'] = str(tmpdir) if "sigal.plugins.nomedia" not in settings["plugins"]: settings['plugins'] += ["sigal.plugins.nomedia"] if "sigal.plugins.media_page" not in settings["plugins"]: settings['plugins'] += ["sigal.plugins.media_page"] init_plugins(settings) gal = Gallery(settings) gal.build() out_html = os.path.join(settings['destination'], 'dir2', 'KeckObservatory20071020.jpg.html') assert os.path.isfile(out_html) for path, dirs, files in os.walk(os.path.join(str(tmpdir), "nomedia")): assert "ignore" not in path for file in files: assert "ignore" not in file