Skip to content

Commit 1d08ea4

Browse files
committed
test: add jgf writer property tests
Problem: there are no tests that the JGF writer handles properties correctly. Add them.
1 parent 8c13ac6 commit 1d08ea4

File tree

1 file changed

+32
-1
lines changed

1 file changed

+32
-1
lines changed

t/python/t10001-resourcegraph.py

Lines changed: 32 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,17 @@
4545
},
4646
}
4747

48+
RV1_3 = {
49+
"version": 1,
50+
"execution": {
51+
"R_lite": [{"rank": "0-19", "children": {"gpu": "0-1", "core": "0-7"}}],
52+
"starttime": 0.0,
53+
"expiration": 0.0,
54+
"nodelist": ["compute[0-19]"],
55+
"properties": {"pdebug": "0-9", "pbatch": "10-19"},
56+
},
57+
}
58+
4859

4960
class TestResourceGraph(unittest.TestCase):
5061
"""Test for the ResourceGraph class."""
@@ -53,7 +64,7 @@ def _check_metadata(self, metadata):
5364
if metadata["type"] in ("node", "core", "gpu", "cluster"):
5465
self.assertEqual(metadata["unit"], "")
5566
self.assertEqual(metadata["size"], 1)
56-
self.assertEqual(metadata["properties"], [])
67+
self.assertEqual(metadata["properties"], {})
5768
else:
5869
raise ValueError(metadata["type"])
5970

@@ -79,5 +90,25 @@ def test_basic_2(self):
7990
for node in graph.get_nodes():
8091
self._check_metadata(node.get_metadata())
8192

93+
def test_basic_3(self):
94+
graph = FluxionResourceGraphV1(RV1_3)
95+
self.assertTrue(graph.is_directed())
96+
j = graph.to_JSON()
97+
self.assertTrue(j["graph"]["directed"])
98+
self.assertEqual(len(j["graph"]["nodes"]), len(graph.get_nodes()))
99+
self.assertEqual(len(j["graph"]["edges"]), len(graph.get_edges()))
100+
for node in graph.get_nodes():
101+
metadata = node.get_metadata()
102+
if metadata["type"] != "node":
103+
self._check_metadata(node.get_metadata())
104+
else:
105+
self.assertEqual(metadata["unit"], "")
106+
self.assertEqual(metadata["size"], 1)
107+
self.assertEqual(len(metadata["properties"]), 1)
108+
if metadata["id"] < 10:
109+
self.assertEqual(metadata["properties"]["pdebug"], "")
110+
else:
111+
self.assertEqual(metadata["properties"]["pbatch"], "")
112+
82113

83114
unittest.main(testRunner=TAPTestRunner())

0 commit comments

Comments
 (0)