Skip to content

Commit 21cc758

Browse files
committed
Tweak UpdateWorkflowOptions handler tests
1 parent 7980161 commit 21cc758

File tree

1 file changed

+30
-20
lines changed

1 file changed

+30
-20
lines changed

Diff for: service/history/api/updateworkflowoptions/api_test.go

+30-20
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ import (
3030
"github.com/stretchr/testify/assert"
3131
enumspb "go.temporal.io/api/enums/v1"
3232
workflowpb "go.temporal.io/api/workflow/v1"
33-
"google.golang.org/protobuf/proto"
3433
"google.golang.org/protobuf/types/known/fieldmaskpb"
3534
)
3635

@@ -57,65 +56,76 @@ var (
5756

5857
func TestMergeOptions_VersionOverrideMask(t *testing.T) {
5958
updateMask := &fieldmaskpb.FieldMask{Paths: []string{"versioning_override"}}
60-
opts := &workflowpb.WorkflowExecutionOptions{}
59+
input := emptyOptions
6160

6261
// Merge unpinned into empty options
63-
opts, err := applyWorkflowExecutionOptions(opts, unpinnedOverrideOptions, updateMask)
62+
merged, err := applyWorkflowExecutionOptions(input, unpinnedOverrideOptions, updateMask)
6463
if err != nil {
6564
t.Error(err)
6665
}
67-
assert.True(t, proto.Equal(unpinnedOverrideOptions, opts))
66+
assert.EqualExportedValues(t, unpinnedOverrideOptions, merged)
6867

6968
// Merge pinned_A into unpinned options
70-
opts, err = applyWorkflowExecutionOptions(opts, pinnedOverrideOptionsA, updateMask)
69+
merged, err = applyWorkflowExecutionOptions(input, pinnedOverrideOptionsA, updateMask)
7170
if err != nil {
7271
t.Error(err)
7372
}
74-
assert.True(t, proto.Equal(pinnedOverrideOptionsA, opts))
73+
assert.EqualExportedValues(t, pinnedOverrideOptionsA, merged)
7574

7675
// Merge pinned_B into pinned_A options
77-
opts, err = applyWorkflowExecutionOptions(opts, pinnedOverrideOptionsB, updateMask)
76+
merged, err = applyWorkflowExecutionOptions(input, pinnedOverrideOptionsB, updateMask)
7877
if err != nil {
7978
t.Error(err)
8079
}
81-
assert.True(t, proto.Equal(pinnedOverrideOptionsB, opts))
80+
assert.EqualExportedValues(t, pinnedOverrideOptionsB, merged)
8281

8382
// Unset versioning override
84-
opts, err = applyWorkflowExecutionOptions(opts, emptyOptions, updateMask)
83+
merged, err = applyWorkflowExecutionOptions(input, emptyOptions, updateMask)
8584
if err != nil {
8685
t.Error(err)
8786
}
88-
assert.True(t, proto.Equal(emptyOptions, opts))
87+
assert.EqualExportedValues(t, emptyOptions, merged)
8988
}
9089

91-
func TestMergeOptions_PartialUpdateMask(t *testing.T) {
90+
func TestMergeOptions_PartialMask(t *testing.T) {
9291
bothUpdateMask := &fieldmaskpb.FieldMask{Paths: []string{"versioning_override.behavior", "versioning_override.deployment"}}
9392
behaviorOnlyUpdateMask := &fieldmaskpb.FieldMask{Paths: []string{"versioning_override.behavior"}}
9493
deploymentOnlyUpdateMask := &fieldmaskpb.FieldMask{Paths: []string{"versioning_override.deployment"}}
95-
_, err := applyWorkflowExecutionOptions(&workflowpb.WorkflowExecutionOptions{}, unpinnedOverrideOptions, behaviorOnlyUpdateMask)
94+
95+
_, err := applyWorkflowExecutionOptions(emptyOptions, unpinnedOverrideOptions, behaviorOnlyUpdateMask)
9696
assert.Error(t, err)
97-
_, err = applyWorkflowExecutionOptions(&workflowpb.WorkflowExecutionOptions{}, unpinnedOverrideOptions, deploymentOnlyUpdateMask)
97+
98+
_, err = applyWorkflowExecutionOptions(emptyOptions, unpinnedOverrideOptions, deploymentOnlyUpdateMask)
9899
assert.Error(t, err)
99-
opts, err := applyWorkflowExecutionOptions(&workflowpb.WorkflowExecutionOptions{}, unpinnedOverrideOptions, bothUpdateMask)
100+
101+
merged, err := applyWorkflowExecutionOptions(emptyOptions, unpinnedOverrideOptions, bothUpdateMask)
100102
assert.NoError(t, err)
101-
assert.True(t, proto.Equal(unpinnedOverrideOptions, opts))
103+
assert.EqualExportedValues(t, unpinnedOverrideOptions, merged)
102104
}
103105

104-
func TestMergeOptions_EmptyPathsMask(t *testing.T) {
106+
func TestMergeOptions_EmptyMask(t *testing.T) {
105107
emptyUpdateMask := &fieldmaskpb.FieldMask{Paths: []string{}}
106-
opts, err := applyWorkflowExecutionOptions(&workflowpb.WorkflowExecutionOptions{}, unpinnedOverrideOptions, emptyUpdateMask)
108+
input := pinnedOverrideOptionsB
109+
110+
// Don't merge anything
111+
merged, err := applyWorkflowExecutionOptions(input, pinnedOverrideOptionsA, emptyUpdateMask)
112+
assert.NoError(t, err)
113+
assert.EqualExportedValues(t, input, merged)
114+
115+
// Don't merge anything
116+
merged, err = applyWorkflowExecutionOptions(input, nil, emptyUpdateMask)
107117
assert.NoError(t, err)
108-
assert.True(t, proto.Equal(emptyOptions, opts))
118+
assert.EqualExportedValues(t, input, merged)
109119
}
110120

111121
func TestMergeOptions_AsteriskMask(t *testing.T) {
112122
asteriskUpdateMask := &fieldmaskpb.FieldMask{Paths: []string{"*"}}
113-
_, err := applyWorkflowExecutionOptions(&workflowpb.WorkflowExecutionOptions{}, unpinnedOverrideOptions, asteriskUpdateMask)
123+
_, err := applyWorkflowExecutionOptions(emptyOptions, unpinnedOverrideOptions, asteriskUpdateMask)
114124
assert.Error(t, err)
115125
}
116126

117127
func TestMergeOptions_FooMask(t *testing.T) {
118128
fooUpdateMask := &fieldmaskpb.FieldMask{Paths: []string{"foo"}}
119-
_, err := applyWorkflowExecutionOptions(&workflowpb.WorkflowExecutionOptions{}, unpinnedOverrideOptions, fooUpdateMask)
129+
_, err := applyWorkflowExecutionOptions(emptyOptions, unpinnedOverrideOptions, fooUpdateMask)
120130
assert.Error(t, err)
121131
}

0 commit comments

Comments
 (0)