from __future__ import annotations import base64 from Crypto.Cipher import AES from Crypto.Util.Padding import pad from search_yaoex import build_yaoex_price_decrypt_key, decrypt_yaoex_price def test_decrypt_plain_number_passthrough(): assert decrypt_yaoex_price(12.5, "123") == 12.5 assert decrypt_yaoex_price("33.0", "123") == 33.0 def test_decrypt_aes_ciphertext(): user_id = "123456789" key = build_yaoex_price_decrypt_key(user_id) cipher = AES.new(key, AES.MODE_ECB) encrypted = base64.b64encode(cipher.encrypt(pad(b"88.5", AES.block_size))).decode("utf-8") assert decrypt_yaoex_price(encrypted, user_id) == 88.5