@@ -4597,3 +4597,40 @@ def test_web_editor(requests_mock):
45974597 con = Connection (API_URL )
45984598 assert con .web_editor () == "https://editor.openeo.org/?server=https%3A%2F%2Foeo.test%2F"
45994599 assert con .web_editor (anonymous = True ) == "https://editor.openeo.org/?server=https%3A%2F%2Foeo.test%2F&discover=1"
4600+
4601+
4602+ def test_validate_process_graph (con120 , dummy_backend ):
4603+ dummy_backend .next_validation_errors = [{"code" : "OddSupport" , "message" : "Odd values are not supported." }]
4604+ cube = con120 .load_collection ("S2" )
4605+ res = con120 .validate_process_graph (cube )
4606+ assert res == [{"code" : "OddSupport" , "message" : "Odd values are not supported." }]
4607+
4608+
4609+ @pytest .mark .parametrize (
4610+ ["validation_response" , "expected_errors" , "expected_backends" ],
4611+ [
4612+ (
4613+ {"errors" : []},
4614+ [],
4615+ None ,
4616+ ),
4617+ (
4618+ {"errors" : [], "federation:backends" : ["oeoa" , "oeob" ]},
4619+ [],
4620+ ["oeoa" , "oeob" ],
4621+ ),
4622+ (
4623+ {"errors" : [{"code" : "Nope" , "message" : "Nope!" }], "federation:backends" : ["oeoa" , "oeob" ]},
4624+ [{"code" : "Nope" , "message" : "Nope!" }],
4625+ ["oeoa" , "oeob" ],
4626+ ),
4627+ ],
4628+ )
4629+ def test_validate_process_graph_extra_metadata (
4630+ con120 , dummy_backend , validation_response , expected_errors , expected_backends
4631+ ):
4632+ dummy_backend .next_validation_errors = validation_response
4633+ cube = con120 .load_collection ("S2" )
4634+ res = con120 .validate_process_graph (cube )
4635+ assert res == expected_errors
4636+ assert res .ext_federation_backends () == expected_backends
0 commit comments