[AZ-154] [AZ-157] [AZ-159] [AZ-160] Add augmentation nonfunc, encryption, annotation class, hardware hash tests

Made-with: Cursor
This commit is contained in:
Oleksandr Bezdieniezhnykh
2026-03-26 23:21:05 +02:00
parent 41552c5699
commit 0841e095c8
6 changed files with 518 additions and 0 deletions
+53
View File
@@ -0,0 +1,53 @@
import re
from types import SimpleNamespace
import pytest
from security import Security
def test_bt_hsh_01_deterministic_hw_hash():
h1 = Security.get_hw_hash("test-hardware-info")
h2 = Security.get_hw_hash("test-hardware-info")
assert h1 == h2
def test_bt_hsh_02_different_hardware_different_hash():
assert Security.get_hw_hash("hw-a") != Security.get_hw_hash("hw-b")
def test_bt_hsh_03_output_valid_base64():
h = Security.get_hw_hash("test-hardware-info")
assert re.match(r"^[A-Za-z0-9+/]+=*$", h)
@pytest.mark.security
def test_st_hsh_01_hardware_hash_deterministic():
h1 = Security.get_hw_hash("test-hardware-info")
h2 = Security.get_hw_hash("test-hardware-info")
assert h1 == h2
@pytest.mark.security
def test_st_hsh_02_different_hardware_different_hash():
assert Security.get_hw_hash("hw-a") != Security.get_hw_hash("hw-b")
@pytest.mark.security
def test_st_hsh_03_api_key_depends_on_hardware():
creds = SimpleNamespace(email="a@b.com", password="pass1")
hw1 = Security.get_hw_hash("hw-1")
hw2 = Security.get_hw_hash("hw-2")
k1 = Security.get_api_encryption_key(creds, hw1)
k2 = Security.get_api_encryption_key(creds, hw2)
assert k1 != k2
@pytest.mark.security
def test_st_hsh_04_api_key_depends_on_credentials():
hw = Security.get_hw_hash("fixed-hw")
c1 = SimpleNamespace(email="a@b.com", password="pass1")
c2 = SimpleNamespace(email="x@y.com", password="pass2")
k1 = Security.get_api_encryption_key(c1, hw)
k2 = Security.get_api_encryption_key(c2, hw)
assert k1 != k2