Skip to content

Commit 1485006

Browse files
alexshtinmeiliang86
authored andcommitted
Add tests for activity struct arg (#134)
1 parent 8b4cd48 commit 1485006

File tree

1 file changed

+36
-0
lines changed

1 file changed

+36
-0
lines changed

internal/internal_worker_test.go

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ func testInternalWorkerRegister(r *registry) {
6262
testActivityMultipleArgs,
6363
RegisterActivityOptions{Name: "testActivityMultipleArgs"},
6464
)
65+
r.RegisterActivity(testActivityMultipleArgsWithStruct)
6566
r.RegisterActivity(testActivityReturnString)
6667
r.RegisterActivity(testActivityReturnEmptyString)
6768
r.RegisterActivity(testActivityReturnEmptyStruct)
@@ -94,6 +95,7 @@ func testInternalWorkerRegisterWithTestEnv(env *TestWorkflowEnvironment) {
9495
testActivityMultipleArgs,
9596
RegisterActivityOptions{Name: "testActivityMultipleArgs"},
9697
)
98+
env.RegisterActivity(testActivityMultipleArgsWithStruct)
9799
env.RegisterActivity(testActivityReturnString)
98100
env.RegisterActivity(testActivityReturnEmptyString)
99101
env.RegisterActivity(testActivityReturnEmptyStruct)
@@ -413,6 +415,7 @@ func (s *internalWorkerTestSuite) TestDecisionTaskHandler_WithDataConverter() {
413415
func sampleWorkflowExecute(ctx Context, input []byte) (result []byte, err error) {
414416
ExecuteActivity(ctx, testActivityByteArgs, input)
415417
ExecuteActivity(ctx, testActivityMultipleArgs, 2, []string{"test"}, true)
418+
ExecuteActivity(ctx, testActivityMultipleArgsWithStruct, -8, newTestActivityArg())
416419
return []byte("Done"), nil
417420
}
418421

@@ -428,6 +431,12 @@ func testActivityMultipleArgs(context.Context, int, []string, bool) ([]byte, err
428431
return nil, nil
429432
}
430433

434+
// test testActivityMultipleArgsWithStruct
435+
func testActivityMultipleArgsWithStruct(_ context.Context, i int, s testActivityArg) ([]byte, error) {
436+
fmt.Printf("Executing testActivityMultipleArgsWithStruct: %d, %v\n", i, s)
437+
return nil, nil
438+
}
439+
431440
func (s *internalWorkerTestSuite) TestCreateWorker() {
432441
worker := createWorkerWithThrottle(s.service, float64(500.0), nil)
433442
err := worker.Start()
@@ -736,6 +745,9 @@ func (w activitiesCallingOptionsWorkflow) Execute(ctx Context, input []byte) (re
736745
err = ExecuteActivity(ctx, testActivityMultipleArgs, 2, []string{"test"}, true).Get(ctx, nil)
737746
require.NoError(w.t, err, err)
738747

748+
err = ExecuteActivity(ctx, testActivityMultipleArgsWithStruct, -8, newTestActivityArg()).Get(ctx, nil)
749+
require.NoError(w.t, err, err)
750+
739751
err = ExecuteActivity(ctx, testActivityNoResult, 2, "test").Get(ctx, nil)
740752
require.NoError(w.t, err, err)
741753

@@ -859,10 +871,34 @@ func testActivityReturnEmptyString() (string, error) {
859871
return "", nil
860872
}
861873

874+
type testActivityArg struct {
875+
Index int
876+
Name string
877+
Data []byte
878+
IndexPtr *int
879+
NamePtr *string
880+
DataPtr *[]byte
881+
}
882+
862883
type testActivityResult struct {
863884
Index int
864885
}
865886

887+
func newTestActivityArg() *testActivityArg {
888+
name := "JohnSmith"
889+
index := 22
890+
data := []byte{22, 8, 78}
891+
892+
return &testActivityArg{
893+
Name: name,
894+
Index: index,
895+
Data: data,
896+
NamePtr: &name,
897+
IndexPtr: &index,
898+
DataPtr: &data,
899+
}
900+
}
901+
866902
// testActivityReturnEmptyStruct
867903
func testActivityReturnEmptyStruct() (testActivityResult, error) {
868904
// Return is mocked to retrun nil from server.

0 commit comments

Comments
 (0)