Atlas › Test
Sub-fields
Exact test identity: go.temporal.io/server/common/activityoptions/TestMergeActivityOptionsAcceptance/Sub-fields
- Package
go.temporal.io/server/common/activityoptions
- Suite / test hierarchy
TestMergeActivityOptionsAcceptance/Sub-fields
- Test
Sub-fields
- Introduced at
- Sub-fields Frontier kind: Test frontier
- Covered ranges
- 46
- Covered lines
- 66
- Covered files
- 2
Covered source
Expand a file to inspect source; the > gutter marks covered lines.
go.temporal.io/server/common/activityoptions/merge.go 38 covered LOC · 37 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 {
18
return serviceerror.NewInvalidArgument("TaskQueue is not provided")
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")
50
}
51
>
if mergeInto.Priority == nil {
merge.go
52
mergeInto.Priority = &commonpb.Priority{}
53
}
54
>
mergeInto.Priority.PriorityKey = mergeFrom.GetPriority().GetPriorityKey()
merge.go
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")
60
}
61
>
if mergeInto.Priority == nil {
merge.go
62
mergeInto.Priority = &commonpb.Priority{}
63
}
64
>
mergeInto.Priority.FairnessKey = mergeFrom.GetPriority().GetFairnessKey()
merge.go
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")
70
}
71
>
if mergeInto.Priority == nil {
merge.go
72
mergeInto.Priority = &commonpb.Priority{}
73
}
74
>
mergeInto.Priority.FairnessWeight = mergeFrom.GetPriority().GetFairnessWeight()
merge.go
75
}
76
77
>
if _, ok := updateFields["retryPolicy"]; ok {
merge.go
78
if mergeFrom.GetRetryPolicy() == nil {
79
return serviceerror.NewInvalidArgument("RetryPolicy is not provided")
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")
87
}
88
>
if mergeInto.RetryPolicy == nil {
merge.go
89
mergeInto.RetryPolicy = &commonpb.RetryPolicy{}
90
}
91
>
mergeInto.RetryPolicy.InitialInterval = mergeFrom.GetRetryPolicy().GetInitialInterval()
merge.go
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")
97
}
98
>
if mergeInto.RetryPolicy == nil {
merge.go
99
mergeInto.RetryPolicy = &commonpb.RetryPolicy{}
100
}
101
>
mergeInto.RetryPolicy.BackoffCoefficient = mergeFrom.GetRetryPolicy().GetBackoffCoefficient()
merge.go
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")
107
}
108
>
if mergeInto.RetryPolicy == nil {
merge.go
109
mergeInto.RetryPolicy = &commonpb.RetryPolicy{}
110
}
111
>
mergeInto.RetryPolicy.MaximumInterval = mergeFrom.GetRetryPolicy().GetMaximumInterval()
merge.go
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")
117
}
118
>
if mergeInto.RetryPolicy == nil {
merge.go
119
mergeInto.RetryPolicy = &commonpb.RetryPolicy{}
120
}
121
>
mergeInto.RetryPolicy.MaximumAttempts = mergeFrom.GetRetryPolicy().GetMaximumAttempts()
merge.go
122
}
123
124
>
if _, ok := updateFields["startDelay"]; ok {
merge.go
125
mergeInto.StartDelay = mergeFrom.GetStartDelay()
126
}
127
129
}
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