Initial commit
This commit is contained in:
53
tests/test_crypto.py
Normal file
53
tests/test_crypto.py
Normal file
@ -0,0 +1,53 @@
|
||||
"""Tests of the encryption methods."""
|
||||
|
||||
import os
|
||||
from pathlib import Path
|
||||
from typing import override
|
||||
import unittest
|
||||
|
||||
from sshecret.crypto import (
|
||||
load_public_key,
|
||||
load_private_key,
|
||||
encrypt_string,
|
||||
decode_string,
|
||||
)
|
||||
|
||||
|
||||
def read_public_key() -> bytes:
|
||||
"""Load public key."""
|
||||
keyname = "testkey"
|
||||
public_key_file = Path(os.path.dirname(__file__)) / f"{keyname}.pub"
|
||||
with open(public_key_file, "rb") as f:
|
||||
public_key = f.read()
|
||||
|
||||
return public_key
|
||||
|
||||
|
||||
class TestBasicCrypto(unittest.TestCase):
|
||||
"""Test basic crypto functionality."""
|
||||
|
||||
@override
|
||||
def setUp(self) -> None:
|
||||
"""Set up keys."""
|
||||
keyname = "testkey"
|
||||
self.private_key: str = os.path.join(os.path.dirname(__file__), keyname)
|
||||
self.public_key: bytes = read_public_key()
|
||||
|
||||
def test_key_loading(self) -> None:
|
||||
"""Test basic flow."""
|
||||
public_key = load_public_key(self.public_key)
|
||||
private_key = load_private_key(self.private_key)
|
||||
self.assertEqual(True, True)
|
||||
|
||||
def test_encrypt_decrypt(self) -> None:
|
||||
"""Test encryption and decryption."""
|
||||
password = "MySecretPassword"
|
||||
public_key = load_public_key(self.public_key)
|
||||
encoded = encrypt_string(password, public_key)
|
||||
private_key = load_private_key(self.private_key)
|
||||
decoded = decode_string(encoded, private_key)
|
||||
self.assertEqual(password, decoded)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
Reference in New Issue
Block a user