@@ -4,13 +4,15 @@ import { newBidder } from 'src/adapters/bidderFactory.js';
4
4
import { deepClone } from 'src/utils.js' ;
5
5
import { config } from 'src/config.js' ;
6
6
import prebid from '../../../package.json' ;
7
+ import * as utils from 'src/utils.js' ;
7
8
8
9
const ENDPOINT = 'https://tlx.3lift.com/header/auction?' ;
9
10
const GDPR_CONSENT_STR = 'BOONm0NOONm0NABABAENAa-AAAARh7______b9_3__7_9uz_Kv_K7Vf7nnG072lPVA9LTOQ6gEaY' ;
10
11
11
12
describe ( 'triplelift adapter' , function ( ) {
12
13
const adapter = newBidder ( tripleliftAdapterSpec ) ;
13
14
let bid , instreamBid ;
15
+ let sandbox ;
14
16
15
17
this . beforeEach ( ( ) => {
16
18
bid = {
@@ -194,6 +196,10 @@ describe('triplelift adapter', function () {
194
196
gdprApplies : true
195
197
} ,
196
198
} ;
199
+ sandbox = sinon . sandbox . create ( ) ;
200
+ } ) ;
201
+ afterEach ( ( ) => {
202
+ sandbox . restore ( ) ;
197
203
} ) ;
198
204
199
205
it ( 'exists and is an object' , function ( ) {
@@ -397,6 +403,31 @@ describe('triplelift adapter', function () {
397
403
const request = tripleliftAdapterSpec . buildRequests ( bidRequests , bidderRequest ) ;
398
404
expect ( request . data . imp [ 0 ] . floor ) . to . equal ( 1.99 ) ;
399
405
} ) ;
406
+ it ( 'should send fpd on root level ext if kvps are available' , function ( ) {
407
+ const sens = null ;
408
+ const category = [ 'news' , 'weather' , 'hurricane' ] ;
409
+ const pmp_elig = 'true' ;
410
+ const fpd = {
411
+ context : {
412
+ pmp_elig,
413
+ category,
414
+ } ,
415
+ user : {
416
+ sens,
417
+ }
418
+ }
419
+ sandbox . stub ( config , 'getConfig' ) . callsFake ( key => {
420
+ const config = {
421
+ fpd
422
+ } ;
423
+ return utils . deepAccess ( config , key ) ;
424
+ } ) ;
425
+ const request = tripleliftAdapterSpec . buildRequests ( bidRequests , bidderRequest ) ;
426
+ const { data : payload } = request ;
427
+ expect ( payload . ext . fpd ) . to . not . haveOwnProperty ( 'sens' ) ;
428
+ expect ( payload . ext . fpd ) . to . haveOwnProperty ( 'category' ) ;
429
+ expect ( payload . ext . fpd ) . to . haveOwnProperty ( 'pmp_elig' ) ;
430
+ } ) ;
400
431
} ) ;
401
432
402
433
describe ( 'interpretResponse' , function ( ) {
@@ -413,6 +444,7 @@ describe('triplelift adapter', function () {
413
444
ad : 'ad-markup' ,
414
445
iurl : 'https://s.adroll.com/a/IYR/N36/IYRN366MFVDITBAGNNT5U6.jpg' ,
415
446
tl_source : 'tlx' ,
447
+ advertiser_name : 'fake advertiser name'
416
448
} ,
417
449
{
418
450
imp_id : 1 ,
@@ -486,6 +518,7 @@ describe('triplelift adapter', function () {
486
518
currency : 'USD' ,
487
519
ttl : 33 ,
488
520
tl_source : 'tlx' ,
521
+ meta : { }
489
522
} ,
490
523
{
491
524
requestId : '30b31c1838de1e' ,
@@ -501,6 +534,7 @@ describe('triplelift adapter', function () {
501
534
tl_source : 'hdx' ,
502
535
mediaType : 'video' ,
503
536
vastXml : '<VAST version=\"2.0\"><Ad id=\"gsen95th\"><Wrapper><Error><![CDATA[https://eb2.3lift.net/ive?aid=156025986241697082890&bmid=10092&bsid=76480&crid=10092_76480_i2j6qm8u&e=[ERRORCODE]]]></Error><Impression><![CDATA[https://eb2.3lift.net/r?rr=creative&bc=0.011&uid=8217096503606905723&pr=%24%7BAUCTION_PRICE%7D&brid=554350&bmid=10092&biid=10066&aid=156025986241697082890&bcud=11&sid=76480&ts=1593552049&fid=11]]></Impression><Impression><![CDATA[https://tlx.3lift.net/header/notify?px=1&pr=${AUCTION_PRICE}&ts=1593552049&aid=156025986241697082890&ec=10092_76480_i2j6qm8u&n=GgDyAqABCAASFTE1NjAyNTk4NjI0MTY5NzA4Mjg5MBgAIAEo7E4wwNUEQAFIAFAAYAtogIAEcO7qIZABAJgBAKgBALABC7gBAMABCsgBC%2BABCvABAPgBlo0GgAL%2FlwWIAgqRAgAAAAAAAPA%2FmQIzMzMzMzPDP6ECAAAAAAAAAACoAgCwAgDIAgTYAgDxAmZmZmZmZuY%2F%2BALSTpADAJgDAKADAKgDA%2FgCDIgDAJIDBDEyMzQ%3D]]></Impression><AdSystem version=\"1.0\">The Trade Desk</AdSystem><VASTAdTagURI><![CDATA[https://insight.adsrvr.org/enduser/vast/?iid=590299b9-1817-4859-a2af-ef007bb4c78e&crid=gsen95th&wp=0.011&aid=1&wpc=USD&sfe=10fba14e&puid=&tdid=&pid=13hzg59&ag=l2w0772&adv=ct0nqrx&sig=1BGM_YxB0HAcl-s55S_NKIu-oLW94YpTn_DjMRmdWHzs.&bp=0.3&cf=1448159&fq=0&td_s=388389451&rcats=&mcat=&mste=&mfld=2&mssi=None&mfsi=ve35dsnkwp&uhow=75&agsa=&rgco=South%20Korea&rgre=Gyeonggi-do&rgme=&rgci=Ansan-si&rgz=15345&svbttd=1&dt=Mobile&osf=iOS&os=iOS134&br=WebView&rlangs=01&mlang=&svpid=7453-EB&did=&rcxt=InApp&lat=37.324400&lon=126.823700&tmpc=9.66&daid=d7804da7-147b-421d-bb44-60ad3ac32681&vp=0&osi=&osv=&svscid=388389451&bffi=41&mk=Apple&mdl=iPhone&vpb=PreRoll&dc=14&vcc=EDwYPDICCAI6BAgBCAJAAUgBUASIAQKgAZ4DqAGwBsgBAdABA-gBAoACA4oCCAgCCAMIBQgGmgIICAMIBQgGCAegAgKoAgGwAgC4AgDAAgE.&sv=triplelift&pidi=3584&advi=270782&cmpi=1319400&agi=6167705&cridi=13268739&svi=70&cmp=a9nj9ex&tsig=tlN4j1OujX9nrFakJmfpTuNNfg-D0qArlSjjNAb8tLg.&c=MAQ4AEgAUAc.&dur=&crrelr=&adpt=tl_ltriplelift&ipl=39250&fpa=826&pcm=3&said=40286845772363793660&ict=Unknown&auct=1&im=1]]></VASTAdTagURI><Creatives><Creative><Linear><VideoClicks><ClickTracking><![CDATA[https://eb2.3lift.net/ec?aid=156025986241697082890]]></ClickTracking></VideoClicks><TrackingEvents><Tracking event=\"mute\"><![CDATA[https://eb2.3lift.net/eee?aid=156025986241697082890&inv_code=niice_main_instream&ev=1&eid=5]]></Tracking><Tracking event=\"unmute\"><![CDATA[https://eb2.3lift.net/eee?aid=156025986241697082890&inv_code=niice_main_instream&ev=1&eid=6]]></Tracking><Tracking event=\"expand\"><![CDATA[https://eb2.3lift.net/eee?aid=156025986241697082890&inv_code=niice_main_instream&ev=1&eid=7]]></Tracking><Tracking event=\"collapse\"><![CDATA[https://eb2.3lift.net/eee?aid=156025986241697082890&inv_code=niice_main_instream&ev=1&eid=8]]></Tracking><Tracking event=\"pause\"><![CDATA[https://eb2.3lift.net/eee?aid=156025986241697082890&inv_code=niice_main_instream&ev=1&eid=14]]></Tracking><Tracking event=\"resume\"><![CDATA[https://eb2.3lift.net/eee?aid=156025986241697082890&inv_code=niice_main_instream&ev=1&eid=15]]></Tracking><Tracking event=\"fullscreen\"><![CDATA[https://eb2.3lift.net/eee?aid=156025986241697082890&inv_code=niice_main_instream&ev=1&eid=16]]></Tracking><Tracking event=\"exitFullscreen\"><![CDATA[https://eb2.3lift.net/eee?aid=156025986241697082890&inv_code=niice_main_instream&ev=1&eid=17]]></Tracking><Tracking event=\"skip\"><![CDATA[https://eb2.3lift.net/eee?aid=156025986241697082890&inv_code=niice_main_instream&ev=1&eid=18]]></Tracking><Tracking event=\"start\"><![CDATA[https://eb2.3lift.net/evd?aid=156025986241697082890&inv_code=niice_main_instream&bmid=10092&vlt=2&bypassDuration=true&progress=7]]></Tracking><Tracking event=\"firstQuartile\"><![CDATA[https://eb2.3lift.net/evd?aid=156025986241697082890&inv_code=niice_main_instream&bmid=10092&vlt=2&bypassDuration=true&quartile=1]]></Tracking><Tracking event=\"midpoint\"><![CDATA[https://eb2.3lift.net/evd?aid=156025986241697082890&inv_code=niice_main_instream&bmid=10092&vlt=2&bypassDuration=true&quartile=2]]></Tracking><Tracking event=\"thirdQuartile\"><![CDATA[https://eb2.3lift.net/evd?aid=156025986241697082890&inv_code=niice_main_instream&bmid=10092&vlt=2&bypassDuration=true&quartile=3]]></Tracking><Tracking event=\"complete\"><![CDATA[https://eb2.3lift.net/evd?aid=156025986241697082890&inv_code=niice_main_instream&bmid=10092&vlt=2&bypassDuration=true&quartile=4]]></Tracking><Tracking event=\"progress\" offset=\"00:00:02\"><![CDATA[https://eb2.3lift.net/evd?aid=156025986241697082890&inv_code=niice_main_instream&bmid=10092&vlt=2&bypassDuration=true&progress=1]]></Tracking><Tracking event=\"progress\" offset=\"00:00:03\"><![CDATA[https://eb2.3lift.net/evd?aid=156025986241697082890&inv_code=niice_main_instream&bmid=10092&vlt=2&bypassDuration=true&progress=2]]></Tracking><Tracking event=\"progress\" offset=\"00:00:05\"><![CDATA[https://eb2.3lift.net/evd?aid=156025986241697082890&inv_code=niice_main_instream&bmid=10092&vlt=2&bypassDuration=true&progress=3]]></Tracking><Tracking event=\"progress\" offset=\"00:00:10\"><![CDATA[https://eb2.3lift.net/evd?aid=156025986241697082890&inv_code=niice_main_instream&bmid=10092&vlt=2&bypassDuration=true&progress=4]]></Tracking><Tracking event=\"progress\" offset=\"00:00:15\"><![CDATA[https://eb2.3lift.net/evd?aid=156025986241697082890&inv_code=niice_main_instream&bmid=10092&vlt=2&bypassDuration=true&progress=5]]></Tracking><Tracking event=\"progress\" offset=\"00:00:30\"><![CDATA[https://eb2.3lift.net/evd?aid=156025986241697082890&inv_code=niice_main_instream&bmid=10092&vlt=2&bypassDuration=true&progress=6]]></Tracking></TrackingEvents></Linear></Creative></Creatives></Wrapper></Ad></VAST>' ,
537
+ meta : { }
504
538
}
505
539
] ;
506
540
let result = tripleliftAdapterSpec . interpretResponse ( response , { bidderRequest} ) ;
@@ -513,6 +547,12 @@ describe('triplelift adapter', function () {
513
547
let result = tripleliftAdapterSpec . interpretResponse ( response , { bidderRequest} ) ;
514
548
expect ( result ) . to . have . length ( 2 ) ;
515
549
} ) ;
550
+
551
+ it ( 'should include the advertiser name in the meta field if available' , function ( ) {
552
+ let result = tripleliftAdapterSpec . interpretResponse ( response , { bidderRequest} ) ;
553
+ expect ( result [ 0 ] . meta . advertiserName ) . to . equal ( 'fake advertiser name' )
554
+ expect ( result [ 1 ] . meta ) . to . not . have . key ( 'advertiserName' ) ;
555
+ } ) ;
516
556
} ) ;
517
557
518
558
describe ( 'getUserSyncs' , function ( ) {
0 commit comments