def test_sessionmaker_pycrypto_exception_raise(sessionmaker, filename): settings = sessionmaker.settings delattr(sessionmaker, "settings") crypto.conf["encryption_available"] = False with pytest.raises(CryptoError): sessionmaker.configure(secret_file=filename, enable_encryption=True, backend=settings["backend"])
def test_sessionmaker_secret_file(sessionmaker, filename): del sessionmaker.settings["signature_key"] settings = sessionmaker.settings delattr(sessionmaker, "settings") settings["secret_file"] = filename sessionmaker.configure(**settings) assert "signature_key" in sessionmaker.settings keys = get_secret_keys(filename) assert sessionmaker.settings["signature_key"] == keys["signature_key"]
def test_sessionmaker_secret_file_encryption(sessionmaker, filename): del sessionmaker.settings["signature_key"] settings = sessionmaker.settings delattr(sessionmaker, "settings") settings["enable_encryption"] = True settings["secret_file"] = filename sessionmaker.configure(**settings) assert "signature_key" in sessionmaker.settings assert "encryption_key" in sessionmaker.settings
def test_sessionmaker_already_configured(sessionmaker): with pytest.raises(SessionConfigurationError): sessionmaker.configure()
def test_sessionmaker_sanity_configure(sessionmaker): # Make sure sanity is called on configure delattr(sessionmaker, "settings") with pytest.raises(SessionConfigurationError): sessionmaker.configure(**{'encryption_key': None})
def test_sessionmaker_pycrypto_exception_no_enc(sessionmaker, filename): settings = sessionmaker.settings delattr(sessionmaker, "settings") crypto.conf["encryption_available"] = False # does not raise because no encryption is requested sessionmaker.configure(secret_file=filename, backend=settings["backend"])