File tree Expand file tree Collapse file tree
openhexa/sdk/pipelines/parameter Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -94,6 +94,10 @@ def __init__(
9494 self .connection = connection
9595 self .directory = directory
9696 self .disables = list (disables ) if disables else None
97+ if self .disables and not isinstance (self .type , Boolean ):
98+ raise InvalidParameterError (
99+ f"Only boolean parameters can use 'disables'. Parameter '{ self .code } ' is of type { self .type } ."
100+ )
97101
98102 self ._validate_default (default , multiple )
99103 self .default = default
@@ -215,10 +219,6 @@ def validate_parameters(parameters: list[Parameter]):
215219 for parameter in parameters :
216220 if not parameter .disables :
217221 continue
218- if not isinstance (parameter .type , Boolean ):
219- raise InvalidParameterError (
220- f"Only boolean parameters can use 'disables'. Parameter '{ parameter .code } ' is of type { parameter .type } ."
221- )
222222 for target_code in parameter .disables :
223223 if target_code == parameter .code :
224224 raise InvalidParameterError (f"Parameter '{ parameter .code } ' cannot disable itself." )
Original file line number Diff line number Diff line change @@ -443,12 +443,10 @@ def test_validate_parameters_disables_ok():
443443 validate_parameters ([controller , data_input ])
444444
445445
446- def test_validate_parameters_disables_must_be_boolean ():
447- """Only boolean parameters can use 'disables'."""
448- controller = Parameter ("mode" , type = str , disables = ["data_input" ])
449- data_input = Parameter ("data_input" , type = str )
446+ def test_disables_must_be_boolean ():
447+ """Only boolean parameters can use 'disables' — rejected at construction time."""
450448 with pytest .raises (InvalidParameterError ):
451- validate_parameters ([ controller , data_input ])
449+ Parameter ( "mode" , type = str , disables = [ " data_input" ])
452450
453451
454452def test_validate_parameters_disables_unknown_target ():
You can’t perform that action at this time.
0 commit comments