Improve error handling and begin error test suite
This commit is contained in:
@ -0,0 +1,26 @@
|
||||
"""Tests various error types."""
|
||||
|
||||
from pathlib import Path
|
||||
import pykeepass
|
||||
import pykeepass.exceptions
|
||||
import pytest
|
||||
|
||||
from sshecret_admin.services.keepass import PasswordContext, _password_context, PasswordCredentialsError
|
||||
|
||||
def test_open_invalid_database() -> None:
|
||||
"""Test opening a non-existing database."""
|
||||
bogus_path = Path("/tmp/non/existing/password/database.kdbx")
|
||||
|
||||
with pytest.raises(FileNotFoundError):
|
||||
with _password_context(bogus_path, "foobar") as context:
|
||||
assert context is not None
|
||||
|
||||
|
||||
def test_incorrect_password(tmp_path: Path) -> None:
|
||||
"""Test opening database with incorrect password."""
|
||||
filename = tmp_path / "db.kdbx"
|
||||
pykeepass.create_database(str(filename), password="correct")
|
||||
|
||||
with pytest.raises(PasswordCredentialsError):
|
||||
with _password_context(filename, "incorrect") as context:
|
||||
assert context is not None
|
||||
Reference in New Issue
Block a user