diff --git a/.github/workflows/api-tests.yml b/.github/workflows/api-tests.yml index 4c93e4e3a1..2786cf67d3 100644 --- a/.github/workflows/api-tests.yml +++ b/.github/workflows/api-tests.yml @@ -57,3 +57,6 @@ jobs: - name: Run Workflow run: dev/pytest/pytest_workflow.sh + + - name: Run Unit tests + run: dev/pytest/pytest_unit_tests.sh diff --git a/api/tests/unit_tests/libs/test_rsa.py b/api/tests/unit_tests/libs/test_rsa.py new file mode 100644 index 0000000000..a979b77d70 --- /dev/null +++ b/api/tests/unit_tests/libs/test_rsa.py @@ -0,0 +1,29 @@ +import rsa as pyrsa +from Crypto.PublicKey import RSA + +from libs import gmpy2_pkcs10aep_cipher + + +def test_gmpy2_pkcs10aep_cipher() -> None: + rsa_key_pair = pyrsa.newkeys(2048) + public_key = rsa_key_pair[0].save_pkcs1() + private_key = rsa_key_pair[1].save_pkcs1() + + public_rsa_key = RSA.import_key(public_key) + public_cipher_rsa2 = gmpy2_pkcs10aep_cipher.new(public_rsa_key) + + private_rsa_key = RSA.import_key(private_key) + private_cipher_rsa = gmpy2_pkcs10aep_cipher.new(private_rsa_key) + + raw_text = 'raw_text' + raw_text_bytes = raw_text.encode() + + # RSA encryption by public key and decryption by private key + encrypted_by_pub_key = public_cipher_rsa2.encrypt(message=raw_text_bytes) + decrypted_by_pub_key = private_cipher_rsa.decrypt(encrypted_by_pub_key) + assert decrypted_by_pub_key == raw_text_bytes + + # RSA encryption and decryption by private key + encrypted_by_private_key = private_cipher_rsa.encrypt(message=raw_text_bytes) + decrypted_by_private_key = private_cipher_rsa.decrypt(encrypted_by_private_key) + assert decrypted_by_private_key == raw_text_bytes diff --git a/dev/pytest/pytest_all_tests.sh b/dev/pytest/pytest_all_tests.sh index ff031a753c..c4318fb922 100755 --- a/dev/pytest/pytest_all_tests.sh +++ b/dev/pytest/pytest_all_tests.sh @@ -9,3 +9,6 @@ dev/pytest/pytest_tools.sh # Workflow dev/pytest/pytest_workflow.sh + +# Unit tests +dev/pytest/pytest_unit_tests.sh \ No newline at end of file diff --git a/dev/pytest/pytest_unit_tests.sh b/dev/pytest/pytest_unit_tests.sh new file mode 100755 index 0000000000..2a1421358b --- /dev/null +++ b/dev/pytest/pytest_unit_tests.sh @@ -0,0 +1,5 @@ +#!/bin/bash +set -x + +# libs +pytest api/tests/unit_tests/libs