From 60348f759a169153229aa654189ecb5f3ba4f85e Mon Sep 17 00:00:00 2001
From: "Janet L. Goldstein" <jgoldste@nrao.edu>
Date: Thu, 16 Sep 2021 09:28:01 -0600
Subject: [PATCH] WS-651: workflow request ID should be in message subject

---
 shared/workspaces/test/test_capability_service.py           | 4 ++--
 .../workspaces/capability/services/capability_service.py    | 6 ++++--
 2 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/shared/workspaces/test/test_capability_service.py b/shared/workspaces/test/test_capability_service.py
index b8913b91b..ed055cea4 100644
--- a/shared/workspaces/test/test_capability_service.py
+++ b/shared/workspaces/test/test_capability_service.py
@@ -65,7 +65,7 @@ class TestCapabilityService:
             "service": "capability",
             "routing_key": "capability",
             "carta_url": carta_url,
-            "subject": "Your CARTA Session is ready!",
+            "subject": {"workflow_request_id": wf_request_id},
             "type": "carta-ready",
         }
 
@@ -75,7 +75,7 @@ class TestCapabilityService:
             "workspaces.capability.services.capability_info.CapabilityInfo.lookup_execution_by_workflow_request_id",
             return_value=mock_capability_execution,
         ):
-            mock_capability_service.on_carta_ready(wf_request_id, **fake_carta_ready_msg)
+            mock_capability_service.on_carta_ready(**fake_carta_ready_msg)
             assert mock_capability_info.save_entity.call_count == save_entity_old_call_count + 1
 
             (request_version,) = mock_capability_info.save_entity.call_args.args
diff --git a/shared/workspaces/workspaces/capability/services/capability_service.py b/shared/workspaces/workspaces/capability/services/capability_service.py
index 8714e9362..d863968da 100644
--- a/shared/workspaces/workspaces/capability/services/capability_service.py
+++ b/shared/workspaces/workspaces/capability/services/capability_service.py
@@ -162,7 +162,7 @@ class CapabilityService(CapabilityServiceIF):
         self.capability_info.save_entity(request)
 
     @on_message(type="carta-ready")
-    def on_carta_ready(self, cp_request_id: int, **message: Dict[str, str]):
+    def on_carta_ready(self, **message: Dict[str, str]):
         """
         Catch the RH-flavored event and save it to the capability request version metadata
 
@@ -171,7 +171,9 @@ class CapabilityService(CapabilityServiceIF):
         """
         logger.info(f"RECEIVED CARTA READY MESSAGE: {message}")
 
-        execution = self.capability_info.lookup_execution_by_workflow_request_id(cp_request_id)
+        wf_request_id = int(message["subject"]["workflow_request_id"])
+
+        execution = self.capability_info.lookup_execution_by_workflow_request_id(wf_request_id)
         request_version = execution.version
         request_version.workflow_metadata = {"carta_url": message["carta_url"]}
 
-- 
GitLab