ngageoint / scale

Processing framework for containerized algorithms
http://ngageoint.github.io/scale/
Apache License 2.0
105 stars 45 forks source link

Recipe Dependency Checking #1808

Closed emimaesmith closed 5 years ago

emimaesmith commented 5 years ago

Description The API is currently validating recipe types that contain sub-recipes of itself.

Reproduction Steps Steps to reproduce the problem:

  1. Create an empty recipe type (Recipe type with no job/recipe/condition nodes)
  2. Edit the empty recipe type.
  3. Open the Recipe Nodes picker and select the empty recipe
  4. Click Validate - Note it succeeds
  5. Click Save - Note it succeeds

Expected behavior The validation should fail when the recipe type detects itself as a sub-recipe.

Screenshots image

Version and Environment Details

Additional context I believe the cyclic dependencies are checking both recipe type name and recipe type revision to determine dependency. This check should fail if a sub-recipe of the same recipe type name as the parent is detected. It would also be ideal if the UI would hide the recipe type being edited from the recipe node selection.