@@ -41,7 +41,9 @@ const videoBidReq = [{
41
41
} ,
42
42
mediaTypes : { video : {
43
43
context : 'outstream' ,
44
- playerSize : [ 640 , 480 ]
44
+ playerSize : [ 640 , 480 ] ,
45
+ placement : 1 ,
46
+ plcmt : 1
45
47
} } ,
46
48
sizes : [ [ 300 , 250 ] , [ 300 , 600 ] ] ,
47
49
bidId : '263be71e91dd9d' ,
@@ -184,6 +186,31 @@ const bidderReqCcpaAndGdpr = {
184
186
uspConsent : 'NY12'
185
187
} ;
186
188
189
+ const bidderReqGpp = {
190
+ refererInfo : {
191
+ topmostLocation : 'http://prebid.org/dev-docs/bidder-adaptor.html'
192
+ } ,
193
+ gppConsent : {
194
+ gppString : 'DBACNYA~CPXxRfAPXxRfAAfKABENB-CgAAAAAAAAAAYgAAAAAAAA~1YNN' ,
195
+ applicableSections : [ 7 ]
196
+ }
197
+ } ;
198
+
199
+ const bidderReqFullGppCcpaGdpr = {
200
+ refererInfo : {
201
+ topmostLocation : 'http://prebid.org/dev-docs/bidder-adaptor.html'
202
+ } ,
203
+ gppConsent : {
204
+ gppString : 'DBACNYA~CPXxRfAPXxRfAAfKABENB-CgAAAAAAAAAAYgAAAAAAAA~1YNN' ,
205
+ applicableSections : [ 7 ]
206
+ } ,
207
+ gdprConsent : {
208
+ gdprApplies : true ,
209
+ consentString : 'gdprConsent'
210
+ } ,
211
+ uspConsent : '1YNN'
212
+ } ;
213
+
187
214
const validBidRes = {
188
215
ad : '<div>Hello</div>' ,
189
216
publisherId : 12345 ,
@@ -381,6 +408,31 @@ describe('Undertone Adapter', () => {
381
408
expect ( request . url ) . to . equal ( REQ_URL ) ;
382
409
expect ( request . method ) . to . equal ( 'POST' ) ;
383
410
} ) ;
411
+ it ( `should have gppConsent fields` , function ( ) {
412
+ const request = spec . buildRequests ( bidReq , bidderReqGpp ) ;
413
+ const domainStart = bidderReq . refererInfo . topmostLocation . indexOf ( '//' ) ;
414
+ const domainEnd = bidderReq . refererInfo . topmostLocation . indexOf ( '/' , domainStart + 2 ) ;
415
+ const domain = bidderReq . refererInfo . topmostLocation . substring ( domainStart + 2 , domainEnd ) ;
416
+ const gppStr = bidderReqGpp . gppConsent . gppString ;
417
+ const gppSid = bidderReqGpp . gppConsent . applicableSections ;
418
+ const REQ_URL = `${ URL } ?pid=${ bidReq [ 0 ] . params . publisherId } &domain=${ domain } &gpp=${ gppStr } &gpp_sid=${ gppSid } ` ;
419
+ expect ( request . url ) . to . equal ( REQ_URL ) ;
420
+ expect ( request . method ) . to . equal ( 'POST' ) ;
421
+ } ) ;
422
+ it ( `should have gpp, ccpa and gdpr fields` , function ( ) {
423
+ const request = spec . buildRequests ( bidReq , bidderReqFullGppCcpaGdpr ) ;
424
+ const domainStart = bidderReq . refererInfo . topmostLocation . indexOf ( '//' ) ;
425
+ const domainEnd = bidderReq . refererInfo . topmostLocation . indexOf ( '/' , domainStart + 2 ) ;
426
+ const domain = bidderReq . refererInfo . topmostLocation . substring ( domainStart + 2 , domainEnd ) ;
427
+ const gppStr = bidderReqFullGppCcpaGdpr . gppConsent . gppString ;
428
+ const gppSid = bidderReqFullGppCcpaGdpr . gppConsent . applicableSections ;
429
+ const ccpa = bidderReqFullGppCcpaGdpr . uspConsent ;
430
+ const gdpr = bidderReqFullGppCcpaGdpr . gdprConsent . gdprApplies ? 1 : 0 ;
431
+ const gdprStr = bidderReqFullGppCcpaGdpr . gdprConsent . consentString ;
432
+ const REQ_URL = `${ URL } ?pid=${ bidReq [ 0 ] . params . publisherId } &domain=${ domain } &gdpr=${ gdpr } &gdprstr=${ gdprStr } &ccpa=${ ccpa } &gpp=${ gppStr } &gpp_sid=${ gppSid } ` ;
433
+ expect ( request . url ) . to . equal ( REQ_URL ) ;
434
+ expect ( request . method ) . to . equal ( 'POST' ) ;
435
+ } ) ;
384
436
it ( 'should have all relevant fields' , function ( ) {
385
437
const request = spec . buildRequests ( bidReq , bidderReq ) ;
386
438
const bid1 = JSON . parse ( request . data ) [ 'x-ut-hb-params' ] [ 0 ] ;
@@ -409,10 +461,14 @@ describe('Undertone Adapter', () => {
409
461
expect ( bidVideo . video . playbackMethod ) . to . equal ( 2 ) ;
410
462
expect ( bidVideo . video . maxDuration ) . to . equal ( 30 ) ;
411
463
expect ( bidVideo . video . skippable ) . to . equal ( true ) ;
464
+ expect ( bidVideo . video . placement ) . to . equal ( 1 ) ;
465
+ expect ( bidVideo . video . plcmt ) . to . equal ( 1 ) ;
412
466
413
467
expect ( bidVideo2 . video . skippable ) . to . equal ( null ) ;
414
468
expect ( bidVideo2 . video . maxDuration ) . to . equal ( null ) ;
415
469
expect ( bidVideo2 . video . playbackMethod ) . to . equal ( null ) ;
470
+ expect ( bidVideo2 . video . placement ) . to . equal ( null ) ;
471
+ expect ( bidVideo2 . video . plcmt ) . to . equal ( null ) ;
416
472
} ) ;
417
473
it ( 'should send all userIds data to server' , function ( ) {
418
474
const request = spec . buildRequests ( bidReqUserIds , bidderReq ) ;
0 commit comments