Add tests for InMemorySecret

This commit is contained in:
thePR0M3TH3AN
2025-07-03 13:54:10 -04:00
parent 6155aed3d5
commit 4bced74e2d

View File

@@ -0,0 +1,29 @@
import sys
from pathlib import Path
sys.path.append(str(Path(__file__).resolve().parents[1]))
import pytest
from utils.memory_protection import InMemorySecret
def test_inmemory_secret_round_trip_bytes_and_str():
plaintext = b"super secret"
secret = InMemorySecret(plaintext)
assert secret.get_bytes() == plaintext
assert secret.get_str() == plaintext.decode("utf-8")
def test_inmemory_secret_invalid_type():
with pytest.raises(TypeError):
InMemorySecret("not bytes")
def test_inmemory_secret_wipe_clears_attributes():
secret = InMemorySecret(b"wipe me")
secret.wipe()
assert secret._key is None
assert secret._nonce is None
assert secret._cipher is None
assert secret._encrypted is None