Source code for ewokscore.tests.serialization.test_networkx

import json

import networkx as nx
import yaml

from ...graph import serialize
from . import example_data


[docs] def test_yaml_graph_serialization(tmp_path): G = nx.DiGraph() original_data = example_data.generate_example_data() G.add_node("node1", default_args=original_data) dest = tmp_path / "workflow.yaml" serialize.dump(G, destination=dest, representation="yaml") python_data = serialize.load(dest).nodes["node1"]["default_args"] example_data.assert_python_data(python_data, original_data) raw_data = yaml.safe_load(dest.read_text(encoding="utf-8")) raw_data = raw_data["nodes"][0]["default_args"] example_data.assert_raw_data(raw_data, original_data)
[docs] def test_json_graph_serialization(tmp_path): G = nx.DiGraph() original_data = example_data.generate_example_data() G.add_node("node1", default_args=original_data) dest = tmp_path / "workflow.json" serialize.dump(G, destination=dest, representation="json") python_data = serialize.load(dest).nodes["node1"]["default_args"] example_data.assert_python_data(python_data, original_data) raw_data = json.loads(dest.read_text(encoding="utf-8")) raw_data = raw_data["nodes"][0]["default_args"] example_data.assert_raw_data(raw_data, original_data)