@@ -155,6 +155,7 @@ def __init__(self):
155155
156156@activity .defn
157157async def passthrough_activity (input : TraceData ) -> TraceData :
158+ activity .payload_converter ().to_payload (input )
158159 activity .heartbeat (input )
159160 # Wait for the heartbeat to be processed so that it modifies the data before the activity returns
160161 await asyncio .sleep (0.2 )
@@ -172,6 +173,7 @@ async def run(self, data: TraceData) -> TraceData:
172173class PayloadConversionWorkflow :
173174 @workflow .run
174175 async def run (self , data : TraceData ) -> TraceData :
176+ workflow .payload_converter ().to_payload (data )
175177 data = await workflow .execute_activity (
176178 passthrough_activity ,
177179 data ,
@@ -242,6 +244,10 @@ async def test_payload_conversion_calls_follow_expected_sequence_and_contexts(
242244 method = "from_payload" ,
243245 context = workflow_context , # Inbound workflow input
244246 ),
247+ TraceItem (
248+ method = "to_payload" ,
249+ context = workflow_context , # workflow payload converter
250+ ),
245251 TraceItem (
246252 method = "to_payload" ,
247253 context = activity_context , # Outbound activity input
@@ -250,6 +256,10 @@ async def test_payload_conversion_calls_follow_expected_sequence_and_contexts(
250256 method = "from_payload" ,
251257 context = activity_context , # Inbound activity input
252258 ),
259+ TraceItem (
260+ method = "to_payload" ,
261+ context = activity_context , # activity payload converter
262+ ),
253263 TraceItem (
254264 method = "to_payload" ,
255265 context = activity_context , # Outbound heartbeat
0 commit comments