Atlas › Test

TestPropagate_UpdateExistingEmptyOutgoingContext

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

Package
go.temporal.io/server/common/headers
Suite / test hierarchy
TestPropagate_UpdateExistingEmptyOutgoingContext
Test
TestPropagate_UpdateExistingEmptyOutgoingContext
Introduced at
TestPropagate_UpdateExistingEmptyOutgoingContext, TestPropagate_UpdateExistingNonEmptyOutgoingContext Frontier kind: Test frontier
Covered ranges
6
Covered lines
12
Covered files
1

Co-introduced tests

1 other test enter at the same concept.

Covered source

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

go.temporal.io/server/common/headers/headers.go 12 covered LOC · 6 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]) headers.go
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