Skip to content

Commit 618dbf7

Browse files
committed
fix unit test
Signed-off-by: Shijie Sheng <liouvetren@gmail.com>
1 parent 4c6322a commit 618dbf7

File tree

2 files changed

+19
-17
lines changed

2 files changed

+19
-17
lines changed

common/rpc/middleware.go

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,10 @@ package rpc
2323
import (
2424
"context"
2525
"encoding/json"
26-
"fmt"
2726
"io"
2827

2928
"go.uber.org/cadence/worker"
3029
"go.uber.org/yarpc"
31-
"go.uber.org/yarpc/api/middleware"
3230
"go.uber.org/yarpc/api/transport"
3331

3432
"github.com/uber/cadence/common"

service/frontend/wrappers/clusterredirection/utils_test.go

Lines changed: 19 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -25,47 +25,51 @@ import (
2525
"testing"
2626

2727
"github.com/stretchr/testify/assert"
28+
"go.uber.org/yarpc/yarpctest"
2829

30+
apiv1 "github.com/uber/cadence-idl/go/proto/api/v1"
2931
"github.com/uber/cadence/common"
32+
"github.com/uber/cadence/common/client"
3033
"github.com/uber/cadence/common/types"
3134
)
3235

3336
func TestGetRequestedConsistencyLevelFromContext(t *testing.T) {
3437
tests := []struct {
3538
name string
36-
ctx context.Context
39+
featureFlags apiv1.FeatureFlags
3740
expected types.QueryConsistencyLevel
3841
}{
3942
{
40-
name: "no value in context returns eventual",
41-
ctx: context.Background(),
43+
name: "empty feature flags",
44+
featureFlags: apiv1.FeatureFlags{},
4245
expected: types.QueryConsistencyLevelEventual,
4346
},
4447
{
45-
name: "eventual level in context",
46-
ctx: context.WithValue(context.Background(), common.QueryConsistencyLevelHeaderName, types.QueryConsistencyLevelEventual),
48+
name: "auto forwarding disabled",
49+
featureFlags: apiv1.FeatureFlags{AutoforwardingEnabled: false},
4750
expected: types.QueryConsistencyLevelEventual,
4851
},
4952
{
50-
name: "strong level in context",
51-
ctx: context.WithValue(context.Background(), common.QueryConsistencyLevelHeaderName, types.QueryConsistencyLevelStrong),
53+
name: "autoforwarding enabled",
54+
featureFlags: apiv1.FeatureFlags{AutoforwardingEnabled: true},
5255
expected: types.QueryConsistencyLevelStrong,
5356
},
5457
{
55-
name: "wrong type in context returns eventual",
56-
ctx: context.WithValue(context.Background(), common.QueryConsistencyLevelHeaderName, "strong"),
57-
expected: types.QueryConsistencyLevelEventual,
58-
},
59-
{
60-
name: "nil context value returns eventual",
61-
ctx: context.WithValue(context.Background(), common.QueryConsistencyLevelHeaderName, nil),
58+
name: "no autoforwarding field",
59+
featureFlags: apiv1.FeatureFlags{
60+
WorkflowExecutionAlreadyCompletedErrorEnabled: true,
61+
},
6262
expected: types.QueryConsistencyLevelEventual,
6363
},
6464
}
6565

6666
for _, tt := range tests {
6767
t.Run(tt.name, func(t *testing.T) {
68-
result := getRequestedConsistencyLevelFromContext(tt.ctx)
68+
ctx := yarpctest.ContextWithCall(context.Background(), &yarpctest.Call{
69+
Headers: map[string]string{common.ClientFeatureFlagsHeaderName: client.FeatureFlagsHeader(tt.featureFlags)},
70+
})
71+
72+
result := getRequestedConsistencyLevelFromContext(ctx)
6973
assert.Equal(t, tt.expected, result)
7074
})
7175
}

0 commit comments

Comments
 (0)