6
6
"context"
7
7
"testing"
8
8
9
+ "github.com/pace/bricks/http/middleware"
9
10
"github.com/pace/bricks/pkg/tracking/utm"
10
11
"github.com/stretchr/testify/require"
11
12
"google.golang.org/grpc/metadata"
@@ -31,3 +32,29 @@ func TestEncodeContextWithUTMData(t *testing.T) {
31
32
require .True (t , exists )
32
33
require .Equal (t , data , utmData )
33
34
}
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