Skip to content

Commit 2fc0660

Browse files
authored
fix: adds check if dependency_graph is None (#1576)
* fix: adds check if dependency_graph is None * build: version bump to 2.0.3
1 parent 9de501d commit 2fc0660

File tree

3 files changed

+32
-1
lines changed

3 files changed

+32
-1
lines changed

src/aind_data_schema/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
""" base module for aind-data-schema
22
"""
33

4-
__version__ = "2.0.2"
4+
__version__ = "2.0.3"

src/aind_data_schema/core/processing.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -182,6 +182,10 @@ def validate_process_graph(cls, values):
182182
if not hasattr(values, "data_processes"): # bypass for testing
183183
return values
184184

185+
# If the dependency_graph is None, then no need to validate
186+
if values.dependency_graph is None:
187+
return values
188+
185189
processes = set(values.process_names)
186190
# Validate that all processes have a unique name
187191
if len(processes) != len(values.data_processes):

tests/test_processing.py

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -301,6 +301,33 @@ def test_validate_process_graph(self):
301301
Processing(data_processes=[process1, process2], dependency_graph=invalid_graph)
302302
self.assertIn("data_processes must include all processes in dependency_graph", str(e.exception))
303303

304+
def test_dependency_graph_none(self):
305+
"""Tests that no issue is raised if dependency_graph is None"""
306+
processing = Processing(
307+
data_processes=[
308+
DataProcess(
309+
start_date_time=datetime(2024, 10, 10, 1, 2, 3),
310+
end_date_time=datetime(2024, 10, 11, 1, 2, 3),
311+
process_type=ProcessName.COMPRESSION,
312+
experimenters=["AIND Scientific Computing"],
313+
stage=ProcessStage.PROCESSING,
314+
code=Code(
315+
url="www.example.com/ephys_compression",
316+
),
317+
),
318+
DataProcess(
319+
start_date_time=datetime(2024, 10, 10, 1, 2, 3),
320+
end_date_time=datetime(2024, 10, 11, 1, 2, 4),
321+
process_type=ProcessName.OTHER,
322+
experimenters=["AIND Scientific Computing"],
323+
stage=ProcessStage.PROCESSING,
324+
code=Code(url=""),
325+
notes="Data was copied.",
326+
),
327+
]
328+
)
329+
self.assertIsNone(processing.dependency_graph)
330+
304331
def test_validate_pipeline_names(self):
305332
"""Test the validate_pipeline_names method"""
306333

0 commit comments

Comments
 (0)