Atlas › Test

TestPropagate_EmptyIncomingContext

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

Package
go.temporal.io/server/common/headers
Suite / test hierarchy
TestPropagate_EmptyIncomingContext
Test
TestPropagate_EmptyIncomingContext
Introduced at
headers.go ×1 Frontier kind: Joint frontier
Covered ranges
5
Covered lines
10
Covered files
1

Covered source

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

go.temporal.io/server/common/headers/headers.go 10 covered LOC · 5 ranges

Open complete file

60 // It copies all headers to outgoing context only if they are exist in incoming context
61 // and doesn't exist in outgoing context already.
62 > func Propagate(ctx context.Context) context.Context { headers.go
63 > headersToAppend := make([]string, 0, len(propagateHeaders)*2)
64 > mdOutgoing, mdOutgoingExist := metadata.FromOutgoingContext(ctx)
65 > for _, headerName := range propagateHeaders {
66 > if incomingValue := metadata.ValueFromIncomingContext(ctx, headerName); len(incomingValue) > 0 && len(mdOutgoing.Get(headerName)) == 0 {
67 headersToAppend = append(headersToAppend, headerName, incomingValue[0])
68 }
69 }
70 > if headersToAppend != nil { headers.go
71 > if mdOutgoingExist {
72 > ctx = metadata.AppendToOutgoingContext(ctx, headersToAppend...) headers.go
73 > } else { headers.go
74 ctx = metadata.NewOutgoingContext(ctx, metadata.Pairs(headersToAppend...))
75 }
76 }
77 > return ctx headers.go
78 }
79