Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pubmatic: Set bid.meta.mediaType=video when bid.ext.ibv=true #4189

Open
wants to merge 5 commits into
base: master
Choose a base branch
from

Conversation

pm-priyanka-bagade
Copy link

No description provided.

Copy link

github-actions bot commented Feb 3, 2025

Code coverage summary

Note:

  • Prebid team doesn't anticipate tests covering code paths that might result in marshal and unmarshal errors
  • Coverage summary encompasses all commits leading up to the latest one, 57cb1d2

pubmatic

Refer here for heat map coverage report

github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:86:	MakeRequests				93.8%
github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:196:	validateAdSlot				91.3%
github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:239:	assignBannerSize			100.0%
github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:247:	assignBannerWidthAndHeight		100.0%
github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:255:	parseImpressionObject			92.2%
github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:352:	extractPubmaticExtFromRequest		96.6%
github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:403:	getAlternateBidderCodesFromRequestExt	100.0%
github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:421:	addKeywordsToExt			85.7%
github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:435:	MakeBids				91.5%
github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:523:	getNativeAdm				90.9%
github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:545:	getMapFromJSON				100.0%
github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:557:	populateFirstPartyDataImpAttributes	100.0%
github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:570:	populateAdUnitKey			100.0%
github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:585:	populateDctrKey				85.0%
github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:635:	getStringArray				100.0%
github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:648:	getMediaTypeForBid			100.0%
github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:670:	Builder					100.0%
github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:679:	getDisplayManagerAndVer			100.0%
total:									(statements)				93.5%

Copy link

github-actions bot commented Feb 3, 2025

Code coverage summary

Note:

  • Prebid team doesn't anticipate tests covering code paths that might result in marshal and unmarshal errors
  • Coverage summary encompasses all commits leading up to the latest one, 96bff22

pubmatic

Refer here for heat map coverage report

github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:86:	MakeRequests				93.8%
github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:196:	validateAdSlot				91.3%
github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:239:	assignBannerSize			100.0%
github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:247:	assignBannerWidthAndHeight		100.0%
github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:255:	parseImpressionObject			92.2%
github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:352:	extractPubmaticExtFromRequest		96.6%
github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:403:	getAlternateBidderCodesFromRequestExt	100.0%
github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:421:	addKeywordsToExt			85.7%
github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:435:	MakeBids				91.5%
github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:523:	getNativeAdm				90.9%
github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:545:	getMapFromJSON				100.0%
github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:557:	populateFirstPartyDataImpAttributes	100.0%
github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:570:	populateAdUnitKey			100.0%
github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:585:	populateDctrKey				85.0%
github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:635:	getStringArray				100.0%
github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:648:	getMediaTypeForBid			100.0%
github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:670:	Builder					100.0%
github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:679:	getDisplayManagerAndVer			100.0%
total:									(statements)				93.5%

@bsardo bsardo added the adapter label Feb 3, 2025
Copy link

Code coverage summary

Note:

  • Prebid team doesn't anticipate tests covering code paths that might result in marshal and unmarshal errors
  • Coverage summary encompasses all commits leading up to the latest one, e1f0fbe

pubmatic

Refer here for heat map coverage report

github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:86:	MakeRequests				93.8%
github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:196:	validateAdSlot				91.3%
github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:239:	assignBannerSize			100.0%
github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:247:	assignBannerWidthAndHeight		100.0%
github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:255:	parseImpressionObject			92.2%
github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:352:	extractPubmaticExtFromRequest		96.6%
github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:403:	getAlternateBidderCodesFromRequestExt	100.0%
github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:421:	addKeywordsToExt			85.7%
github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:435:	MakeBids				88.0%
github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:528:	getNativeAdm				90.9%
github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:550:	getMapFromJSON				100.0%
github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:562:	populateFirstPartyDataImpAttributes	100.0%
github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:575:	populateAdUnitKey			100.0%
github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:590:	populateDctrKey				85.0%
github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:640:	getStringArray				100.0%
github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:653:	getMediaTypeForBid			100.0%
github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:676:	Builder					100.0%
github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:685:	getDisplayManagerAndVer			100.0%
total:									(statements)				92.9%

Copy link

Code coverage summary

Note:

  • Prebid team doesn't anticipate tests covering code paths that might result in marshal and unmarshal errors
  • Coverage summary encompasses all commits leading up to the latest one, 446ec4a

pubmatic

Refer here for heat map coverage report

github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:86:	MakeRequests				93.8%
github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:196:	validateAdSlot				91.3%
github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:239:	assignBannerSize			100.0%
github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:247:	assignBannerWidthAndHeight		100.0%
github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:255:	parseImpressionObject			92.2%
github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:352:	extractPubmaticExtFromRequest		96.6%
github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:403:	getAlternateBidderCodesFromRequestExt	100.0%
github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:421:	addKeywordsToExt			85.7%
github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:435:	MakeBids				88.0%
github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:528:	getNativeAdm				90.9%
github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:550:	getMapFromJSON				100.0%
github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:562:	populateFirstPartyDataImpAttributes	100.0%
github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:575:	populateAdUnitKey			100.0%
github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:590:	populateDctrKey				85.0%
github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:640:	getStringArray				100.0%
github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:653:	getMediaTypeForBid			100.0%
github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:676:	Builder					100.0%
github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:685:	getDisplayManagerAndVer			100.0%
total:									(statements)				92.9%

Copy link

Code coverage summary

Note:

  • Prebid team doesn't anticipate tests covering code paths that might result in marshal and unmarshal errors
  • Coverage summary encompasses all commits leading up to the latest one, 5aa750e

pubmatic

Refer here for heat map coverage report

github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:86:	MakeRequests				93.8%
github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:196:	validateAdSlot				91.3%
github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:239:	assignBannerSize			100.0%
github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:247:	assignBannerWidthAndHeight		100.0%
github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:255:	parseImpressionObject			92.2%
github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:352:	extractPubmaticExtFromRequest		96.6%
github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:403:	getAlternateBidderCodesFromRequestExt	100.0%
github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:421:	addKeywordsToExt			85.7%
github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:435:	MakeBids				88.0%
github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:528:	getNativeAdm				90.9%
github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:550:	getMapFromJSON				100.0%
github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:562:	populateFirstPartyDataImpAttributes	100.0%
github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:575:	populateAdUnitKey			100.0%
github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:590:	populateDctrKey				85.0%
github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:640:	getStringArray				100.0%
github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:653:	getMediaTypeForBid			100.0%
github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:676:	Builder					100.0%
github.com/prebid/prebid-server/v3/adapters/pubmatic/pubmatic.go:685:	getDisplayManagerAndVer			100.0%
total:									(statements)				92.9%

@bsardo bsardo assigned bsardo, scr-oath and guscarreon and unassigned bsardo Feb 19, 2025
@pm-isha-bharti
Copy link
Contributor

@guscarreon / @scr-oath Can someone please review this PR?

Copy link
Contributor

@guscarreon guscarreon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we please include a JSON test with no mtype so the default banner value gets used?

@@ -637,24 +649,27 @@ func getStringArray(array []interface{}) []string {
return aString
}

// getBidType returns the bid type specified in the response bid.ext
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we update the comment? getMediaTypeForBid doesn't return the bid type from bid.ext anymore.

bidType = openrtb_ext.BidTypeNative
mType := openrtb_ext.BidTypeBanner
if bid != nil {
switch bid.MType {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are we sure from now on the media type will always be located in bid.MType and not in bid.Ext? Do you think we should look in bid.MType first and then bid.Ext second for backwards compatibility?


typedBid.BidMeta = &openrtb_ext.ExtBidPrebidMeta{MediaType: string(mType)}
if bidExt.InBannerVideo {
typedBid.BidMeta.MediaType = string(openrtb_ext.BidTypeVideo)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is the scenario where bidExt.InBannerVideo is true, but bidExt.VideoCreativeInfo or bidExt.VideoCreativeInfo.Duration is nil, valid? If not, should we validate and append an error to the errs array in such cases?

}
if tt.expectedError != nil && actualError == nil {
t.Errorf("Expected error: %v, but got nil", tt.expectedError)
} else if tt.expectedError != nil && actualError != nil && actualError.Error() != tt.expectedError.Error() {
Copy link
Contributor

@guscarreon guscarreon Mar 11, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The if-else statement seems to not compare an tt.expectedError equal to nil. If tt.expectedError equals nil, shouldn't we assert that actualError is also nil?

@@ -461,26 +462,37 @@ func (a *PubmaticAdapter) MakeBids(internalRequest *openrtb2.BidRequest, externa
bid.Cat = bid.Cat[0:1]
}

mType, err := getMediaTypeForBid(&bid)
if err != nil {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we write a JSON test case to cover the error scenario?
image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants