11package org.prebid.server.functional.tests
22
33import org.prebid.server.functional.model.ChannelType
4- import org.prebid.server.functional.model.bidder.BidderName
54import org.prebid.server.functional.model.bidder.Generic
65import org.prebid.server.functional.model.config.AlternateBidderCodes
76import org.prebid.server.functional.model.config.CodesBidderConfig
@@ -47,8 +46,10 @@ import org.prebid.server.functional.model.response.auction.BidResponse
4746import org.prebid.server.functional.util.PBSUtils
4847
4948import static org.prebid.server.functional.model.Currency.USD
49+ import static org.prebid.server.functional.model.bidder.BidderName.ALIAS
5050import static org.prebid.server.functional.model.bidder.BidderName.OPENX
5151import static org.prebid.server.functional.model.bidder.BidderName.RUBICON
52+ import static org.prebid.server.functional.model.bidder.BidderName.GENERIC
5253import static org.prebid.server.functional.model.mock.services.currencyconversion.CurrencyConversionRatesResponse.defaultConversionRates
5354import static org.prebid.server.functional.model.request.auction.AdjustmentType.MULTIPLIER
5455import static org.prebid.server.functional.model.request.auction.BidAdjustmentMediaType.BANNER
@@ -62,17 +63,14 @@ import static org.prebid.server.functional.util.PBSUtils.getRandomDecimal
6263
6364class BidderFieldDisplayBehaviorSpec extends BaseSpec {
6465
65- private static final WILDCARD = " *"
66+ private static final String WILDCARD = " *"
6667
6768 def " PBS should pass ext.prebid.createTids to bidder request" () {
6869 given : " Default bid request"
6970 def bidRequest = BidRequest . defaultBidRequest. tap {
7071 ext. prebid. createTids = PBSUtils . randomBoolean
7172 }
7273
73- and : " Default bid response"
74- def bidResponse = BidResponse . getDefaultBidResponse(bidRequest)
75- bidder. setResponse(bidRequest. id, bidResponse)
7674
7775 when : " PBS processes auction request"
7876 defaultPbsService. sendAuctionRequest(bidRequest)
@@ -88,10 +86,6 @@ class BidderFieldDisplayBehaviorSpec extends BaseSpec {
8886 ext. prebid. returnAllBidStatus = true
8987 }
9088
91- and : " Default bid response"
92- def bidResponse = BidResponse . getDefaultBidResponse(bidRequest)
93- bidder. setResponse(bidRequest. id, bidResponse)
94-
9589 when : " PBS processes auction request"
9690 defaultPbsService. sendAuctionRequest(bidRequest)
9791
@@ -105,14 +99,10 @@ class BidderFieldDisplayBehaviorSpec extends BaseSpec {
10599 def bidRequest = BidRequest . defaultBidRequest. tap {
106100 imp[0 ]. ext. prebid. bidder. alias = new Generic ()
107101 imp[0 ]. ext. prebid. bidder. generic = null
108- ext. prebid. aliasgvlids = [(BidderName . ALIAS . value): PBSUtils . randomNumber]
109- ext. prebid. aliases = [(BidderName . ALIAS . value): BidderName . GENERIC ]
102+ ext. prebid. aliasgvlids = [(ALIAS . value): PBSUtils . randomNumber]
103+ ext. prebid. aliases = [(ALIAS . value): GENERIC ]
110104 }
111105
112- and : " Default bid response"
113- def bidResponse = BidResponse . getDefaultBidResponse(bidRequest)
114- bidder. setResponse(bidRequest. id, bidResponse)
115-
116106 when : " PBS processes auction request"
117107 defaultPbsService. sendAuctionRequest(bidRequest)
118108
@@ -138,10 +128,6 @@ class BidderFieldDisplayBehaviorSpec extends BaseSpec {
138128 }
139129 }
140130
141- and : " Default bid response"
142- def bidResponse = BidResponse . getDefaultBidResponse(bidRequest)
143- bidder. setResponse(bidRequest. id, bidResponse)
144-
145131 when : " PBS processes auction request"
146132 defaultPbsService. sendAuctionRequest(bidRequest)
147133
@@ -156,10 +142,6 @@ class BidderFieldDisplayBehaviorSpec extends BaseSpec {
156142 ext. prebid. supportDeals = PBSUtils . randomBoolean
157143 }
158144
159- and : " Default bid response"
160- def bidResponse = BidResponse . getDefaultBidResponse(bidRequest)
161- bidder. setResponse(bidRequest. id, bidResponse)
162-
163145 when : " PBS processes auction request"
164146 defaultPbsService. sendAuctionRequest(bidRequest)
165147
@@ -174,10 +156,6 @@ class BidderFieldDisplayBehaviorSpec extends BaseSpec {
174156 ext. prebid. cache = new PrebidCache (winningOnly : PBSUtils . randomBoolean)
175157 }
176158
177- and : " Default bid response"
178- def bidResponse = BidResponse . getDefaultBidResponse(bidRequest)
179- bidder. setResponse(bidRequest. id, bidResponse)
180-
181159 when : " PBS processes auction request"
182160 defaultPbsService. sendAuctionRequest(bidRequest)
183161
@@ -193,10 +171,6 @@ class BidderFieldDisplayBehaviorSpec extends BaseSpec {
193171 ext. prebid. channel = new Channel (name : channelType)
194172 }
195173
196- and : " Default bid response"
197- def bidResponse = BidResponse . getDefaultBidResponse(bidRequest)
198- bidder. setResponse(bidRequest. id, bidResponse)
199-
200174 when : " PBS processes auction request"
201175 defaultPbsService. sendAuctionRequest(bidRequest)
202176
@@ -227,8 +201,8 @@ class BidderFieldDisplayBehaviorSpec extends BaseSpec {
227201 def " PBS shouldn't pass ext.prebid.data.{bidders,eidpermissions} to bidder request" () {
228202 given : " Default bid request"
229203 def bidRequest = BidRequest . defaultBidRequest. tap {
230- ext. prebid. data = new ExtRequestPrebidData (bidders : [BidderName . GENERIC . value],
231- eidpermissions : [new EidPermission (source : PBSUtils . randomString, bidders : [BidderName . GENERIC ])])
204+ ext. prebid. data = new ExtRequestPrebidData (bidders : [GENERIC . value],
205+ eidpermissions : [new EidPermission (source : PBSUtils . randomString, bidders : [GENERIC ])])
232206 }
233207
234208 when : " PBS processes auction request"
@@ -302,57 +276,42 @@ class BidderFieldDisplayBehaviorSpec extends BaseSpec {
302276 assert bidderRequest. ext. prebid. amp == bidRequest. ext. prebid. amp
303277 }
304278
305- def " PBS should copy imp level passThrough to bidresponse.seatbid[].bid[].ext.prebid.passThrough when the passThrough is present" () {
306- given : " Default bid request with passThrough"
307- def randomString = PBSUtils . randomString
308- def passThrough = [(randomString): randomString]
309- def bidRequest = BidRequest . defaultBidRequest. tap {
310- imp[0 ]. ext. prebid. passThrough = passThrough
311- }
312-
313- when : " PBS processes auction request"
314- def response = defaultPbsService. sendAuctionRequest(bidRequest)
315-
316- then : " Bidder request shouldn't contain the same passThrough as on request"
317- def bidderRequest = bidder. getBidderRequest(bidRequest. id)
318- assert ! bidderRequest. ext. prebid. passThrough
319-
320- and : " Response should contain the same passThrough as on request"
321- assert response. seatbid. first(). bid. first(). ext. prebid. passThrough == passThrough
322-
323- and : " Response shouldn't contain in ext.prebid.passThrough"
324- assert ! response. ext. prebid. passThrough
325- }
326-
327- def " PBS should copy global level passThrough object to bidresponse.ext.prebid.passThrough when passThrough is present" () {
279+ def " PBS should pass passThrough object to ext.prebid.passThrough when passThrough is present" () {
328280 given : " Default bid request with passThrough"
329- def randomString = PBSUtils . randomString
330- def passThrough = [(randomString): randomString]
331281 def bidRequest = BidRequest . defaultBidRequest. tap {
332- ext. prebid. passThrough = passThrough
282+ it. ext. prebid. passThrough = requestPassThrough
283+ it. imp[0 ]. ext. prebid. passThrough = impPassThrough
333284 }
334285
335286 when : " PBS processes auction request"
336287 def response = defaultPbsService. sendAuctionRequest(bidRequest)
337288
338- then : " Response shouldn't contain the same passThrough as on request"
339- assert ! response. seatbid. first(). bid. first(). ext. prebid. passThrough
289+ then : " Response should contain the same passThrough as on request"
290+ assert response. seatbid. first(). bid. first(). ext. prebid. passThrough == impPassThrough
340291
341292 and : " Response should contain in ext.prebid.passThrough"
342- assert response. ext. prebid. passThrough == passThrough
293+ assert response. ext. prebid. passThrough == requestPassThrough
343294
344295 and : " Bidder request shouldn't contain the same passThrough as on request"
345296 def bidderRequest = bidder. getBidderRequest(bidRequest. id)
346297 assert ! bidderRequest. ext. prebid. passThrough
298+
299+ where :
300+ impPassThrough | requestPassThrough
301+ [(PBSUtils . randomString): PBSUtils . randomString] | [(PBSUtils . randomString): PBSUtils . randomString]
302+ null | [(PBSUtils . randomString): PBSUtils . randomString]
303+ [(PBSUtils . randomString): PBSUtils . randomString] | null
347304 }
348305
349306 def " PBS auction should pass ext.prebid.sdk requested to bidder request when sdk specified" () {
350307 given : " Default bid request with ext.prebid.sdk"
308+ def renderers = [new Renderer (). tap {
309+ it. name = PBSUtils . randomString
310+ it. version = PBSUtils . randomString
311+ it. data = new RendererData (any : PBSUtils . randomString)
312+ }]
351313 def bidRequest = BidRequest . defaultBidRequest. tap {
352- ext. prebid. sdk = new Sdk (renderers : [new Renderer (
353- name : PBSUtils . randomString,
354- version : PBSUtils . randomString,
355- data : new RendererData (any : PBSUtils . randomString))])
314+ it. ext. prebid. sdk = new Sdk (renderers : renderers)
356315 }
357316
358317 when : " PBS processes auction request"
@@ -361,9 +320,9 @@ class BidderFieldDisplayBehaviorSpec extends BaseSpec {
361320 then : " Bidder request should contain sdk value same in request"
362321 def bidderRequest = bidder. getBidderRequest(bidRequest. id)
363322 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
323+ it. name == renderers. name
324+ it. version == renderers. version
325+ it. data. any == renderers. data. any
367326 }
368327 }
369328
@@ -400,8 +359,8 @@ class BidderFieldDisplayBehaviorSpec extends BaseSpec {
400359 def bidRequest = BidRequest . defaultBidRequest. tap {
401360 ext. prebid. alternateBidderCodes = new AlternateBidderCodes (). tap {
402361 it. enabled = true
403- it. bidders = [(BidderName . GENERIC ): new CodesBidderConfig (enabled : true , allowedBidderCodes : [BidderName . GENERIC ]),
404- (RUBICON ) : new CodesBidderConfig (enabled : true , allowedBidderCodes : [RUBICON ])]
362+ it. bidders = [(GENERIC ): new CodesBidderConfig (enabled : true , allowedBidderCodes : [GENERIC ]),
363+ (RUBICON ): new CodesBidderConfig (enabled : true , allowedBidderCodes : [RUBICON ])]
405364 }
406365 }
407366
@@ -411,15 +370,15 @@ class BidderFieldDisplayBehaviorSpec extends BaseSpec {
411370 then : " Bidder request should contain ext.prebid.alternateBidderCodes"
412371 def bidderRequest = bidder. getBidderRequest(bidRequest. id)
413372 assert bidderRequest. ext. prebid. alternateBidderCodes. enabled == bidRequest. ext. prebid. alternateBidderCodes. enabled
414- assert bidderRequest. ext. prebid. alternateBidderCodes. bidders == [(BidderName . GENERIC ): new CodesBidderConfig (enabled : true )]
373+ assert bidderRequest. ext. prebid. alternateBidderCodes. bidders == [(GENERIC ): new CodesBidderConfig (enabled : true )]
415374 }
416375
417376 def " PBS should pass user.ext to bidder request when user.ext specified" () {
418377 given : " Default basic BidRequest with generic bidder"
419378 def userExt = new UserExt (). tap {
420379 fcapids = [PBSUtils . randomString]
421380 time = new UserTime (userdow : PBSUtils . randomNumber, userhour : PBSUtils . randomNumber)
422- prebid = new UserExtPrebid (buyeruids : [(BidderName . GENERIC ): PBSUtils . randomString])
381+ prebid = new UserExtPrebid (buyeruids : [(GENERIC ): PBSUtils . randomString])
423382 consentedProvidersSettings = new ConsentedProvidersSettings (consentedProviders : PBSUtils . randomString)
424383 }
425384 def bidRequest = BidRequest . defaultBidRequest. tap {
@@ -444,7 +403,7 @@ class BidderFieldDisplayBehaviorSpec extends BaseSpec {
444403 def " PBS should pass site.ext to bidder request when site.ext specified" () {
445404 given : " Default basic BidRequest with generic bidder"
446405 def bidRequest = BidRequest . defaultBidRequest. tap {
447- site. ext = new SiteExt (amp : 0 , data : new SiteExtData (id : PBSUtils . randomString))
406+ site. ext = new SiteExt (amp : PBSUtils . getRandomEnum( SiteExt.Amp ) , data : new SiteExtData (id : PBSUtils . randomString))
448407 }
449408
450409 when : " PBS processes auction request"
@@ -493,14 +452,10 @@ class BidderFieldDisplayBehaviorSpec extends BaseSpec {
493452 def " PBS shouldn't pass ext.prebid.bidderConfig to bidder request when bidderConfig specified" () {
494453 given : " Default bid request"
495454 def bidRequest = BidRequest . defaultBidRequest. tap {
496- ext. prebid. bidderConfig = [new ExtPrebidBidderConfig (bidders : [BidderName . GENERIC ], config :
455+ ext. prebid. bidderConfig = [new ExtPrebidBidderConfig (bidders : [GENERIC ], config :
497456 new BidderConfig (ortb2 : new BidderConfigOrtb (site : Site . configFPDSite, user : User . configFPDUser)))]
498457 }
499458
500- and : " Default bid response"
501- def bidResponse = BidResponse . getDefaultBidResponse(bidRequest)
502- bidder. setResponse(bidRequest. id, bidResponse)
503-
504459 when : " PBS processes auction request"
505460 defaultPbsService. sendAuctionRequest(bidRequest)
506461
@@ -562,7 +517,7 @@ class BidderFieldDisplayBehaviorSpec extends BaseSpec {
562517
563518 and : " Set maxbids = 2 for generic and rubicon bidder"
564519 def maxBids = 2
565- def genericMultiBid = new MultiBid (bidder : BidderName . GENERIC , maxBids : maxBids, targetBidderCodePrefix : PBSUtils . randomString)
520+ def genericMultiBid = new MultiBid (bidder : GENERIC , maxBids : maxBids, targetBidderCodePrefix : PBSUtils . randomString)
566521 def rubiconMultiBid = new MultiBid (bidder : RUBICON , maxBids : maxBids, targetBidderCodePrefix : PBSUtils . randomString)
567522 bidRequest. ext. prebid. multibid = [genericMultiBid, rubiconMultiBid]
568523
@@ -594,46 +549,36 @@ class BidderFieldDisplayBehaviorSpec extends BaseSpec {
594549 imp. first. bidFloorCur = currency
595550 }
596551
597- and : " Default bid response"
598- def bidResponse = BidResponse . getDefaultBidResponse(bidRequest)
599- bidder. setResponse(bidRequest. id, bidResponse)
600-
601552 when : " PBS processes auction request"
602553 defaultPbsService. sendAuctionRequest(bidRequest)
603554
604555 then : " Bidder request should contain generic bid adjustments"
605556 def bidderRequest = bidder. getBidderRequest(bidRequest. id)
606557 assert bidderRequest. ext. prebid. bidAdjustments. version == bidRequest. ext. prebid. bidAdjustments. version
607- assert bidderRequest. ext. prebid. bidAdjustments. mediaType[BANNER ]. generic == bidRequest . ext . prebid . bidAdjustments . mediaType[ BANNER ] . generic
558+ assert bidderRequest. ext. prebid. bidAdjustments. mediaType[BANNER ]. generic == rule . generic
608559
609560 and : " Bidder request shouldn't contain openx bid adjustments"
610561 assert ! bidderRequest. ext. prebid. bidAdjustments. mediaType[BANNER ]. openx
611562 }
612563
613564 def " PBS should pass ext.prebid.bidAdjustmentFactors only bidder related entry for each bidder" () {
614565 given : " Default bid request with bid adjustment"
615- def bidAdjustment = getRandomDecimal()
566+ def genericBidAdjustment = randomDecimal
616567 def bidRequest = BidRequest . getDefaultBidRequest(SITE ). tap {
617568 ext. prebid. bidAdjustmentFactors = new BidAdjustmentFactors (). tap {
618- adjustments = [(BidderName . GENERIC ): bidAdjustment , (OPENX ): bidAdjustment ]
619- mediaTypes = [(BANNER ): [(BidderName . GENERIC ): mediaTypeBidAdjustment],
569+ adjustments = [(GENERIC ): genericBidAdjustment , (OPENX ): randomDecimal ]
570+ mediaTypes = [(BANNER ): [(GENERIC ): mediaTypeBidAdjustment],
620571 (VIDEO ) : [(OPENX ): mediaTypeBidAdjustment]]
621572 }
622573 }
623574
624- and : " Default bid response"
625- def bidResponse = BidResponse . getDefaultBidResponse(bidRequest)
626- bidder. setResponse(bidRequest. id, bidResponse)
627-
628575 when : " PBS processes auction request"
629576 defaultPbsService. sendAuctionRequest(bidRequest)
630577
631578 then : " Bidder request should contain generic bid adjustment factors"
632579 def bidderRequest = bidder. getBidderRequest(bidRequest. id)
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 ]
580+ assert bidderRequest. ext. prebid. bidAdjustmentFactors. adjustments[GENERIC ] == genericBidAdjustment
581+ assert bidderRequest. ext. prebid. bidAdjustmentFactors. mediaTypes[BANNER ][GENERIC ] == mediaTypeBidAdjustment
637582
638583 and : " Bidder request shouldn't contain opneX bid adjustment factors for generic call"
639584 assert ! bidderRequest?. ext?. prebid?. bidAdjustmentFactors?. adjustments[OPENX ]
0 commit comments