From 77c1b0cd5d2646d760ca0f5004d437905ada1ffa Mon Sep 17 00:00:00 2001
From: Robert Rosca <robert.rosca@xfel.eu>
Date: Thu, 20 Oct 2022 11:37:13 +0200
Subject: [PATCH] Fix/experiment type dict access

---
 tests/test_webservice.py | 2 +-
 webservice/webservice.py | 5 +++--
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/tests/test_webservice.py b/tests/test_webservice.py
index 87918d864..157f516f1 100644
--- a/tests/test_webservice.py
+++ b/tests/test_webservice.py
@@ -400,7 +400,7 @@ async def test_skip_runs(run_type: str, experiment_type_id:int, should_skip: boo
     res_run_by_id = mock.Mock()
     res_run_by_id.status_code = 200
     res_run_by_id.json = lambda: {
-        "data_groups_repositories": {"experiment": {"name": run_type, "id": 0}}
+        "data_groups_repositories": [{"experiment": {"name": run_type, "id": 0}}]
     }
 
     res_experiment_by_id = mock.Mock()
diff --git a/webservice/webservice.py b/webservice/webservice.py
index 0afc90c59..ac31b6517 100644
--- a/webservice/webservice.py
+++ b/webservice/webservice.py
@@ -630,11 +630,12 @@ async def check_run_type_skip(
     )
 
     try:
-        run_type = res.json()["data_groups_repositories"]["experiment"]["name"]
+        experiment = res.json()["data_groups_repositories"][0]["experiment"]
+        run_type = experiment["name"]
         if any(re.search(m, run_type) for m in config[action]["skip-run-types"]):
             return True
 
-        experiment_id = res.json()["data_groups_repositories"]["experiment"]["id"]
+        experiment_id = experiment["id"]
         res_experiment = await shield(
             loop.run_in_executor(None, mdc.get_experiment_by_id_api, experiment_id)
         )
-- 
GitLab