Skip to content

Commit

Permalink
Add tests for activity struct arg (#134)
Browse files Browse the repository at this point in the history
  • Loading branch information
alexshtin committed May 26, 2020
1 parent 7419fc0 commit 73e0324
Showing 1 changed file with 36 additions and 0 deletions.
36 changes: 36 additions & 0 deletions internal/internal_worker_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,7 @@ func testInternalWorkerRegister(r *registry) {
testActivityMultipleArgs,
RegisterActivityOptions{Name: "testActivityMultipleArgs"},
)
r.RegisterActivity(testActivityMultipleArgsWithStruct)
r.RegisterActivity(testActivityReturnString)
r.RegisterActivity(testActivityReturnEmptyString)
r.RegisterActivity(testActivityReturnEmptyStruct)
Expand Down Expand Up @@ -102,6 +103,7 @@ func testInternalWorkerRegisterWithTestEnv(env *TestWorkflowEnvironment) {
testActivityMultipleArgs,
RegisterActivityOptions{Name: "testActivityMultipleArgs"},
)
env.RegisterActivity(testActivityMultipleArgsWithStruct)
env.RegisterActivity(testActivityReturnString)
env.RegisterActivity(testActivityReturnEmptyString)
env.RegisterActivity(testActivityReturnEmptyStruct)
Expand Down Expand Up @@ -673,6 +675,7 @@ func (s *internalWorkerTestSuite) TestDecisionTaskHandlerWithDataConverter() {
func sampleWorkflowExecute(ctx Context, input []byte) (result []byte, err error) {
ExecuteActivity(ctx, testActivityByteArgs, input)
ExecuteActivity(ctx, testActivityMultipleArgs, 2, []string{"test"}, true)
ExecuteActivity(ctx, testActivityMultipleArgsWithStruct, -8, newTestActivityArg())
return []byte("Done"), nil
}

Expand All @@ -688,6 +691,12 @@ func testActivityMultipleArgs(context.Context, int, []string, bool) ([]byte, err
return nil, nil
}

// test testActivityMultipleArgsWithStruct
func testActivityMultipleArgsWithStruct(_ context.Context, i int, s testActivityArg) ([]byte, error) {
fmt.Printf("Executing testActivityMultipleArgsWithStruct: %d, %v\n", i, s)
return nil, nil
}

func (s *internalWorkerTestSuite) TestCreateWorker() {
worker := createWorkerWithThrottle(s.service, 500.0, nil)
err := worker.Start()
Expand Down Expand Up @@ -993,6 +1002,9 @@ func (w activitiesCallingOptionsWorkflow) Execute(ctx Context, input []byte) (re
err = ExecuteActivity(ctx, testActivityMultipleArgs, 2, []string{"test"}, true).Get(ctx, nil)
require.NoError(w.t, err, err)

err = ExecuteActivity(ctx, testActivityMultipleArgsWithStruct, -8, newTestActivityArg()).Get(ctx, nil)
require.NoError(w.t, err, err)

err = ExecuteActivity(ctx, testActivityNoResult, 2, "test").Get(ctx, nil)
require.NoError(w.t, err, err)

Expand Down Expand Up @@ -1116,10 +1128,34 @@ func testActivityReturnEmptyString() (string, error) {
return "", nil
}

type testActivityArg struct {
Index int
Name string
Data []byte
IndexPtr *int
NamePtr *string
DataPtr *[]byte
}

type testActivityResult struct {
Index int
}

func newTestActivityArg() *testActivityArg {
name := "JohnSmith"
index := 22
data := []byte{22, 8, 78}

return &testActivityArg{
Name: name,
Index: index,
Data: data,
NamePtr: &name,
IndexPtr: &index,
DataPtr: &data,
}
}

// testActivityReturnEmptyStruct
func testActivityReturnEmptyStruct() (testActivityResult, error) {
// Return is mocked to retrun nil from server.
Expand Down

0 comments on commit 73e0324

Please sign in to comment.