def test_get_secret_keys_fixed_values(filename): my_keys = {'encryption_key': '\0' * 32, 'signature_key': '\1' * 32} with open(filename, "w") as f: f.write(json.dumps(my_keys, encoding='iso-8859-1')) os.chmod(filename, stat.S_IRUSR | stat.S_IWUSR) keys = get_secret_keys(filename) assert keys['encryption_key'] == '\0' * 32 assert keys['signature_key'] == '\1' * 32
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_get_secret_keys_wrong_permissions(filename): create_secret_file(filename) os.chmod(filename, stat.S_IRUSR | stat.S_IWUSR | stat.S_IROTH) with pytest.raises(ValueError): get_secret_keys(filename)
def test_get_secret_keys(filename): create_secret_file(filename) keys = get_secret_keys(filename) assert len(keys["encryption_key"]) == 32 assert len(keys["signature_key"]) == 32
def test_get_or_create_secret_keys_get(filename): create_secret_file(filename) assert get_or_create_secret_keys(filename) == get_secret_keys(filename)
def test_get_secret_keys_wrong_permissions_ignore(filename): create_secret_file(filename) os.chmod(filename, stat.S_IRUSR | stat.S_IWUSR | stat.S_IROTH) assert get_secret_keys(filename, ignore_permissions=True)