Open
Description
What are you really trying to do?
I want to leverage userMetadata.summary
and show it in UI, and test the functionality.
Describe the bug
My tests fail when running tests with test server in time-skipping mode.
I am passing summary
attribute when executing workflow and activities. Then I query workflow history I can see userMetadata.summary
populated on the HistoryEvent
when running in dev mode, but it is missing in time-skipping mode.
Minimal Reproduction
@workflow.defn
class WorkflowSample:
@workflow.run
async def run(self, name: str) -> list[str]:
result = await workflow.execute_activity(ActivitySample.greeting, name, summary=f"Calculating greeting for {name}")
return [result]
async def get_payload_value(self, *args: Payload | None) -> str | None:
decoded_summary = await self.data_converter.decode(non_empty_payloads(*args))
if len(decoded_summary) == 0:
return None
return decoded_summary[0]
async def get_summary(self, history_event: HistoryEvent) -> str | None:
logger.debug("Getting summary for event %s", MessageToJson(history_event))
return await self.get_payload_value(
history_event.user_metadata.summary)
async def run(self):
async for event in workflow_handle.fetch_history_events(wait_new_event=wait_new_event):
summary = await self.get_summary(event)
print(summary)
Environment/Versions
- OS and processor: M1 Mac
- Temporal Version: 1.10.0