@@ -234,9 +234,24 @@ async def _assert_redirected_to_study(
234
234
"OSPARC-SIMCORE" in content
235
235
), f"Expected front-end rendering workbench's study, got { content !s} "
236
236
237
- # Expects fragment to indicate client where to find newly created project
238
- m = re .match (r"/study/([\d\w-]+)" , response .real_url .fragment )
239
- assert m , f"Expected /study/uuid, got { response .real_url .fragment } "
237
+ # First check if the fragment indicates an error
238
+ fragment = response .real_url .fragment
239
+ error_match = re .match (r"/error" , fragment )
240
+ if error_match :
241
+ # Parse query parameters to extract error details
242
+ query_params = urllib .parse .parse_qs (
243
+ fragment .split ("?" , 1 )[1 ] if "?" in fragment else ""
244
+ )
245
+ error_message = query_params .get ("message" , ["Unknown error" ])[0 ]
246
+ error_status = query_params .get ("status_code" , ["Unknown" ])[0 ]
247
+
248
+ pytest .fail (
249
+ f"Redirected to error page: Status={ error_status } , Message={ error_message } "
250
+ )
251
+
252
+ # Check for study path if not an error
253
+ m = re .match (r"/study/([\d\w-]+)" , fragment )
254
+ assert m , f"Expected /study/uuid, got { fragment } "
240
255
241
256
# Expects auth cookie for current user
242
257
assert _is_user_authenticated (session )
0 commit comments