Skip to content

Commit 4214fc3

Browse files
authored
Refactor: remove FunctionalTestSdkSuite base struct (#7762)
## What changed? Refactor: remove `FunctionalTestSdkSuite` base struct and move SDK client and worker to `FunctionalTestBase`. ## Why? Many poller based tests use SDK client/worker for various operations. It is much more convenient to have them defined in the top level base class. ## How did you test it? - [ ] built - [ ] run locally and tested manually - [x] covered by existing tests - [ ] added new unit test(s) - [ ] added new functional test(s)
1 parent 91618c2 commit 4214fc3

38 files changed

+357
-600
lines changed

tests/activity_api_batch_unpause_test.go

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,18 +24,14 @@ import (
2424
)
2525

2626
type ActivityApiBatchUnpauseClientTestSuite struct {
27-
testcore.FunctionalTestSdkSuite
27+
testcore.FunctionalTestBase
2828
}
2929

3030
func TestActivityApiBatchUnpauseClientTestSuite(t *testing.T) {
3131
s := new(ActivityApiBatchUnpauseClientTestSuite)
3232
suite.Run(t, s)
3333
}
3434

35-
func (s *ActivityApiBatchUnpauseClientTestSuite) SetupTest() {
36-
s.FunctionalTestSdkSuite.SetupTest()
37-
}
38-
3935
type internalTestWorkflow struct {
4036
initialRetryInterval time.Duration
4137
scheduleToCloseTimeout time.Duration

tests/activity_api_pause_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ import (
2121
)
2222

2323
type ActivityApiPauseClientTestSuite struct {
24-
testcore.FunctionalTestSdkSuite
24+
testcore.FunctionalTestBase
2525
tv *testvars.TestVars
2626
initialRetryInterval time.Duration
2727
scheduleToCloseTimeout time.Duration
@@ -36,7 +36,7 @@ func TestActivityApiPauseClientTestSuite(t *testing.T) {
3636
}
3737

3838
func (s *ActivityApiPauseClientTestSuite) SetupTest() {
39-
s.FunctionalTestSdkSuite.SetupTest()
39+
s.FunctionalTestBase.SetupTest()
4040

4141
s.tv = testvars.New(s.T()).WithTaskQueue(s.TaskQueue()).WithNamespaceName(s.Namespace())
4242

tests/activity_api_reset_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ import (
4747
)
4848

4949
type ActivityApiResetClientTestSuite struct {
50-
testcore.FunctionalTestSdkSuite
50+
testcore.FunctionalTestBase
5151
tv *testvars.TestVars
5252
initialRetryInterval time.Duration
5353
scheduleToCloseTimeout time.Duration
@@ -62,7 +62,7 @@ func TestActivityApiResetClientTestSuite(t *testing.T) {
6262
}
6363

6464
func (s *ActivityApiResetClientTestSuite) SetupTest() {
65-
s.FunctionalTestSdkSuite.SetupTest()
65+
s.FunctionalTestBase.SetupTest()
6666

6767
s.tv = testvars.New(s.T()).WithTaskQueue(s.TaskQueue()).WithNamespaceName(s.Namespace())
6868

tests/activity_api_rules_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ import (
2424
)
2525

2626
type ActivityApiRulesClientTestSuite struct {
27-
testcore.FunctionalTestSdkSuite
27+
testcore.FunctionalTestBase
2828

2929
initialRetryInterval time.Duration
3030
scheduleToCloseTimeout time.Duration
@@ -127,7 +127,7 @@ func (w *internalRulesTestWorkflow) ActivityFuncForPrePause() (string, error) {
127127
}
128128

129129
func (s *ActivityApiRulesClientTestSuite) SetupTest() {
130-
s.FunctionalTestSdkSuite.SetupTest()
130+
s.FunctionalTestBase.SetupTest()
131131

132132
s.OverrideDynamicConfig(dynamicconfig.WorkflowRulesAPIsEnabled, true)
133133

tests/activity_api_update_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ import (
2323
)
2424

2525
type ActivityApiUpdateClientTestSuite struct {
26-
testcore.FunctionalTestSdkSuite
26+
testcore.FunctionalTestBase
2727
tv *testvars.TestVars
2828
}
2929

@@ -33,7 +33,7 @@ func TestActivityApiUpdateClientTestSuite(t *testing.T) {
3333
}
3434

3535
func (s *ActivityApiUpdateClientTestSuite) SetupTest() {
36-
s.FunctionalTestSdkSuite.SetupTest()
36+
s.FunctionalTestBase.SetupTest()
3737
s.tv = testvars.New(s.T()).WithTaskQueue(s.TaskQueue()).WithNamespaceName(s.Namespace())
3838
}
3939

tests/activity_test.go

Lines changed: 9 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ type ActivityTestSuite struct {
4141
}
4242

4343
type ActivityClientTestSuite struct {
44-
testcore.FunctionalTestSdkSuite
44+
testcore.FunctionalTestBase
4545
}
4646

4747
func TestActivityTestSuite(t *testing.T) {
@@ -1391,15 +1391,9 @@ func (s *ActivityTestSuite) TestActivityHeartBeat_RecordIdentity() {
13911391
}
13921392

13931393
func (s *ActivityTestSuite) TestActivityTaskCompleteForceCompletion() {
1394-
sdkClient, err := sdkclient.Dial(sdkclient.Options{
1395-
HostPort: s.FrontendGRPCAddress(),
1396-
Namespace: s.Namespace().String(),
1397-
})
1398-
s.NoError(err)
1399-
14001394
activityInfo := make(chan activity.Info, 1)
14011395
taskQueue := testcore.RandomizeStr(s.T().Name())
1402-
w, wf := s.mockWorkflowWithErrorActivity(activityInfo, sdkClient, taskQueue)
1396+
w, wf := s.mockWorkflowWithErrorActivity(activityInfo, s.SdkClient(), taskQueue)
14031397
s.NoError(w.Start())
14041398
defer w.Stop()
14051399

@@ -1408,35 +1402,29 @@ func (s *ActivityTestSuite) TestActivityTaskCompleteForceCompletion() {
14081402
ID: uuid.New(),
14091403
TaskQueue: taskQueue,
14101404
}
1411-
run, err := sdkClient.ExecuteWorkflow(ctx, workflowOptions, wf)
1405+
run, err := s.SdkClient().ExecuteWorkflow(ctx, workflowOptions, wf)
14121406
s.NoError(err)
14131407
ai := <-activityInfo
14141408
s.EventuallyWithT(func(t *assert.CollectT) {
1415-
description, err := sdkClient.DescribeWorkflowExecution(ctx, run.GetID(), run.GetRunID())
1409+
description, err := s.SdkClient().DescribeWorkflowExecution(ctx, run.GetID(), run.GetRunID())
14161410
assert.NoError(t, err)
14171411
assert.Equal(t, 1, len(description.PendingActivities))
14181412
assert.Equal(t, "mock error of an activity", description.PendingActivities[0].LastFailure.Message)
14191413
},
14201414
10*time.Second,
14211415
500*time.Millisecond)
14221416

1423-
err = sdkClient.CompleteActivityByID(ctx, s.Namespace().String(), run.GetID(), run.GetRunID(), ai.ActivityID, nil, nil)
1417+
err = s.SdkClient().CompleteActivityByID(ctx, s.Namespace().String(), run.GetID(), run.GetRunID(), ai.ActivityID, nil, nil)
14241418
s.NoError(err)
14251419

14261420
// Ensure the activity is completed and the workflow is unblcked.
14271421
s.NoError(run.Get(ctx, nil))
14281422
}
14291423

14301424
func (s *ActivityTestSuite) TestActivityTaskCompleteRejectCompletion() {
1431-
sdkClient, err := sdkclient.Dial(sdkclient.Options{
1432-
HostPort: s.FrontendGRPCAddress(),
1433-
Namespace: s.Namespace().String(),
1434-
})
1435-
s.NoError(err)
1436-
14371425
activityInfo := make(chan activity.Info, 1)
14381426
taskQueue := testcore.RandomizeStr(s.T().Name())
1439-
w, wf := s.mockWorkflowWithErrorActivity(activityInfo, sdkClient, taskQueue)
1427+
w, wf := s.mockWorkflowWithErrorActivity(activityInfo, s.SdkClient(), taskQueue)
14401428
s.NoError(w.Start())
14411429
defer w.Stop()
14421430

@@ -1445,19 +1433,19 @@ func (s *ActivityTestSuite) TestActivityTaskCompleteRejectCompletion() {
14451433
ID: uuid.New(),
14461434
TaskQueue: taskQueue,
14471435
}
1448-
run, err := sdkClient.ExecuteWorkflow(ctx, workflowOptions, wf)
1436+
run, err := s.SdkClient().ExecuteWorkflow(ctx, workflowOptions, wf)
14491437
s.NoError(err)
14501438
ai := <-activityInfo
14511439
s.EventuallyWithT(func(t *assert.CollectT) {
1452-
description, err := sdkClient.DescribeWorkflowExecution(ctx, run.GetID(), run.GetRunID())
1440+
description, err := s.SdkClient().DescribeWorkflowExecution(ctx, run.GetID(), run.GetRunID())
14531441
assert.NoError(t, err)
14541442
assert.Equal(t, 1, len(description.PendingActivities))
14551443
assert.Equal(t, "mock error of an activity", description.PendingActivities[0].LastFailure.Message)
14561444
},
14571445
10*time.Second,
14581446
500*time.Millisecond)
14591447

1460-
err = sdkClient.CompleteActivity(ctx, ai.TaskToken, nil, nil)
1448+
err = s.SdkClient().CompleteActivity(ctx, ai.TaskToken, nil, nil)
14611449
var svcErr *serviceerror.NotFound
14621450
s.ErrorAs(err, &svcErr, "invalid activityID or activity already timed out or invoking workflow is completed")
14631451
}

tests/add_tasks_test.go

Lines changed: 3 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@ type (
3838

3939
shardController *faultyShardController
4040
worker worker.Worker
41-
sdkClient sdkclient.Client
4241
skippedTasks chan tasks.Task
4342

4443
shouldSkip atomic.Bool
@@ -134,13 +133,6 @@ func (s *AddTasksSuite) SetupSuite() {
134133
),
135134
),
136135
)
137-
// Get an SDK client so that we can call ExecuteWorkflow.
138-
s.sdkClient = s.newSDKClient()
139-
}
140-
141-
func (s *AddTasksSuite) TearDownSuite() {
142-
s.sdkClient.Close()
143-
s.FunctionalTestBase.TearDownSuite()
144136
}
145137

146138
func (s *AddTasksSuite) TestAddTasks_Ok() {
@@ -159,8 +151,7 @@ func (s *AddTasksSuite) TestAddTasks_Ok() {
159151
} {
160152
s.Run(tc.name, func() {
161153
// Register a workflow which does nothing.
162-
taskQueue := testcore.RandomizeStr("add-tasks-test-queue")
163-
w := worker.New(s.sdkClient, taskQueue, worker.Options{DeadlockDetectionTimeout: 0})
154+
w := worker.New(s.SdkClient(), s.TaskQueue(), worker.Options{DeadlockDetectionTimeout: 0})
164155
myWorkflow := func(ctx workflow.Context) error {
165156
return nil
166157
}
@@ -178,9 +169,9 @@ func (s *AddTasksSuite) TestAddTasks_Ok() {
178169
timeout := 5 * debug.TimeoutMultiplier * time.Second
179170
ctx, cancel := context.WithTimeout(ctx, timeout)
180171
defer cancel()
181-
run, err := s.sdkClient.ExecuteWorkflow(ctx, sdkclient.StartWorkflowOptions{
172+
run, err := s.SdkClient().ExecuteWorkflow(ctx, sdkclient.StartWorkflowOptions{
182173
ID: workflowID,
183-
TaskQueue: taskQueue,
174+
TaskQueue: s.TaskQueue(),
184175
}, myWorkflow)
185176
s.NoError(err)
186177

@@ -244,12 +235,3 @@ func (s *AddTasksSuite) TestAddTasks_GetEngineErr() {
244235
s.Error(err)
245236
s.ErrorContains(err, (*s.getEngineErr.Load()).Error())
246237
}
247-
248-
func (s *AddTasksSuite) newSDKClient() sdkclient.Client {
249-
client, err := sdkclient.Dial(sdkclient.Options{
250-
HostPort: s.FrontendGRPCAddress(),
251-
Namespace: s.Namespace().String(),
252-
})
253-
s.Require().NoError(err)
254-
return client
255-
}

tests/admin_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ import (
1717
)
1818

1919
type AdminTestSuite struct {
20-
testcore.FunctionalTestSdkSuite
20+
testcore.FunctionalTestBase
2121
}
2222

2323
func TestAdminTestSuite(t *testing.T) {

0 commit comments

Comments
 (0)