Atlas › Test
TestMergeActivityOptionsErrors
Exact test identity: go.temporal.io/server/common/activityoptions/TestMergeActivityOptionsErrors
- Package
go.temporal.io/server/common/activityoptions
- Suite / test hierarchy
TestMergeActivityOptionsErrors
- Test
TestMergeActivityOptionsErrors
- Introduced at
- merge.go ×9 Frontier kind: Joint frontier
- Covered ranges
- 41
- Covered lines
- 70
- Covered files
- 2
Covered source
Expand a file to inspect source; the > gutter marks covered lines.
go.temporal.io/server/common/activityoptions/merge.go 42 covered LOC · 32 ranges
Open complete file
13
//
14
//nolint:revive // cyclomatic: field-mask application requires explicit handling of each supported field
15
>
func MergeActivityOptions(mergeInto, mergeFrom *activitypb.ActivityOptions, updateFields map[string]struct{}) error {
merge.go
16
>
if _, ok := updateFields["taskQueue.name"]; ok {
17
>
if mergeFrom.GetTaskQueue() == nil {
merge.go
18
>
return serviceerror.NewInvalidArgument("TaskQueue is not provided")
merge.go
19
>
}
20
if mergeInto.TaskQueue == nil {
21
mergeInto.TaskQueue = mergeFrom.GetTaskQueue()
25
}
26
27
>
if _, ok := updateFields["scheduleToCloseTimeout"]; ok {
merge.go
28
mergeInto.ScheduleToCloseTimeout = mergeFrom.GetScheduleToCloseTimeout()
29
}
30
31
>
if _, ok := updateFields["scheduleToStartTimeout"]; ok {
merge.go
32
mergeInto.ScheduleToStartTimeout = mergeFrom.GetScheduleToStartTimeout()
33
}
34
35
>
if _, ok := updateFields["startToCloseTimeout"]; ok {
merge.go
36
mergeInto.StartToCloseTimeout = mergeFrom.GetStartToCloseTimeout()
37
}
38
39
>
if _, ok := updateFields["heartbeatTimeout"]; ok {
merge.go
40
mergeInto.HeartbeatTimeout = mergeFrom.GetHeartbeatTimeout()
41
}
42
43
>
if _, ok := updateFields["priority"]; ok {
merge.go
44
mergeInto.Priority = mergeFrom.GetPriority()
45
}
46
47
>
if _, ok := updateFields["priority.priorityKey"]; ok {
merge.go
48
>
if mergeFrom.GetPriority() == nil {
merge.go
49
>
return serviceerror.NewInvalidArgument("Priority is not provided")
merge.go
50
>
}
51
if mergeInto.Priority == nil {
52
mergeInto.Priority = &commonpb.Priority{}
55
}
56
57
>
if _, ok := updateFields["priority.fairnessKey"]; ok {
merge.go
58
>
if mergeFrom.GetPriority() == nil {
merge.go
59
>
return serviceerror.NewInvalidArgument("Priority is not provided")
merge.go
60
>
}
61
if mergeInto.Priority == nil {
62
mergeInto.Priority = &commonpb.Priority{}
65
}
66
67
>
if _, ok := updateFields["priority.fairnessWeight"]; ok {
merge.go
68
>
if mergeFrom.GetPriority() == nil {
merge.go
69
>
return serviceerror.NewInvalidArgument("Priority is not provided")
merge.go
70
>
}
71
if mergeInto.Priority == nil {
72
mergeInto.Priority = &commonpb.Priority{}
75
}
76
77
>
if _, ok := updateFields["retryPolicy"]; ok {
merge.go
78
>
if mergeFrom.GetRetryPolicy() == nil {
merge.go
79
>
return serviceerror.NewInvalidArgument("RetryPolicy is not provided")
merge.go
80
>
}
81
mergeInto.RetryPolicy = mergeFrom.GetRetryPolicy()
82
}
83
84
>
if _, ok := updateFields["retryPolicy.initialInterval"]; ok {
merge.go
85
>
if mergeFrom.GetRetryPolicy() == nil {
merge.go
86
>
return serviceerror.NewInvalidArgument("RetryPolicy is not provided")
merge.go
87
>
}
88
if mergeInto.RetryPolicy == nil {
89
mergeInto.RetryPolicy = &commonpb.RetryPolicy{}
92
}
93
94
>
if _, ok := updateFields["retryPolicy.backoffCoefficient"]; ok {
merge.go
95
>
if mergeFrom.GetRetryPolicy() == nil {
merge.go
96
>
return serviceerror.NewInvalidArgument("RetryPolicy is not provided")
merge.go
97
>
}
98
if mergeInto.RetryPolicy == nil {
99
mergeInto.RetryPolicy = &commonpb.RetryPolicy{}
102
}
103
104
>
if _, ok := updateFields["retryPolicy.maximumInterval"]; ok {
merge.go
105
>
if mergeFrom.GetRetryPolicy() == nil {
merge.go
106
>
return serviceerror.NewInvalidArgument("RetryPolicy is not provided")
merge.go
107
>
}
108
if mergeInto.RetryPolicy == nil {
109
mergeInto.RetryPolicy = &commonpb.RetryPolicy{}
112
}
113
114
>
if _, ok := updateFields["retryPolicy.maximumAttempts"]; ok {
merge.go
115
>
if mergeFrom.GetRetryPolicy() == nil {
merge.go
116
>
return serviceerror.NewInvalidArgument("RetryPolicy is not provided")
merge.go
117
>
}
118
if mergeInto.RetryPolicy == nil {
119
mergeInto.RetryPolicy = &commonpb.RetryPolicy{}
go.temporal.io/server/common/util/proto.go 28 covered LOC · 9 ranges
Open complete file
9
)
10
11
>
func ConvertPathToCamel(input string) []string {
proto.go
12
>
var pathParts []string
13
>
for path := range strings.SplitSeq(input, ".") {
14
>
// Split by "_" and convert each word to Title Case (CamelCase)
15
>
var b strings.Builder
16
>
j := 0
17
>
for word := range strings.SplitSeq(path, "_") {
18
>
if j > 0 {
19
>
b.WriteString(cases.Title(language.Und).String(strings.ToLower(word)))
proto.go
21
>
// lowercase the first letter
22
>
if len(word) > 0 {
23
>
b.WriteString(strings.ToLower(word[:1]))
24
>
if len(word) > 1 {
25
>
b.WriteString(word[1:])
26
>
}
27
}
28
}
30
}
31
// Join the words into a CamelCase substring
32
>
pathParts = append(pathParts, b.String())
proto.go
33
}
34
// Join all CamelCase substrings back with "."
36
}
37
38
>
func ParseFieldMask(mask *fieldmaskpb.FieldMask) map[string]struct{} {
proto.go
39
>
fieldMaskPaths := make(map[string]struct{})
40
>
41
>
for _, path := range mask.Paths {
42
>
pathParts := ConvertPathToCamel(path)
proto.go
43
>
jsonPath := strings.Join(pathParts, ".")
44
>
fieldMaskPaths[jsonPath] = struct{}{}
45
>
}
46
48
}
49