Skip to content

Commit 1f43ec4

Browse files
committed
add unit test
1 parent c06b7bb commit 1f43ec4

File tree

1 file changed

+28
-18
lines changed

1 file changed

+28
-18
lines changed

internal/internal_task_pollers_test.go

Lines changed: 28 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ import (
2626
"testing"
2727
"time"
2828

29+
"go.uber.org/zap/zaptest/observer"
30+
2931
"go.uber.org/cadence/internal/common/testlogger"
3032

3133
"github.com/golang/mock/gomock"
@@ -111,21 +113,22 @@ func TestWorkflowTaskPoller(t *testing.T) {
111113
}
112114

113115
func TestActivityTaskPoller(t *testing.T) {
116+
task := &s.PollForActivityTaskResponse{
117+
TaskToken: []byte("some value"),
118+
AutoConfigHint: &s.AutoConfigHint{
119+
common.PtrOf(true),
120+
common.PtrOf(int64(1000)),
121+
},
122+
}
123+
emptyTask := &s.PollForActivityTaskResponse{
124+
TaskToken: nil,
125+
AutoConfigHint: &s.AutoConfigHint{
126+
common.PtrOf(true),
127+
common.PtrOf(int64(1000)),
128+
},
129+
}
114130
t.Run("PollTask", func(t *testing.T) {
115-
task := &s.PollForActivityTaskResponse{
116-
TaskToken: []byte("some value"),
117-
AutoConfigHint: &s.AutoConfigHint{
118-
common.PtrOf(true),
119-
common.PtrOf(int64(1000)),
120-
},
121-
}
122-
emptyTask := &s.PollForActivityTaskResponse{
123-
TaskToken: nil,
124-
AutoConfigHint: &s.AutoConfigHint{
125-
common.PtrOf(true),
126-
common.PtrOf(int64(1000)),
127-
},
128-
}
131+
129132
for _, tt := range []struct {
130133
name string
131134
response *s.PollForActivityTaskResponse
@@ -147,7 +150,7 @@ func TestActivityTaskPoller(t *testing.T) {
147150
},
148151
} {
149152
t.Run(tt.name, func(t *testing.T) {
150-
poller, client := buildActivityTaskPoller(t)
153+
poller, client, _ := buildActivityTaskPoller(t)
151154
client.EXPECT().PollForActivityTask(gomock.Any(), gomock.Any(), gomock.Any()).Return(tt.response, nil)
152155
result, err := poller.PollTask()
153156
assert.NoError(t, err)
@@ -157,6 +160,12 @@ func TestActivityTaskPoller(t *testing.T) {
157160
})
158161
}
159162
})
163+
t.Run("ProcessTask Empty Task", func(t *testing.T) {
164+
poller, _, obs := buildActivityTaskPoller(t)
165+
err := poller.ProcessTask(&activityTask{task: emptyTask})
166+
assert.NoError(t, err)
167+
assert.Len(t, obs.FilterMessage("Activity task unavailable").All(), 1)
168+
})
160169
}
161170

162171
func TestLocalActivityPanic(t *testing.T) {
@@ -312,9 +321,10 @@ func buildWorkflowTaskPoller(t *testing.T) (*workflowTaskPoller, *workflowservic
312321
}, mockService, taskHandler, lda
313322
}
314323

315-
func buildActivityTaskPoller(t *testing.T) (*activityTaskPoller, *workflowservicetest.MockClient) {
324+
func buildActivityTaskPoller(t *testing.T) (*activityTaskPoller, *workflowservicetest.MockClient, *observer.ObservedLogs) {
316325
ctrl := gomock.NewController(t)
317326
mockService := workflowservicetest.NewMockClient(ctrl)
327+
logger, obs := testlogger.NewObserved(t)
318328
return &activityTaskPoller{
319329
basePoller: basePoller{
320330
shutdownC: make(<-chan struct{}),
@@ -324,7 +334,7 @@ func buildActivityTaskPoller(t *testing.T) (*activityTaskPoller, *workflowservic
324334
identity: _testIdentity,
325335
service: mockService,
326336
metricsScope: &metrics.TaggedScope{Scope: tally.NewTestScope("test", nil)},
327-
logger: testlogger.NewZap(t),
337+
logger: logger,
328338
featureFlags: FeatureFlags{},
329-
}, mockService
339+
}, mockService, obs
330340
}

0 commit comments

Comments
 (0)