uber-go / cadence-client

Framework for authoring workflows and activities running on top of the Cadence orchestration engine.

Home Page:https://cadenceworkflow.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

`TestWorkflowEnvironment` doesn't invoke interceptors in the context of child workflows

seiffert opened this issue · comments

Describe the bug
TestWorkflowEnvironments with custom interceptors don't seem to execute them on child workflows at the moment. I can see the ExecuteWorkflow hook of my interceptor being called for the tested main workflow, but if that workflow calls workflow.ExecuteChildWorkflow internally, the interceptor's ExecuteWorkflow hook isn't called in the context of the child workflow.

In production code, I can observe how when calling ExecuteChildWorkflow the identically-named interceptor method is called and then once the child workflow was scheduled, the interceptor's ExecuteWorkflow is called in the context of the child workflow.

To Reproduce
Is the issue reproducible? Yes

Steps to reproduce the behavior:

  • Copy cadence_test.go from this Gist to a file.
  • Run the test suite go test -v . -run=TestInterceptorTestSuite
  • Check whether the output contains the lines start Interceptor.ExecuteWorkflow "child" and end Interceptor.ExecuteWorkflow "child".

Expected behavior
Workflow Interceptors' ExecuteWorkflow method is also invoked for child-workflows.

Additional context