diff --git a/adapters/pubmatic/pubmatic.go b/adapters/pubmatic/pubmatic.go index 3f1a8353f9e..6a16b24b545 100644 --- a/adapters/pubmatic/pubmatic.go +++ b/adapters/pubmatic/pubmatic.go @@ -592,7 +592,7 @@ func parseImpressionObject(imp *openrtb.Imp, wrapExt *pubmaticWrapperExt, pubID } if *pubID == "" { - *pubID = pubmaticExt.PublisherId + *pubID = strings.TrimSpace(pubmaticExt.PublisherId) } // Parse Wrapper Extension only once per request diff --git a/adapters/pubmatic/pubmatic_test.go b/adapters/pubmatic/pubmatic_test.go index 3c88b04b83d..62e1132b8c4 100644 --- a/adapters/pubmatic/pubmatic_test.go +++ b/adapters/pubmatic/pubmatic_test.go @@ -5,6 +5,7 @@ import ( "context" "encoding/json" "fmt" + "github.com/magiconair/properties/assert" "io/ioutil" "math/rand" "net/http" @@ -791,3 +792,36 @@ func TestCopySBExtToBidExtWithNoSeatExt(t *testing.T) { t.Errorf("it should not be nil") } } + +func TestMakeRequestsTrimsPubID(t *testing.T) { + var a PubmaticAdapter + a.URI = "http://test.com/openrtb2" + + var bidderExt adapters.ExtImpBidder + extImpPubMatic := openrtb_ext.ExtImpPubmatic{} + extImpPubMatic.PublisherId = " 5890 " + bidderExt.Bidder, _ = json.Marshal(extImpPubMatic) + extRaw, _ := json.Marshal(bidderExt) + + var w, h uint64 + w = 300 + h = 250 + var impression = openrtb.Imp{ + Banner: &openrtb.Banner{ + W: &w, + H: &h, + }, + Ext: extRaw, + } + request := &openrtb.BidRequest{ + Imp: []openrtb.Imp{impression}, + Site: &openrtb.Site{ + Publisher: &openrtb.Publisher{}, + }, + } + a.MakeRequests(request, nil) + + updatedPubID := request.Site.Publisher.ID + + assert.Equal(t, updatedPubID, "5890", "Publisher.ID field should be trimmed") +}