Atlas › Test

TestSetCallOrigin

Exact test identity: go.temporal.io/server/common/headers/TestCallerInfoSuite/TestSetCallOrigin

Package
go.temporal.io/server/common/headers
Suite / test hierarchy
TestCallerInfoSuite/TestSetCallOrigin
Test
TestSetCallOrigin
Introduced at
TestSetCallOrigin Frontier kind: Test frontier
Covered ranges
9
Covered lines
29
Covered files
2

Covered source

Expand a file to inspect source; the > gutter marks covered lines.

go.temporal.io/server/common/headers/headers.go 18 covered LOC · 7 ranges

Open complete file

45 // GetValues returns header values for passed header names.
46 // It always returns slice of the same size as number of passed header names.
47 > func GetValues(ctx context.Context, headerNames ...string) []string { headers.go
48 > headerValues := make([]string, len(headerNames))
49 >
50 > for i, headerName := range headerNames {
51 > if values := metadata.ValueFromIncomingContext(ctx, headerName); len(values) > 0 {
52 > headerValues[i] = values[0] headers.go
53 > }
54 }
55
56 > return headerValues headers.go
57 }
58
154 // setIncomingMD sets the key-value pairs in the incoming metadata.
155 // Empty values are ignored.
156 > func setIncomingMD(ctx context.Context, kv map[string]string) context.Context { headers.go
157 > mdIncoming, ok := metadata.FromIncomingContext(ctx)
158 > if !ok {
159 > mdIncoming = metadata.MD{} headers.go
160 > }
161 > for k, v := range kv { headers.go
162 > if v != "" {
163 > mdIncoming.Set(k, v)
164 > }
165 }
166 > return metadata.NewIncomingContext(ctx, mdIncoming) headers.go
167 }
go.temporal.io/server/common/headers/caller_info.go 11 covered LOC · 2 ranges

Open complete file

148 ctx context.Context,
149 callOrigin string,
150 > ) context.Context { caller_info.go
151 > return setIncomingMD(ctx, map[string]string{CallOriginHeaderName: callOrigin})
152 > }
153
154 // GetCallerInfo retrieves caller information from the context if exists. Empty value is returned
156 func GetCallerInfo(
157 ctx context.Context,
158 > ) CallerInfo { caller_info.go
159 > values := GetValues(ctx, CallerNameHeaderName, CallerTypeHeaderName, CallOriginHeaderName)
160 > return CallerInfo{
161 > CallerName: values[0],
162 > CallerType: values[1],
163 > CallOrigin: values[2],
164 > }
165 > }