majuna/tests/list/test_obfuscating_encoder.py

27 lines
903 B
Python
Raw Permalink Normal View History

import json
2024-12-20 14:08:18 +00:00
import pytest
2024-12-20 14:08:18 +00:00
from app.terraform.list import obfuscator
2023-03-30 14:11:09 +01:00
2024-12-20 14:08:18 +00:00
@pytest.mark.parametrize("input_", ["hello", {"hello": "world"}, ["hello", "world"]])
def test_obfuscator_simple(input_):
obfuscated = obfuscator(input_)
output = json.dumps(obfuscated)
loaded = json.loads(output.replace("!AAA!", "\\u"))
assert loaded == input_
2023-03-30 14:11:09 +01:00
2024-12-20 14:08:18 +00:00
def test_obfuscator_for_real():
input_ = json.load(open("tests/list/mirrorSites.json"))
obfuscated = obfuscator(input_)
output = json.dumps(obfuscated)
allowed_characters = ["!", "A", ",", " ", "{", "}", "[", "]", ":", '"', chr(13)]
allowed_characters.extend([chr(x) for x in range(ord("0"), ord("9") + 1)])
allowed_characters.extend([chr(x) for x in range(ord("a"), ord("f") + 1)])
for c in output:
assert c in allowed_characters
loaded = json.loads(output.replace("!AAA!", "\\u"))
assert loaded == input_