Skip to content

Commit

Permalink
Revert "Addressing difference in workflow interceptors when using the…
Browse files Browse the repository at this point in the history
… testkit (uber-go#1257)"

This reverts commit e31ba38.
  • Loading branch information
ketsiambaku committed Feb 29, 2024
1 parent 204636e commit f30f22b
Show file tree
Hide file tree
Showing 2 changed files with 0 additions and 72 deletions.
1 change: 0 additions & 1 deletion internal/internal_workflow_testsuite.go
Original file line number Diff line number Diff line change
Expand Up @@ -362,7 +362,6 @@ func (env *testWorkflowEnvironmentImpl) newTestWorkflowEnvironmentForChild(param
childEnv.startedHandler = startedHandler
childEnv.testWorkflowEnvironmentShared = env.testWorkflowEnvironmentShared
childEnv.workerOptions = env.workerOptions
childEnv.workflowInterceptors = env.workflowInterceptors
childEnv.workerOptions.DataConverter = params.dataConverter
childEnv.workflowInterceptors = env.workflowInterceptors
childEnv.registry = env.registry
Expand Down
71 changes: 0 additions & 71 deletions internal/workflow_testsuite_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@ package internal

import (
"context"
"github.com/stretchr/testify/suite"
"strings"
"testing"
"time"
Expand Down Expand Up @@ -128,73 +127,3 @@ func TestWorkflowReturnNil(t *testing.T) {
err := env.GetWorkflowResult(&r)
require.NoError(t, err)
}

type InterceptorTestSuite struct {
suite.Suite
WorkflowTestSuite

env *TestWorkflowEnvironment
testFactory InterceptorFactory
}

type InterceptorFactory struct {
workflowInterceptorInvocationCounter int
childWorkflowInterceptorInvocationCounter int
}

type Interceptor struct {
WorkflowInterceptorBase
workflowInterceptorInvocationCounter *int
childWorkflowInterceptorInvocationCounter *int
}

func (i *Interceptor) ExecuteWorkflow(ctx Context, workflowType string, args ...interface{}) []interface{} {
*i.workflowInterceptorInvocationCounter += 1
return i.Next.ExecuteWorkflow(ctx, workflowType, args...)
}
func (i *Interceptor) ExecuteChildWorkflow(ctx Context, workflowType string, args ...interface{}) ChildWorkflowFuture {
*i.childWorkflowInterceptorInvocationCounter += 1
return i.Next.ExecuteChildWorkflow(ctx, workflowType, args...)
}

func (f *InterceptorFactory) NewInterceptor(_ *WorkflowInfo, next WorkflowInterceptor) WorkflowInterceptor {
return &Interceptor{
WorkflowInterceptorBase: WorkflowInterceptorBase{
Next: next,
},
workflowInterceptorInvocationCounter: &f.workflowInterceptorInvocationCounter,
childWorkflowInterceptorInvocationCounter: &f.childWorkflowInterceptorInvocationCounter,
}
}

func (s *InterceptorTestSuite) SetupTest() {
// Create a test workflow environment with the trace interceptor configured.
s.env = s.NewTestWorkflowEnvironment()
s.testFactory = InterceptorFactory{}
s.env.SetWorkerOptions(WorkerOptions{
WorkflowInterceptorChainFactories: []WorkflowInterceptorFactory{
&s.testFactory,
},
})
}

func TestInterceptorTestSuite(t *testing.T) {
suite.Run(t, new(InterceptorTestSuite))
}

func (s *InterceptorTestSuite) Test_GeneralInterceptor_IsExecutedOnChildren() {
r := s.Require()
childWf := func(ctx Context) error {
return nil
}
s.env.RegisterWorkflowWithOptions(childWf, RegisterWorkflowOptions{Name: "child"})
wf := func(ctx Context) error {
return ExecuteChildWorkflow(ctx, childWf).Get(ctx, nil)
}
s.env.RegisterWorkflowWithOptions(wf, RegisterWorkflowOptions{Name: "parent"})
s.env.ExecuteWorkflow(wf)
r.True(s.env.IsWorkflowCompleted())
r.NoError(s.env.GetWorkflowError())
r.Equal(s.testFactory.workflowInterceptorInvocationCounter, 2)
r.Equal(s.testFactory.childWorkflowInterceptorInvocationCounter, 1)
}

0 comments on commit f30f22b

Please sign in to comment.