Source code for ewokscore.tests.serialization.test_persistent

import json
import sys

from ...persistence.json import JsonProxy
from ...persistence.proxy import DataUri
from . import example_data


[docs] def test_json_data_persistence(tmp_path): path = tmp_path / "data.json" if sys.platform == "win32": prefix = "json:///" else: prefix = "json://" uri = DataUri(f"{prefix}{path}", None) original_data = example_data.generate_example_data() proxy = JsonProxy(uri=uri) proxy.dump(original_data) python_data = proxy.load() example_data.assert_python_data(python_data, original_data) raw_data = json.loads(path.read_text(encoding="utf-8")) example_data.assert_raw_data(raw_data, original_data)