44
55import re
66from pathlib import Path
7- from typing import Any
87from urllib .parse import urlparse , urlunparse
98
109import pytest
3635]
3736
3837# The adjacency list is defined as a dictionary with the key to the node and its list of successors
39- FULL_PROJECT_PIPELINE_ADJACENCY : dict [str , list [str ]] = {
40- "62bca361-8594-48c8-875e-b8577e868aec" : [
41- "e0d7a1a5-0700-42c7-b033-97f72ac4a5cd" ,
42- "5284bb5b-b068-4d0e-9075-3d5d8eec5060" ,
43- "750454a8-b450-43ce-a012-40b669f7d28c" ,
38+ FULL_PROJECT_PIPELINE_ADJACENCY : dict [NodeID , list [NodeID ]] = {
39+ NodeID ( "62bca361-8594-48c8-875e-b8577e868aec" ) : [
40+ NodeID ( "e0d7a1a5-0700-42c7-b033-97f72ac4a5cd" ) ,
41+ NodeID ( "5284bb5b-b068-4d0e-9075-3d5d8eec5060" ) ,
42+ NodeID ( "750454a8-b450-43ce-a012-40b669f7d28c" ) ,
4443 ],
45- "e0d7a1a5-0700-42c7-b033-97f72ac4a5cd" : ["e83a359a-1efe-41d3-83aa-a285afbfaf12" ],
46- "5284bb5b-b068-4d0e-9075-3d5d8eec5060" : ["e83a359a-1efe-41d3-83aa-a285afbfaf12" ],
47- "750454a8-b450-43ce-a012-40b669f7d28c" : ["e83a359a-1efe-41d3-83aa-a285afbfaf12" ],
48- "e83a359a-1efe-41d3-83aa-a285afbfaf12" : [],
44+ NodeID ("e0d7a1a5-0700-42c7-b033-97f72ac4a5cd" ): [
45+ NodeID ("e83a359a-1efe-41d3-83aa-a285afbfaf12" )
46+ ],
47+ NodeID ("5284bb5b-b068-4d0e-9075-3d5d8eec5060" ): [
48+ NodeID ("e83a359a-1efe-41d3-83aa-a285afbfaf12" )
49+ ],
50+ NodeID ("750454a8-b450-43ce-a012-40b669f7d28c" ): [
51+ NodeID ("e83a359a-1efe-41d3-83aa-a285afbfaf12" )
52+ ],
53+ NodeID ("e83a359a-1efe-41d3-83aa-a285afbfaf12" ): [],
4954}
5055
51- FULL_PROJECT_NODE_STATES : dict [str , dict [str , Any ]] = {
52- "62bca361-8594-48c8-875e-b8577e868aec" : {"modified" : True , "dependencies" : []},
53- "e0d7a1a5-0700-42c7-b033-97f72ac4a5cd" : {
54- "modified" : True ,
55- "dependencies" : ["62bca361-8594-48c8-875e-b8577e868aec" ],
56- },
57- "5284bb5b-b068-4d0e-9075-3d5d8eec5060" : {
58- "modified" : True ,
59- "dependencies" : ["62bca361-8594-48c8-875e-b8577e868aec" ],
60- },
61- "750454a8-b450-43ce-a012-40b669f7d28c" : {
62- "modified" : True ,
63- "dependencies" : ["62bca361-8594-48c8-875e-b8577e868aec" ],
64- },
65- "e83a359a-1efe-41d3-83aa-a285afbfaf12" : {
66- "modified" : True ,
67- "dependencies" : [
68- "e0d7a1a5-0700-42c7-b033-97f72ac4a5cd" ,
69- "5284bb5b-b068-4d0e-9075-3d5d8eec5060" ,
70- "750454a8-b450-43ce-a012-40b669f7d28c" ,
71- ],
72- },
56+ FULL_PROJECT_NODE_STATES : dict [NodeID , NodeState ] = {
57+ NodeID ("62bca361-8594-48c8-875e-b8577e868aec" ): NodeState .model_construct (
58+ ** {"modified" : True , "dependencies" : set ()}
59+ ),
60+ NodeID ("e0d7a1a5-0700-42c7-b033-97f72ac4a5cd" ): NodeState .model_construct (
61+ ** {
62+ "modified" : True ,
63+ "dependencies" : {NodeID ("62bca361-8594-48c8-875e-b8577e868aec" )},
64+ }
65+ ),
66+ NodeID ("5284bb5b-b068-4d0e-9075-3d5d8eec5060" ): NodeState .model_construct (
67+ ** {
68+ "modified" : True ,
69+ "dependencies" : {NodeID ("62bca361-8594-48c8-875e-b8577e868aec" )},
70+ }
71+ ),
72+ NodeID ("750454a8-b450-43ce-a012-40b669f7d28c" ): NodeState .model_construct (
73+ ** {
74+ "modified" : True ,
75+ "dependencies" : {NodeID ("62bca361-8594-48c8-875e-b8577e868aec" )},
76+ }
77+ ),
78+ NodeID ("e83a359a-1efe-41d3-83aa-a285afbfaf12" ): NodeState .model_construct (
79+ ** {
80+ "modified" : True ,
81+ "dependencies" : {
82+ NodeID ("e0d7a1a5-0700-42c7-b033-97f72ac4a5cd" ),
83+ NodeID ("5284bb5b-b068-4d0e-9075-3d5d8eec5060" ),
84+ NodeID ("750454a8-b450-43ce-a012-40b669f7d28c" ),
85+ },
86+ }
87+ ),
7388}
7489
7590
@@ -83,7 +98,7 @@ def create_computation_cb(url, **kwargs) -> CallbackResult:
8398 if body .get ("start_pipeline" )
8499 else RunningState .NOT_STARTED
85100 )
86- pipeline : dict [str , list [str ]] = FULL_PROJECT_PIPELINE_ADJACENCY
101+ pipeline : dict [NodeID , list [str ]] = FULL_PROJECT_PIPELINE_ADJACENCY
87102 node_states = FULL_PROJECT_NODE_STATES
88103 if body .get ("subgraph" ):
89104 # create some fake adjacency list
0 commit comments