Skip to content

Commit cef3959

Browse files
PubMatic: Pass alias bidder name through (prebid#4588)
1 parent 30c7364 commit cef3959

18 files changed

Lines changed: 300 additions & 21 deletions

adapters/pubmatic/pubmatic.go

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ const MAX_IMPRESSIONS_PUBMATIC = 30
2424

2525
const ae = "ae"
2626

27+
const BidderPubMatic = "pubmatic"
28+
2729
type PubmaticAdapter struct {
2830
URI string
2931
bidderName string
@@ -37,8 +39,9 @@ type pubmaticBidExt struct {
3739
}
3840

3941
type pubmaticWrapperExt struct {
40-
ProfileID int `json:"profile,omitempty"`
41-
VersionID int `json:"version,omitempty"`
42+
ProfileID int `json:"profile,omitempty"`
43+
VersionID int `json:"version,omitempty"`
44+
BidderCode string `json:"biddercode,omitempty"`
4245
}
4346

4447
type pubmaticBidExtVideo struct {
@@ -386,6 +389,19 @@ func extractPubmaticExtFromRequest(request *openrtb2.BidRequest) (extRequestAdSe
386389
pmReqExt.Wrapper = wrpExt
387390
}
388391

392+
if pmReqExt.Wrapper == nil {
393+
pmReqExt.Wrapper = &pubmaticWrapperExt{}
394+
}
395+
396+
// Always set bidder code to default
397+
pmReqExt.Wrapper.BidderCode = BidderPubMatic
398+
399+
// Override bidder code if alias exists
400+
for alias := range reqExt.Prebid.Aliases {
401+
pmReqExt.Wrapper.BidderCode = alias
402+
break
403+
}
404+
389405
if acatBytes, ok := reqExtBidderParams["acat"]; ok {
390406
var acat []string
391407
err = jsonutil.Unmarshal(acatBytes, &acat)

adapters/pubmatic/pubmatic_test.go

Lines changed: 29 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -285,7 +285,7 @@ func TestExtractPubmaticExtFromRequest(t *testing.T) {
285285
Ext: json.RawMessage(`{"prebid":{"bidderparams":{}}}`),
286286
},
287287
},
288-
expectedReqExt: extRequestAdServer{},
288+
expectedReqExt: extRequestAdServer{Wrapper: &pubmaticWrapperExt{ProfileID: 0, VersionID: 0, BidderCode: "pubmatic"}},
289289
wantErr: false,
290290
},
291291
{
@@ -296,7 +296,7 @@ func TestExtractPubmaticExtFromRequest(t *testing.T) {
296296
},
297297
},
298298
expectedReqExt: extRequestAdServer{
299-
Wrapper: &pubmaticWrapperExt{ProfileID: 123, VersionID: 456},
299+
Wrapper: &pubmaticWrapperExt{ProfileID: 123, VersionID: 456, BidderCode: "pubmatic"},
300300
},
301301
wantErr: false,
302302
},
@@ -317,7 +317,7 @@ func TestExtractPubmaticExtFromRequest(t *testing.T) {
317317
},
318318
},
319319
expectedReqExt: extRequestAdServer{
320-
Wrapper: &pubmaticWrapperExt{ProfileID: 123, VersionID: 456},
320+
Wrapper: &pubmaticWrapperExt{ProfileID: 123, VersionID: 456, BidderCode: "pubmatic"},
321321
Acat: []string{"drg", "dlu", "ssr"},
322322
},
323323
wantErr: false,
@@ -330,7 +330,7 @@ func TestExtractPubmaticExtFromRequest(t *testing.T) {
330330
},
331331
},
332332
expectedReqExt: extRequestAdServer{
333-
Wrapper: &pubmaticWrapperExt{ProfileID: 123, VersionID: 456},
333+
Wrapper: &pubmaticWrapperExt{ProfileID: 123, VersionID: 456, BidderCode: "pubmatic"},
334334
},
335335
wantErr: true,
336336
},
@@ -343,7 +343,31 @@ func TestExtractPubmaticExtFromRequest(t *testing.T) {
343343
},
344344
expectedReqExt: extRequestAdServer{
345345
Marketplace: &marketplaceReqExt{AllowedBidders: []string{"pubmatic", "groupm"}},
346-
Wrapper: &pubmaticWrapperExt{ProfileID: 123, VersionID: 456},
346+
Wrapper: &pubmaticWrapperExt{ProfileID: 123, VersionID: 456, BidderCode: "pubmatic"},
347+
},
348+
wantErr: false,
349+
},
350+
{
351+
name: "Valid_request_ext_with_alias",
352+
args: args{
353+
request: &openrtb2.BidRequest{
354+
Ext: json.RawMessage(`{"prebid":{"aliases":{"pubmatic-1":"pubmatic"},"bidderparams":{"wrapper":{"profile":123,"version":456}}}}`),
355+
},
356+
},
357+
expectedReqExt: extRequestAdServer{
358+
Wrapper: &pubmaticWrapperExt{ProfileID: 123, VersionID: 456, BidderCode: "pubmatic-1"},
359+
},
360+
wantErr: false,
361+
},
362+
{
363+
name: "Valid_request_ext_with_empty_alias",
364+
args: args{
365+
request: &openrtb2.BidRequest{
366+
Ext: json.RawMessage(`{"prebid":{"aliases":{},"bidderparams":{"wrapper":{"profile":123,"version":456}}}}`),
367+
},
368+
},
369+
expectedReqExt: extRequestAdServer{
370+
Wrapper: &pubmaticWrapperExt{ProfileID: 123, VersionID: 456, BidderCode: "pubmatic"},
347371
},
348372
wantErr: false,
349373
},

adapters/pubmatic/pubmatictest/exemplary/banner.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,8 @@
8686
"ext": {
8787
"wrapper": {
8888
"profile": 5123,
89-
"version":1
89+
"version":1,
90+
"biddercode":"pubmatic"
9091
},
9192
"acat": ["drg","dlu","ssr"]
9293
}

adapters/pubmatic/pubmatictest/exemplary/native.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,8 @@
5555
"ext": {
5656
"wrapper": {
5757
"profile": 5123,
58-
"version": 1
58+
"version": 1,
59+
"biddercode":"pubmatic"
5960
}
6061
}
6162
},

adapters/pubmatic/pubmatictest/exemplary/video.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,8 @@
9797
"ext": {
9898
"wrapper": {
9999
"profile": 5123,
100-
"version":1
100+
"version":1,
101+
"biddercode":"pubmatic"
101102
},
102103
"acat": ["drg","dlu","ssr"]
103104
}

adapters/pubmatic/pubmatictest/supplemental/bid_ext_ibv_true.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,8 @@
9797
"ext": {
9898
"wrapper": {
9999
"profile": 5123,
100-
"version":1
100+
"version":1,
101+
"biddercode":"pubmatic"
101102
},
102103
"acat": ["drg","dlu","ssr"]
103104
}

adapters/pubmatic/pubmatictest/supplemental/extra-bid.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,8 @@
9797
"ext": {
9898
"wrapper": {
9999
"profile": 5123,
100-
"version":1
100+
"version":1,
101+
"biddercode":"pubmatic"
101102
},
102103
"acat": ["drg","dlu","ssr"],
103104
"marketplace": {

adapters/pubmatic/pubmatictest/supplemental/native_invalid_adm.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,8 @@
5555
"ext": {
5656
"wrapper": {
5757
"profile": 5123,
58-
"version": 1
58+
"version": 1,
59+
"biddercode":"pubmatic"
5960
}
6061
}
6162
},

adapters/pubmatic/pubmatictest/supplemental/nilReqExt.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,8 @@
8989
"ext": {
9090
"wrapper": {
9191
"profile": 5123,
92-
"version": 1
92+
"version": 1,
93+
"biddercode":"pubmatic"
9394
}
9495
}
9596
},

adapters/pubmatic/pubmatictest/supplemental/reqBidderParams.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,8 @@
9898
"ext": {
9999
"wrapper": {
100100
"profile": 1234,
101-
"version": 2
101+
"version": 2,
102+
"biddercode":"pubmatic"
102103
}
103104
}
104105
},

0 commit comments

Comments
 (0)