@@ -30,7 +30,6 @@ import (
30
30
"github.com/stretchr/testify/assert"
31
31
enumspb "go.temporal.io/api/enums/v1"
32
32
workflowpb "go.temporal.io/api/workflow/v1"
33
- "google.golang.org/protobuf/proto"
34
33
"google.golang.org/protobuf/types/known/fieldmaskpb"
35
34
)
36
35
@@ -57,65 +56,76 @@ var (
57
56
58
57
func TestMergeOptions_VersionOverrideMask (t * testing.T ) {
59
58
updateMask := & fieldmaskpb.FieldMask {Paths : []string {"versioning_override" }}
60
- opts := & workflowpb. WorkflowExecutionOptions {}
59
+ input := emptyOptions
61
60
62
61
// Merge unpinned into empty options
63
- opts , err := applyWorkflowExecutionOptions (opts , unpinnedOverrideOptions , updateMask )
62
+ merged , err := applyWorkflowExecutionOptions (input , unpinnedOverrideOptions , updateMask )
64
63
if err != nil {
65
64
t .Error (err )
66
65
}
67
- assert .True (t , proto . Equal ( unpinnedOverrideOptions , opts ) )
66
+ assert .EqualExportedValues (t , unpinnedOverrideOptions , merged )
68
67
69
68
// Merge pinned_A into unpinned options
70
- opts , err = applyWorkflowExecutionOptions (opts , pinnedOverrideOptionsA , updateMask )
69
+ merged , err = applyWorkflowExecutionOptions (input , pinnedOverrideOptionsA , updateMask )
71
70
if err != nil {
72
71
t .Error (err )
73
72
}
74
- assert .True (t , proto . Equal ( pinnedOverrideOptionsA , opts ) )
73
+ assert .EqualExportedValues (t , pinnedOverrideOptionsA , merged )
75
74
76
75
// Merge pinned_B into pinned_A options
77
- opts , err = applyWorkflowExecutionOptions (opts , pinnedOverrideOptionsB , updateMask )
76
+ merged , err = applyWorkflowExecutionOptions (input , pinnedOverrideOptionsB , updateMask )
78
77
if err != nil {
79
78
t .Error (err )
80
79
}
81
- assert .True (t , proto . Equal ( pinnedOverrideOptionsB , opts ) )
80
+ assert .EqualExportedValues (t , pinnedOverrideOptionsB , merged )
82
81
83
82
// Unset versioning override
84
- opts , err = applyWorkflowExecutionOptions (opts , emptyOptions , updateMask )
83
+ merged , err = applyWorkflowExecutionOptions (input , emptyOptions , updateMask )
85
84
if err != nil {
86
85
t .Error (err )
87
86
}
88
- assert .True (t , proto . Equal ( emptyOptions , opts ) )
87
+ assert .EqualExportedValues (t , emptyOptions , merged )
89
88
}
90
89
91
- func TestMergeOptions_PartialUpdateMask (t * testing.T ) {
90
+ func TestMergeOptions_PartialMask (t * testing.T ) {
92
91
bothUpdateMask := & fieldmaskpb.FieldMask {Paths : []string {"versioning_override.behavior" , "versioning_override.deployment" }}
93
92
behaviorOnlyUpdateMask := & fieldmaskpb.FieldMask {Paths : []string {"versioning_override.behavior" }}
94
93
deploymentOnlyUpdateMask := & fieldmaskpb.FieldMask {Paths : []string {"versioning_override.deployment" }}
95
- _ , err := applyWorkflowExecutionOptions (& workflowpb.WorkflowExecutionOptions {}, unpinnedOverrideOptions , behaviorOnlyUpdateMask )
94
+
95
+ _ , err := applyWorkflowExecutionOptions (emptyOptions , unpinnedOverrideOptions , behaviorOnlyUpdateMask )
96
96
assert .Error (t , err )
97
- _ , err = applyWorkflowExecutionOptions (& workflowpb.WorkflowExecutionOptions {}, unpinnedOverrideOptions , deploymentOnlyUpdateMask )
97
+
98
+ _ , err = applyWorkflowExecutionOptions (emptyOptions , unpinnedOverrideOptions , deploymentOnlyUpdateMask )
98
99
assert .Error (t , err )
99
- opts , err := applyWorkflowExecutionOptions (& workflowpb.WorkflowExecutionOptions {}, unpinnedOverrideOptions , bothUpdateMask )
100
+
101
+ merged , err := applyWorkflowExecutionOptions (emptyOptions , unpinnedOverrideOptions , bothUpdateMask )
100
102
assert .NoError (t , err )
101
- assert .True (t , proto . Equal ( unpinnedOverrideOptions , opts ) )
103
+ assert .EqualExportedValues (t , unpinnedOverrideOptions , merged )
102
104
}
103
105
104
- func TestMergeOptions_EmptyPathsMask (t * testing.T ) {
106
+ func TestMergeOptions_EmptyMask (t * testing.T ) {
105
107
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 )
107
117
assert .NoError (t , err )
108
- assert .True (t , proto . Equal ( emptyOptions , opts ) )
118
+ assert .EqualExportedValues (t , input , merged )
109
119
}
110
120
111
121
func TestMergeOptions_AsteriskMask (t * testing.T ) {
112
122
asteriskUpdateMask := & fieldmaskpb.FieldMask {Paths : []string {"*" }}
113
- _ , err := applyWorkflowExecutionOptions (& workflowpb. WorkflowExecutionOptions {} , unpinnedOverrideOptions , asteriskUpdateMask )
123
+ _ , err := applyWorkflowExecutionOptions (emptyOptions , unpinnedOverrideOptions , asteriskUpdateMask )
114
124
assert .Error (t , err )
115
125
}
116
126
117
127
func TestMergeOptions_FooMask (t * testing.T ) {
118
128
fooUpdateMask := & fieldmaskpb.FieldMask {Paths : []string {"foo" }}
119
- _ , err := applyWorkflowExecutionOptions (& workflowpb. WorkflowExecutionOptions {} , unpinnedOverrideOptions , fooUpdateMask )
129
+ _ , err := applyWorkflowExecutionOptions (emptyOptions , unpinnedOverrideOptions , fooUpdateMask )
120
130
assert .Error (t , err )
121
131
}
0 commit comments