66 "context"
77 "testing"
88
9+ "github.com/pace/bricks/http/middleware"
910 "github.com/pace/bricks/pkg/tracking/utm"
1011 "github.com/stretchr/testify/require"
1112 "google.golang.org/grpc/metadata"
@@ -31,3 +32,29 @@ func TestEncodeContextWithUTMData(t *testing.T) {
3132 require .True (t , exists )
3233 require .Equal (t , data , utmData )
3334}
35+
36+ func TestAddExternalDependencyMetadataToContext (t * testing.T ) {
37+ md := metadata .New (map [string ]string {
38+ MetadataKeyExternalDependencies : "dep1:1,dep2:2,dep3:3" ,
39+ })
40+ ctx := context .Background ()
41+ ctx = AddExternalDependencyMetadataToContext (ctx , md )
42+ edc := middleware .ExternalDependencyContextFromContext (ctx )
43+ require .NotNil (t , edc )
44+ require .Equal (t , "dep1:1,dep2:2,dep3:3" , edc .String ())
45+
46+ ctx = AddExternalDependencyMetadataToContext (ctx , metadata .New (map [string ]string {
47+ MetadataKeyExternalDependencies : "dep4:4,dep5:5,dep6:6" ,
48+ }))
49+ edc = middleware .ExternalDependencyContextFromContext (ctx )
50+ require .NotNil (t , edc )
51+ require .Equal (t , "dep1:1,dep2:2,dep3:3,dep4:4,dep5:5,dep6:6" , edc .String ())
52+ }
53+
54+ func TestAddExternalDependencyMetadataToContext_NoDependencies (t * testing.T ) {
55+ md := metadata .New (map [string ]string {})
56+ ctx := context .Background ()
57+ ctx = AddExternalDependencyMetadataToContext (ctx , md )
58+ edc := middleware .ExternalDependencyContextFromContext (ctx )
59+ require .Nil (t , edc )
60+ }
0 commit comments