11package org.prebid.server.functional.tests
22
3+ import org.prebid.server.functional.model.ChannelType
34import org.prebid.server.functional.model.bidder.BidderName
45import org.prebid.server.functional.model.bidder.Generic
56import org.prebid.server.functional.model.config.AlternateBidderCodes
7+ import org.prebid.server.functional.model.config.CodesBidderConfig
68import org.prebid.server.functional.model.request.Channel
79import org.prebid.server.functional.model.request.amp.AmpRequest
810import org.prebid.server.functional.model.request.auction.AdServerTargeting
@@ -44,7 +46,6 @@ import org.prebid.server.functional.model.request.auction.UserTime
4446import org.prebid.server.functional.model.response.auction.BidResponse
4547import org.prebid.server.functional.util.PBSUtils
4648
47- import static org.prebid.server.functional.model.ChannelType.WEB
4849import static org.prebid.server.functional.model.Currency.USD
4950import static org.prebid.server.functional.model.bidder.BidderName.OPENX
5051import static org.prebid.server.functional.model.bidder.BidderName.RUBICON
@@ -57,9 +58,7 @@ import static org.prebid.server.functional.model.request.auction.DistributionCha
5758import static org.prebid.server.functional.model.request.auction.DistributionChannel.DOOH
5859import static org.prebid.server.functional.model.request.auction.DistributionChannel.SITE
5960import static org.prebid.server.functional.model.request.auction.TraceLevel.BASIC
60- import static org.prebid.server.functional.model.response.auction.ErrorType.GENERIC
6161import static org.prebid.server.functional.util.PBSUtils.getRandomDecimal
62- import static org.prebid.server.functional.util.PBSUtils.roundDecimal
6362
6463class BidderFieldDisplayBehaviorSpec extends BaseSpec {
6564
@@ -187,10 +186,11 @@ class BidderFieldDisplayBehaviorSpec extends BaseSpec {
187186 assert ! bidderRequest. ext. prebid. cache
188187 }
189188
189+
190190 def " PBS should pass ext.prebid.channel to bidder request when channel specified" () {
191191 given : " Default bid request"
192192 def bidRequest = BidRequest . defaultBidRequest. tap {
193- ext. prebid. channel = new Channel (name : WEB )
193+ ext. prebid. channel = new Channel (name : channelType )
194194 }
195195
196196 and : " Default bid response"
@@ -203,6 +203,9 @@ class BidderFieldDisplayBehaviorSpec extends BaseSpec {
203203 then : " Bidder request should contain ext.prebid.channel"
204204 def bidderRequest = bidder. getBidderRequest(bidRequest. id)
205205 assert bidderRequest. ext. prebid. channel == bidRequest. ext. prebid. channel
206+
207+ where :
208+ channelType << ChannelType . values()
206209 }
207210
208211 def " PBS should pass ext.prebid.currency.{usePbsRates/rates} to bidder request when usePbsRates or rates specified" () {
@@ -224,7 +227,7 @@ class BidderFieldDisplayBehaviorSpec extends BaseSpec {
224227 def " PBS shouldn't pass ext.prebid.data.{bidders,eidpermissions} to bidder request" () {
225228 given : " Default bid request"
226229 def bidRequest = BidRequest . defaultBidRequest. tap {
227- ext. prebid. data = new ExtRequestPrebidData (bidders : [GENERIC . value],
230+ ext. prebid. data = new ExtRequestPrebidData (bidders : [BidderName . GENERIC . value],
228231 eidpermissions : [new EidPermission (source : PBSUtils . randomString, bidders : [BidderName . GENERIC ])])
229232 }
230233
@@ -357,10 +360,10 @@ class BidderFieldDisplayBehaviorSpec extends BaseSpec {
357360
358361 then : " Bidder request should contain sdk value same in request"
359362 def bidderRequest = bidder. getBidderRequest(bidRequest. id)
360- verifyAll {
361- bidderRequest . ext . prebid . sdk . renderers . name == bidRequest. ext. prebid. sdk. renderers. name
362- bidderRequest . ext . prebid . sdk . renderers . version == bidRequest. ext. prebid. sdk. renderers. version
363- bidderRequest . ext . prebid . sdk . renderers . data. any == bidRequest. ext. prebid. sdk. renderers. data. any
363+ verifyAll(bidderRequest . ext . prebid . sdk . renderers) {
364+ it . name == bidRequest. ext. prebid. sdk. renderers. name
365+ it . version == bidRequest. ext. prebid. sdk. renderers. version
366+ it . data. any == bidRequest. ext. prebid. sdk. renderers. data. any
364367 }
365368 }
366369
@@ -397,8 +400,8 @@ class BidderFieldDisplayBehaviorSpec extends BaseSpec {
397400 def bidRequest = BidRequest . defaultBidRequest. tap {
398401 ext. prebid. alternateBidderCodes = new AlternateBidderCodes (). tap {
399402 it. enabled = true
400- it. bidders = [(BidderName . GENERIC ): new org.prebid.server.functional.model.config.BidderConfig (enabled : true , allowedBidderCodes : [BidderName . GENERIC ]),
401- (RUBICON ) : new org.prebid.server.functional.model.config.BidderConfig (enabled : true , allowedBidderCodes : [RUBICON ])]
403+ it. bidders = [(BidderName . GENERIC ): new CodesBidderConfig (enabled : true , allowedBidderCodes : [BidderName . GENERIC ]),
404+ (RUBICON ) : new CodesBidderConfig (enabled : true , allowedBidderCodes : [RUBICON ])]
402405 }
403406 }
404407
@@ -408,18 +411,19 @@ class BidderFieldDisplayBehaviorSpec extends BaseSpec {
408411 then : " Bidder request should contain ext.prebid.alternateBidderCodes"
409412 def bidderRequest = bidder. getBidderRequest(bidRequest. id)
410413 assert bidderRequest. ext. prebid. alternateBidderCodes. enabled == bidRequest. ext. prebid. alternateBidderCodes. enabled
411- assert bidderRequest. ext. prebid. alternateBidderCodes. bidders == [(BidderName . GENERIC ): new org.prebid.server.functional.model.config.BidderConfig (enabled : true )]
414+ assert bidderRequest. ext. prebid. alternateBidderCodes. bidders == [(BidderName . GENERIC ): new CodesBidderConfig (enabled : true )]
412415 }
413416
414417 def " PBS should pass user.ext to bidder request when user.ext specified" () {
415418 given : " Default basic BidRequest with generic bidder"
419+ def userExt = new UserExt (). tap {
420+ fcapids = [PBSUtils . randomString]
421+ time = new UserTime (userdow : PBSUtils . randomNumber, userhour : PBSUtils . randomNumber)
422+ prebid = new UserExtPrebid (buyeruids : [(BidderName . GENERIC ): PBSUtils . randomString])
423+ consentedProvidersSettings = new ConsentedProvidersSettings (consentedProviders : PBSUtils . randomString)
424+ }
416425 def bidRequest = BidRequest . defaultBidRequest. tap {
417- user = new User (ext : new UserExt (). tap {
418- fcapids = [PBSUtils . randomString]
419- time = new UserTime (userdow : PBSUtils . randomNumber, userhour : PBSUtils . randomNumber)
420- prebid = new UserExtPrebid (buyeruids : [(BidderName . GENERIC ): PBSUtils . randomString])
421- consentedProvidersSettings = new ConsentedProvidersSettings (consentedProviders : PBSUtils . randomString)
422- })
426+ user = new User (ext : userExt)
423427 }
424428
425429 when : " PBS processes auction request"
@@ -430,10 +434,10 @@ class BidderFieldDisplayBehaviorSpec extends BaseSpec {
430434 assert ! bidderRequest?. user?. ext?. prebid?. buyeruids
431435
432436 and : " Bidder request should contain user.ext.{fcapid,time,consentedProvidersSettings}"
433- verifyAll(bidderRequest) {
434- bidderRequest . user . ext . fcapids == bidRequest . user . ext . fcapids
435- bidderRequest . user . ext . time == bidRequest . user . ext . time
436- bidderRequest . user . ext . consentedProvidersSettings == bidRequest . user . ext . consentedProvidersSettings
437+ verifyAll(bidderRequest. user . ext ) {
438+ it . fcapids == userExt . fcapids
439+ it . time == userExt . time
440+ it . consentedProvidersSettings == userExt . consentedProvidersSettings
437441 }
438442 }
439443
@@ -505,10 +509,11 @@ class BidderFieldDisplayBehaviorSpec extends BaseSpec {
505509 assert ! bidderRequest. ext. prebid. bidderConfig
506510 }
507511
508- def " PBS shouldn't pass bidder param to the bidder when bidder param bidder not requested " () {
512+ def " PBS shouldn't pass bidder param and bidders to the bidder when bidder param and bidder not related to the bidder call " () {
509513 given : " Default bid request with populated ext.prebid.bidderParams"
510514 def bidRequest = BidRequest . defaultBidRequest. tap {
511- ext. prebid. bidderParams = [(RUBICON . value): PBSUtils . randomString]
515+ ext. prebid. bidderParams = [(OPENX . value): PBSUtils . randomString]
516+ ext. prebid. bidders = [(OPENX . value): PBSUtils . randomString]
512517 }
513518
514519 when : " PBS processes auction request"
@@ -518,8 +523,9 @@ class BidderFieldDisplayBehaviorSpec extends BaseSpec {
518523 assert ! response. ext?. errors
519524
520525 and : " Generic bidder request shouldn't contain bidder param"
521- def bidderRequest = bidder. getBidderRequest(bidRequest. id)
522- assert ! bidderRequest. ext. prebid. bidderParams
526+ def bidderRequest = bidder. getBidderRequests(bidRequest. id)
527+ assert bidderRequest. ext. prebid. bidderParams == [null ]
528+ assert bidderRequest. ext. prebid. bidders == [null ]
523529 }
524530
525531 def " PBS should pass bidder app.ext to the bidder request when app ext specified" () {
@@ -606,13 +612,12 @@ class BidderFieldDisplayBehaviorSpec extends BaseSpec {
606612
607613 def " PBS should pass ext.prebid.bidAdjustmentFactors only bidder related entry for each bidder" () {
608614 given : " Default bid request with bid adjustment"
609- def bidAdjustment = roundDecimal(getRandomDecimal(), 0 )
610- def mediaTypeBidAdjustment = bidAdjustmentFactor
615+ def bidAdjustment = getRandomDecimal()
611616 def bidRequest = BidRequest . getDefaultBidRequest(SITE ). tap {
612617 ext. prebid. bidAdjustmentFactors = new BidAdjustmentFactors (). tap {
613618 adjustments = [(BidderName . GENERIC ): bidAdjustment, (OPENX ): bidAdjustment]
614619 mediaTypes = [(BANNER ): [(BidderName . GENERIC ): mediaTypeBidAdjustment],
615- (VIDEO ): [(OPENX ): mediaTypeBidAdjustment]]
620+ (VIDEO ) : [(OPENX ): mediaTypeBidAdjustment]]
616621 }
617622 }
618623
@@ -625,15 +630,17 @@ class BidderFieldDisplayBehaviorSpec extends BaseSpec {
625630
626631 then : " Bidder request should contain generic bid adjustment factors"
627632 def bidderRequest = bidder. getBidderRequest(bidRequest. id)
628- assert bidderRequest. ext. prebid. bidAdjustmentFactors. adjustments[BidderName . GENERIC ] == bidRequest. ext. prebid. bidAdjustmentFactors. adjustments[BidderName . GENERIC ]
629- assert bidderRequest. ext. prebid. bidAdjustmentFactors. mediaTypes[BANNER ][GENERIC ] == bidRequest. ext. prebid. bidAdjustmentFactors. mediaTypes[BANNER ][GENERIC ]
633+ assert bidderRequest. ext. prebid. bidAdjustmentFactors. adjustments[BidderName . GENERIC ]
634+ == bidRequest. ext. prebid. bidAdjustmentFactors. adjustments[BidderName . GENERIC ]
635+ assert bidderRequest. ext. prebid. bidAdjustmentFactors. mediaTypes[BANNER ][BidderName . GENERIC ]
636+ == bidRequest. ext. prebid. bidAdjustmentFactors. mediaTypes[BANNER ][BidderName . GENERIC ]
630637
631638 and : " Bidder request shouldn't contain opneX bid adjustment factors for generic call"
632639 assert ! bidderRequest?. ext?. prebid?. bidAdjustmentFactors?. adjustments[OPENX ]
633640 assert ! bidderRequest?. ext?. prebid?. bidAdjustmentFactors?. mediaTypes[BANNER ][OPENX ]
634641 assert ! bidderRequest?. ext?. prebid?. bidAdjustmentFactors?. mediaTypes[VIDEO ]
635642
636643 where :
637- bidAdjustmentFactor << [0.9 , 1.1 ]
644+ mediaTypeBidAdjustment << [0.9 , 1.1 ]
638645 }
639646}
0 commit comments