Refactor dataflow operators around runtime registry
This commit is contained in:
@@ -276,9 +276,58 @@ class DataflowOperatorTests(unittest.TestCase):
|
||||
self.assertEqual(set(NODE_TYPES), set(coverage))
|
||||
for node_type, facets in coverage.items():
|
||||
self.assertIn("config_validator", facets, node_type)
|
||||
self.assertIn("schema_propagator", facets, node_type)
|
||||
self.assertIn("executor", facets, node_type)
|
||||
self.assertIn("sql_renderer", facets, node_type)
|
||||
|
||||
def test_maximum_size_linear_graph_validates_and_executes(self) -> None:
|
||||
nodes = [
|
||||
node(
|
||||
"source",
|
||||
"source.inline",
|
||||
{
|
||||
"source_name": "bounded_input",
|
||||
"rows": [{"value": 1}],
|
||||
},
|
||||
x=0,
|
||||
)
|
||||
]
|
||||
edges: list[GraphEdge] = []
|
||||
previous_id = "source"
|
||||
for index in range(1, 99):
|
||||
node_id = f"limit-{index}"
|
||||
nodes.append(
|
||||
node(
|
||||
node_id,
|
||||
"limit",
|
||||
{"count": 1},
|
||||
x=index * 10,
|
||||
)
|
||||
)
|
||||
edges.append(
|
||||
GraphEdge(
|
||||
id=f"edge-{index}",
|
||||
source=previous_id,
|
||||
target=node_id,
|
||||
)
|
||||
)
|
||||
previous_id = node_id
|
||||
nodes.append(node("output", "output", {}, x=990))
|
||||
edges.append(
|
||||
GraphEdge(
|
||||
id="edge-99",
|
||||
source=previous_id,
|
||||
target="output",
|
||||
)
|
||||
)
|
||||
graph = PipelineGraph(nodes=nodes, edges=edges)
|
||||
|
||||
self.assertEqual([], validate_graph(graph))
|
||||
result = execute_preview(graph, row_limit=1)
|
||||
|
||||
self.assertEqual([{"value": 1}], result.rows)
|
||||
self.assertEqual(100, len(result.node_diagnostics))
|
||||
|
||||
def test_expression_node_renders_through_registered_sql_compiler(self) -> None:
|
||||
graph = PipelineGraph(
|
||||
nodes=[
|
||||
|
||||
Reference in New Issue
Block a user