Atlas › Test
Top-level_fields_with_CamelCase
Exact test identity: go.temporal.io/server/common/activityoptions/TestMergeActivityOptionsAcceptance/Top-level_fields_with_CamelCase
- Package
go.temporal.io/server/common/activityoptions
- Suite / test hierarchy
TestMergeActivityOptionsAcceptance/Top-level_fields_with_CamelCase
- Test
Top-level_fields_with_CamelCase
- Introduced at
- Top-level_fields_with_CamelCase Frontier kind: Test frontier
- Covered ranges
- 35
- Covered lines
- 60
- Covered files
- 2
Covered source
Expand a file to inspect source; the > gutter marks covered lines.
go.temporal.io/server/common/activityoptions/merge.go 33 covered LOC · 27 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")
19
}
20
>
if mergeInto.TaskQueue == nil {
merge.go
21
>
mergeInto.TaskQueue = mergeFrom.GetTaskQueue()
merge.go
23
mergeInto.TaskQueue.Name = mergeFrom.GetTaskQueue().GetName()
24
}
25
}
26
27
>
if _, ok := updateFields["scheduleToCloseTimeout"]; ok {
merge.go
28
>
mergeInto.ScheduleToCloseTimeout = mergeFrom.GetScheduleToCloseTimeout()
merge.go
29
>
}
30
31
>
if _, ok := updateFields["scheduleToStartTimeout"]; ok {
merge.go
32
>
mergeInto.ScheduleToStartTimeout = mergeFrom.GetScheduleToStartTimeout()
merge.go
33
>
}
34
35
>
if _, ok := updateFields["startToCloseTimeout"]; ok {
merge.go
36
>
mergeInto.StartToCloseTimeout = mergeFrom.GetStartToCloseTimeout()
merge.go
37
>
}
38
39
>
if _, ok := updateFields["heartbeatTimeout"]; ok {
merge.go
40
>
mergeInto.HeartbeatTimeout = mergeFrom.GetHeartbeatTimeout()
merge.go
41
>
}
42
43
>
if _, ok := updateFields["priority"]; ok {
merge.go
44
>
mergeInto.Priority = mergeFrom.GetPriority()
merge.go
45
>
}
46
47
>
if _, ok := updateFields["priority.priorityKey"]; ok {
merge.go
48
if mergeFrom.GetPriority() == nil {
49
return serviceerror.NewInvalidArgument("Priority is not provided")
55
}
56
57
>
if _, ok := updateFields["priority.fairnessKey"]; ok {
merge.go
58
if mergeFrom.GetPriority() == nil {
59
return serviceerror.NewInvalidArgument("Priority is not provided")
65
}
66
67
>
if _, ok := updateFields["priority.fairnessWeight"]; ok {
merge.go
68
if mergeFrom.GetPriority() == nil {
69
return serviceerror.NewInvalidArgument("Priority is not provided")
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")
80
}
81
>
mergeInto.RetryPolicy = mergeFrom.GetRetryPolicy()
merge.go
82
}
83
84
>
if _, ok := updateFields["retryPolicy.initialInterval"]; ok {
merge.go
85
if mergeFrom.GetRetryPolicy() == nil {
86
return serviceerror.NewInvalidArgument("RetryPolicy is not provided")
92
}
93
94
>
if _, ok := updateFields["retryPolicy.backoffCoefficient"]; ok {
merge.go
95
if mergeFrom.GetRetryPolicy() == nil {
96
return serviceerror.NewInvalidArgument("RetryPolicy is not provided")
102
}
103
104
>
if _, ok := updateFields["retryPolicy.maximumInterval"]; ok {
merge.go
105
if mergeFrom.GetRetryPolicy() == nil {
106
return serviceerror.NewInvalidArgument("RetryPolicy is not provided")
112
}
113
114
>
if _, ok := updateFields["retryPolicy.maximumAttempts"]; ok {
merge.go
115
if mergeFrom.GetRetryPolicy() == nil {
116
return serviceerror.NewInvalidArgument("RetryPolicy is not provided")
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 27 covered LOC · 8 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)))
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