From e23374e24b62daa8dfd62dbb00a738dda3b0bb31 Mon Sep 17 00:00:00 2001 From: sascha Date: Sat, 12 Sep 2026 12:03:10 +0200 Subject: [PATCH] fix: preserve Arr metadata and fail closed --- .../tests/test_flow_import_failure_routing.py | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 fileflows/tests/test_flow_import_failure_routing.py diff --git a/fileflows/tests/test_flow_import_failure_routing.py b/fileflows/tests/test_flow_import_failure_routing.py new file mode 100644 index 0000000..bdb370c --- /dev/null +++ b/fileflows/tests/test_flow_import_failure_routing.py @@ -0,0 +1,31 @@ +import json +import unittest +from pathlib import Path + + +FLOW = Path(__file__).parents[1] / "flow" / "flow_auto_movie_pipeline.json" + + +class FlowImportFailureRoutingTests(unittest.TestCase): + def test_arr_import_failures_route_to_fail_flow(self): + flow = json.loads(FLOW.read_text()) + fail_node = next( + part + for part in flow["Parts"] + if part.get("FlowElementUid") == "FileFlows.BasicNodes.Functions.FailFlow" + ) + import_nodes = [ + part + for part in flow["Parts"] + if part.get("Name") + in {"Sonarr - Trigger Manual Import", "Radarr - Trigger Manual Import"} + ] + + self.assertEqual(len(import_nodes), 4) + for node in import_nodes: + with self.subTest(node=node["Uid"]): + self.assertEqual(node["ErrorConnection"]["InputNode"], fail_node["Uid"]) + + +if __name__ == "__main__": + unittest.main()