prebid.js 7.8.0 → 7.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. package/dist/33acrossBidAdapter.js +1 -1
  2. package/dist/adagioBidAdapter.js +1 -1
  3. package/dist/adbookpspBidAdapter.js +1 -1
  4. package/dist/adgenerationBidAdapter.js +1 -1
  5. package/dist/adrelevantisBidAdapter.js +1 -1
  6. package/dist/adxcgBidAdapter.js +1 -1
  7. package/dist/ajaBidAdapter.js +1 -1
  8. package/dist/amxBidAdapter.js +1 -1
  9. package/dist/amxIdSystem.js +1 -1
  10. package/dist/andBeyondMediaBidAdapter.js +1 -0
  11. package/dist/appierAnalyticsAdapter.js +1 -1
  12. package/dist/appnexusBidAdapter.js +1 -1
  13. package/dist/asoBidAdapter.js +1 -1
  14. package/dist/axonixBidAdapter.js +1 -1
  15. package/dist/bidglassBidAdapter.js +1 -1
  16. package/dist/bidwatchAnalyticsAdapter.js +1 -1
  17. package/dist/big-richmediaBidAdapter.js +1 -1
  18. package/dist/bridgewellBidAdapter.js +1 -1
  19. package/dist/brightMountainMediaBidAdapter.js +1 -1
  20. package/dist/c1xBidAdapter.js +1 -0
  21. package/dist/concertBidAdapter.js +1 -1
  22. package/dist/connectadBidAdapter.js +1 -1
  23. package/dist/consumableBidAdapter.js +1 -1
  24. package/dist/conversantBidAdapter.js +1 -1
  25. package/dist/craftBidAdapter.js +1 -1
  26. package/dist/criteoBidAdapter.js +1 -1
  27. package/dist/dspxBidAdapter.js +1 -1
  28. package/dist/eplanningBidAdapter.js +1 -1
  29. package/dist/finativeBidAdapter.js +1 -1
  30. package/dist/glimpseBidAdapter.js +1 -1
  31. package/dist/gmosspBidAdapter.js +1 -1
  32. package/dist/goldbachBidAdapter.js +1 -1
  33. package/dist/gridBidAdapter.js +1 -1
  34. package/dist/gridNMBidAdapter.js +1 -1
  35. package/dist/gumgumBidAdapter.js +1 -1
  36. package/dist/h12mediaBidAdapter.js +1 -1
  37. package/dist/id5IdSystem.js +1 -1
  38. package/dist/improvedigitalBidAdapter.js +1 -1
  39. package/dist/inmarBidAdapter.js +1 -1
  40. package/dist/insticatorBidAdapter.js +1 -1
  41. package/dist/ixBidAdapter.js +1 -1
  42. package/dist/justpremiumBidAdapter.js +1 -1
  43. package/dist/konduitAnalyticsAdapter.js +1 -1
  44. package/dist/kueezBidAdapter.js +1 -1
  45. package/dist/lassoBidAdapter.js +1 -1
  46. package/dist/liveyieldAnalyticsAdapter.js +1 -1
  47. package/dist/logicadBidAdapter.js +1 -1
  48. package/dist/loglyliftBidAdapter.js +1 -1
  49. package/dist/malltvAnalyticsAdapter.js +1 -1
  50. package/dist/marsmediaBidAdapter.js +1 -1
  51. package/dist/mediafuseBidAdapter.js +1 -1
  52. package/dist/mediasquareBidAdapter.js +1 -1
  53. package/dist/mgidBidAdapter.js +1 -1
  54. package/dist/minutemediaBidAdapter.js +1 -1
  55. package/dist/not-for-prod/prebid.js +106 -104
  56. package/dist/oguryBidAdapter.js +1 -1
  57. package/dist/onetagBidAdapter.js +1 -1
  58. package/dist/ooloAnalyticsAdapter.js +1 -1
  59. package/dist/outbrainBidAdapter.js +1 -1
  60. package/dist/parrableIdSystem.js +1 -1
  61. package/dist/pixfutureBidAdapter.js +1 -1
  62. package/dist/prebid-core.js +1 -1
  63. package/dist/publinkIdSystem.js +1 -1
  64. package/dist/pubmaticBidAdapter.js +1 -1
  65. package/dist/pubwiseAnalyticsAdapter.js +1 -1
  66. package/dist/pxyzBidAdapter.js +1 -1
  67. package/dist/quantcastBidAdapter.js +1 -1
  68. package/dist/readpeakBidAdapter.js +1 -1
  69. package/dist/relaidoBidAdapter.js +1 -1
  70. package/dist/rhythmoneBidAdapter.js +1 -1
  71. package/dist/riseBidAdapter.js +1 -1
  72. package/dist/rubiconAnalyticsAdapter.js +1 -1
  73. package/dist/rubiconBidAdapter.js +1 -1
  74. package/dist/seedingAllianceBidAdapter.js +1 -1
  75. package/dist/seedtagBidAdapter.js +1 -1
  76. package/dist/sharethroughAnalyticsAdapter.js +1 -1
  77. package/dist/sharethroughBidAdapter.js +1 -1
  78. package/dist/shinezBidAdapter.js +1 -1
  79. package/dist/smaatoBidAdapter.js +1 -1
  80. package/dist/smartadserverBidAdapter.js +1 -1
  81. package/dist/smartxBidAdapter.js +1 -1
  82. package/dist/smilewantedBidAdapter.js +1 -1
  83. package/dist/sonobiBidAdapter.js +1 -1
  84. package/dist/sovrnAnalyticsAdapter.js +1 -1
  85. package/dist/sovrnBidAdapter.js +1 -1
  86. package/dist/sspBCBidAdapter.js +1 -1
  87. package/dist/sublimeBidAdapter.js +1 -1
  88. package/dist/synacormediaBidAdapter.js +1 -1
  89. package/dist/targetVideoBidAdapter.js +1 -1
  90. package/dist/teadsBidAdapter.js +1 -1
  91. package/dist/trionBidAdapter.js +1 -1
  92. package/dist/tripleliftBidAdapter.js +1 -1
  93. package/dist/ttdBidAdapter.js +1 -1
  94. package/dist/ucfunnelAnalyticsAdapter.js +1 -1
  95. package/dist/underdogmediaBidAdapter.js +1 -1
  96. package/dist/undertoneBidAdapter.js +1 -1
  97. package/dist/vidazooBidAdapter.js +1 -1
  98. package/dist/videobyteBidAdapter.js +1 -1
  99. package/dist/visxBidAdapter.js +1 -1
  100. package/dist/vuukleBidAdapter.js +1 -1
  101. package/dist/widespaceBidAdapter.js +1 -1
  102. package/dist/winrBidAdapter.js +1 -1
  103. package/dist/yahoosspBidAdapter.js +1 -1
  104. package/dist/yieldmoBidAdapter.js +1 -1
  105. package/dist/yieldoneAnalyticsAdapter.js +1 -1
  106. package/modules/andBeyondMediaBidAdapter.js +202 -0
  107. package/modules/andBeyondMediaBidAdapter.md +79 -0
  108. package/modules/bidwatchAnalyticsAdapter.js +70 -11
  109. package/modules/c1xBidAdapter.js +209 -0
  110. package/modules/c1xBidAdapter.md +70 -0
  111. package/modules/improvedigitalBidAdapter.js +3 -0
  112. package/modules/tripleliftBidAdapter.js +45 -19
  113. package/package.json +1 -1
  114. package/test/spec/modules/andBeyondMediaBidAdapter_spec.js +400 -0
  115. package/test/spec/modules/bidwatchAnalyticsAdapter_spec.js +17 -1
  116. package/test/spec/modules/c1xBidAdapter_spec.js +189 -0
  117. package/test/spec/modules/improvedigitalBidAdapter_spec.js +4 -4
  118. package/test/spec/modules/tripleliftBidAdapter_spec.js +378 -10
@@ -345,6 +345,209 @@ describe('triplelift adapter', function () {
345
345
  auctionId: '1d1a030790a475',
346
346
  userId: {},
347
347
  schain,
348
+ },
349
+ // outstream video only
350
+ {
351
+ bidder: 'triplelift',
352
+ params: {
353
+ inventoryCode: 'outstream_test',
354
+ floor: 1.0,
355
+ video: {
356
+ mimes: ['video/mp4'],
357
+ maxduration: 30,
358
+ minduration: 6,
359
+ w: 640,
360
+ h: 480
361
+ }
362
+ },
363
+ mediaTypes: {
364
+ video: {
365
+ context: 'outstream',
366
+ playerSize: [640, 480]
367
+ }
368
+ },
369
+ adUnitCode: 'adunit-code-outstream',
370
+ sizes: [[300, 250], [300, 600], [1, 1, 1], ['flex']],
371
+ bidId: '30b31c1838de1e',
372
+ bidderRequestId: '22edbae2733bf6',
373
+ auctionId: '1d1a030790a475',
374
+ userId: {},
375
+ schain,
376
+ },
377
+ // banner and incomplete outstream (missing size)
378
+ {
379
+ bidder: 'triplelift',
380
+ params: {
381
+ inventoryCode: 'outstream_test',
382
+ floor: 1.0,
383
+ video: {
384
+ mimes: ['video/mp4'],
385
+ maxduration: 30,
386
+ minduration: 6
387
+ }
388
+ },
389
+ mediaTypes: {
390
+ video: {
391
+ context: 'outstream'
392
+ },
393
+ banner: {
394
+ sizes: [
395
+ [970, 250],
396
+ [1, 1]
397
+ ]
398
+ }
399
+ },
400
+ adUnitCode: 'adunit-code-instream',
401
+ sizes: [[300, 250], [300, 600], [1, 1, 1], ['flex']],
402
+ bidId: '30b31c1838de1e',
403
+ bidderRequestId: '22edbae2733bf6',
404
+ auctionId: '1d1a030790a475',
405
+ userId: {},
406
+ schain,
407
+ },
408
+ // outstream video; valid placement
409
+ {
410
+ bidder: 'triplelift',
411
+ params: {
412
+ inventoryCode: 'outstream_test',
413
+ floor: 1.0,
414
+ video: {
415
+ mimes: ['video/mp4'],
416
+ maxduration: 30,
417
+ minduration: 6,
418
+ w: 640,
419
+ h: 480
420
+ }
421
+ },
422
+ mediaTypes: {
423
+ video: {
424
+ context: 'outstream',
425
+ playerSize: [640, 480],
426
+ placement: 3
427
+ }
428
+ },
429
+ adUnitCode: 'adunit-code-instream',
430
+ sizes: [[300, 250], [300, 600], [1, 1, 1], ['flex']],
431
+ bidId: '30b31c1838de1e',
432
+ bidderRequestId: '22edbae2733bf6',
433
+ auctionId: '1d1a030790a475',
434
+ userId: {},
435
+ schain,
436
+ },
437
+ // outstream video; valid placement
438
+ {
439
+ bidder: 'triplelift',
440
+ params: {
441
+ inventoryCode: 'outstream_test',
442
+ floor: 1.0,
443
+ video: {
444
+ mimes: ['video/mp4'],
445
+ maxduration: 30,
446
+ minduration: 6,
447
+ w: 640,
448
+ h: 480
449
+ }
450
+ },
451
+ mediaTypes: {
452
+ video: {
453
+ context: 'outstream',
454
+ playerSize: [640, 480],
455
+ placement: 4
456
+ }
457
+ },
458
+ adUnitCode: 'adunit-code-instream',
459
+ sizes: [[300, 250], [300, 600], [1, 1, 1], ['flex']],
460
+ bidId: '30b31c1838de1e',
461
+ bidderRequestId: '22edbae2733bf6',
462
+ auctionId: '1d1a030790a475',
463
+ userId: {},
464
+ schain,
465
+ },
466
+ // outstream video; valid placement
467
+ {
468
+ bidder: 'triplelift',
469
+ params: {
470
+ inventoryCode: 'outstream_test',
471
+ floor: 1.0,
472
+ video: {
473
+ mimes: ['video/mp4'],
474
+ maxduration: 30,
475
+ minduration: 6,
476
+ w: 640,
477
+ h: 480
478
+ }
479
+ },
480
+ mediaTypes: {
481
+ video: {
482
+ context: 'outstream',
483
+ playerSize: [640, 480],
484
+ placement: 5
485
+ }
486
+ },
487
+ adUnitCode: 'adunit-code-instream',
488
+ sizes: [[300, 250], [300, 600], [1, 1, 1], ['flex']],
489
+ bidId: '30b31c1838de1e',
490
+ bidderRequestId: '22edbae2733bf6',
491
+ auctionId: '1d1a030790a475',
492
+ userId: {},
493
+ schain,
494
+ },
495
+ // outstream video; undefined placement
496
+ {
497
+ bidder: 'triplelift',
498
+ params: {
499
+ inventoryCode: 'outstream_test',
500
+ floor: 1.0,
501
+ video: {
502
+ mimes: ['video/mp4'],
503
+ maxduration: 30,
504
+ minduration: 6,
505
+ w: 640,
506
+ h: 480
507
+ }
508
+ },
509
+ mediaTypes: {
510
+ video: {
511
+ context: 'outstream',
512
+ playerSize: [640, 480]
513
+ }
514
+ },
515
+ adUnitCode: 'adunit-code-instream',
516
+ sizes: [[300, 250], [300, 600], [1, 1, 1], ['flex']],
517
+ bidId: '30b31c1838de1e',
518
+ bidderRequestId: '22edbae2733bf6',
519
+ auctionId: '1d1a030790a475',
520
+ userId: {},
521
+ schain,
522
+ },
523
+ // outstream video; invalid placement
524
+ {
525
+ bidder: 'triplelift',
526
+ params: {
527
+ inventoryCode: 'outstream_test',
528
+ floor: 1.0,
529
+ video: {
530
+ mimes: ['video/mp4'],
531
+ maxduration: 30,
532
+ minduration: 6,
533
+ w: 640,
534
+ h: 480
535
+ }
536
+ },
537
+ mediaTypes: {
538
+ video: {
539
+ context: 'outstream',
540
+ playerSize: [640, 480],
541
+ placement: 6
542
+ }
543
+ },
544
+ adUnitCode: 'adunit-code-instream',
545
+ sizes: [[300, 250], [300, 600], [1, 1, 1], ['flex']],
546
+ bidId: '30b31c1838de1e',
547
+ bidderRequestId: '22edbae2733bf6',
548
+ auctionId: '1d1a030790a475',
549
+ userId: {},
550
+ schain,
348
551
  }
349
552
  ];
350
553
 
@@ -415,13 +618,16 @@ describe('triplelift adapter', function () {
415
618
  expect(payload.imp[0].tagid).to.equal('12345');
416
619
  expect(payload.imp[0].floor).to.equal(1.0);
417
620
  expect(payload.imp[0].banner.format).to.deep.equal([{w: 300, h: 250}, {w: 300, h: 600}]);
621
+ // instream
418
622
  expect(payload.imp[1].tagid).to.equal('insteam_test');
419
623
  expect(payload.imp[1].floor).to.equal(1.0);
420
624
  expect(payload.imp[1].video).to.exist.and.to.be.a('object');
625
+ expect(payload.imp[1].video.placement).to.equal(1);
421
626
  // banner and outstream video
422
- expect(payload.imp[2]).to.not.have.property('video');
627
+ expect(payload.imp[2]).to.have.property('video');
423
628
  expect(payload.imp[2]).to.have.property('banner');
424
629
  expect(payload.imp[2].banner.format).to.deep.equal([{w: 300, h: 250}, {w: 300, h: 600}]);
630
+ expect(payload.imp[2].video).to.deep.equal({'mimes': ['video/mp4'], 'maxduration': 30, 'minduration': 6, 'w': 640, 'h': 480, 'context': 'outstream', 'placement': 3});
425
631
  // banner and incomplete video
426
632
  expect(payload.imp[3]).to.not.have.property('video');
427
633
  expect(payload.imp[3]).to.have.property('banner');
@@ -434,10 +640,51 @@ describe('triplelift adapter', function () {
434
640
  expect(payload.imp[5]).to.not.have.property('banner');
435
641
  expect(payload.imp[5]).to.have.property('video');
436
642
  expect(payload.imp[5].video).to.exist.and.to.be.a('object');
643
+ expect(payload.imp[5].video.placement).to.equal(1);
437
644
  // banner and outream video and native
438
- expect(payload.imp[6]).to.not.have.property('video');
645
+ expect(payload.imp[6]).to.have.property('video');
439
646
  expect(payload.imp[6]).to.have.property('banner');
440
647
  expect(payload.imp[6].banner.format).to.deep.equal([{w: 300, h: 250}, {w: 300, h: 600}]);
648
+ expect(payload.imp[6].video).to.deep.equal({'mimes': ['video/mp4'], 'maxduration': 30, 'minduration': 6, 'w': 640, 'h': 480, 'context': 'outstream', 'placement': 3});
649
+ // outstream video only
650
+ expect(payload.imp[7]).to.have.property('video');
651
+ expect(payload.imp[7]).to.not.have.property('banner');
652
+ expect(payload.imp[7].video).to.deep.equal({'mimes': ['video/mp4'], 'maxduration': 30, 'minduration': 6, 'w': 640, 'h': 480, 'context': 'outstream', 'placement': 3});
653
+ // banner and incomplete outstream (missing size); video request is permitted so banner can still monetize
654
+ expect(payload.imp[8]).to.have.property('video');
655
+ expect(payload.imp[8]).to.have.property('banner');
656
+ expect(payload.imp[8].banner.format).to.deep.equal([{w: 300, h: 250}, {w: 300, h: 600}]);
657
+ expect(payload.imp[8].video).to.deep.equal({'mimes': ['video/mp4'], 'maxduration': 30, 'minduration': 6, 'context': 'outstream', 'placement': 3});
658
+ });
659
+
660
+ it('should check for valid outstream placement values', function () {
661
+ const request = tripleliftAdapterSpec.buildRequests(bidRequests, bidderRequest);
662
+ const payload = request.data;
663
+ // outstream video; valid placement
664
+ expect(payload.imp[9]).to.not.have.property('banner');
665
+ expect(payload.imp[9]).to.have.property('video');
666
+ expect(payload.imp[9].video).to.exist.and.to.be.a('object');
667
+ expect(payload.imp[9].video.placement).to.equal(3);
668
+ // outstream video; valid placement
669
+ expect(payload.imp[10]).to.not.have.property('banner');
670
+ expect(payload.imp[10]).to.have.property('video');
671
+ expect(payload.imp[10].video).to.exist.and.to.be.a('object');
672
+ expect(payload.imp[10].video.placement).to.equal(4);
673
+ // outstream video; valid placement
674
+ expect(payload.imp[11]).to.not.have.property('banner');
675
+ expect(payload.imp[11]).to.have.property('video');
676
+ expect(payload.imp[11].video).to.exist.and.to.be.a('object');
677
+ expect(payload.imp[11].video.placement).to.equal(5);
678
+ // outstream video; undefined placement
679
+ expect(payload.imp[12]).to.not.have.property('banner');
680
+ expect(payload.imp[12]).to.have.property('video');
681
+ expect(payload.imp[12].video).to.exist.and.to.be.a('object');
682
+ expect(payload.imp[12].video.placement).to.equal(3);
683
+ // outstream video; invalid placement
684
+ expect(payload.imp[13]).to.not.have.property('banner');
685
+ expect(payload.imp[13]).to.have.property('video');
686
+ expect(payload.imp[13].video).to.exist.and.to.be.a('object');
687
+ expect(payload.imp[13].video.placement).to.equal(3);
441
688
  });
442
689
 
443
690
  it('should add tdid to the payload if included', function () {
@@ -913,14 +1160,40 @@ describe('triplelift adapter', function () {
913
1160
  iurl: 'https://s.adroll.com/a/IYR/N36/IYRN366MFVDITBAGNNT5U6.jpg',
914
1161
  tl_source: 'tlx',
915
1162
  advertiser_name: 'fake advertiser name',
916
- adomain: ['basspro.com', 'internetalerts.org']
1163
+ adomain: ['basspro.com', 'internetalerts.org'],
1164
+ media_type: 'banner'
917
1165
  },
918
1166
  {
919
1167
  imp_id: 1,
920
1168
  crid: '10092_76480_i2j6qm8u',
921
1169
  cpm: 9.99,
922
- ad: '<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>',
923
- tlx_source: 'hdx'
1170
+ ad: '<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>',
1171
+ tl_source: 'hdx',
1172
+ media_type: 'video'
1173
+ },
1174
+ // video bid on banner+outstream request
1175
+ {
1176
+ imp_id: 2,
1177
+ crid: '5989_33264_352817187',
1178
+ cpm: 20,
1179
+ ad: '<VAST xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.0" xsi:noNamespaceSchemaLocation="vast.xsd">\n <Ad id="21641499">\n \t<Wrapper><Error><![CDATA[https://eb2.3lift.com/sce?aid=148508128401385324170&inv_code=testing_mobile_outstream&e=[ERRORCODE]&block=video]]>',
1180
+ tl_source: 'hdx',
1181
+ advertiser_name: 'zennioptical.com',
1182
+ adomain: ['zennioptical.com'],
1183
+ media_type: 'video'
1184
+ },
1185
+ // banner bid on banner+outstream request
1186
+ {
1187
+ imp_id: 3,
1188
+ crid: '5989_33264_352817187',
1189
+ cpm: 20,
1190
+ width: 970,
1191
+ height: 250,
1192
+ ad: 'ad-markup',
1193
+ tl_source: 'hdx',
1194
+ advertiser_name: 'zennioptical.com',
1195
+ adomain: ['zennioptical.com'],
1196
+ media_type: 'banner'
924
1197
  }
925
1198
  ]
926
1199
  }
@@ -946,13 +1219,13 @@ describe('triplelift adapter', function () {
946
1219
  ]
947
1220
  }
948
1221
  },
949
- bidId: '30b31c1838de1e',
1222
+ bidId: '30b31c1838de1e'
950
1223
  },
951
1224
  {
952
1225
  imp_id: 1,
953
1226
  crid: '10092_76480_i2j6qm8u',
954
1227
  cpm: 9.99,
955
- ad: '<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>',
1228
+ ad: '<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>',
956
1229
  tlx_source: 'hdx',
957
1230
  mediaTypes: {
958
1231
  video: {
@@ -960,7 +1233,89 @@ describe('triplelift adapter', function () {
960
1233
  playerSize: [640, 480]
961
1234
  }
962
1235
  },
963
- bidId: '30b31c1838de1e',
1236
+ bidId: '30b31c1838de1e'
1237
+ },
1238
+ // banner and outstream
1239
+ {
1240
+ bidder: 'triplelift',
1241
+ params: {
1242
+ inventoryCode: 'testing_desktop_outstream',
1243
+ floor: 1
1244
+ },
1245
+ nativeParams: {},
1246
+ mediaTypes: {
1247
+ video: {
1248
+ context: 'outstream',
1249
+ playerSize: [[640, 480]],
1250
+ mimes: ['video/mp4'],
1251
+ protocols: [1, 2, 3, 4, 5, 6, 7, 8],
1252
+ playbackmethod: [2],
1253
+ skip: 1
1254
+ },
1255
+ banner: {
1256
+ sizes: [
1257
+ [728, 90],
1258
+ [970, 250],
1259
+ [970, 90]
1260
+ ]
1261
+ },
1262
+ native: {}
1263
+ },
1264
+ adUnitCode: 'video-outstream',
1265
+ transactionId: '135061c3-f546-4e28-8a07-44c2fb58a958',
1266
+ sizes: [
1267
+ [728, 90],
1268
+ [970, 250],
1269
+ [970, 90]
1270
+ ],
1271
+ bidId: '73edc0ba8de203',
1272
+ bidderRequestId: '3d81143328560b',
1273
+ auctionId: 'f6427dc0-b954-4010-a76c-d498380796a2',
1274
+ src: 'client',
1275
+ bidRequestsCount: 2,
1276
+ bidderRequestsCount: 2,
1277
+ bidderWinsCount: 0
1278
+ },
1279
+ // banner and outstream
1280
+ {
1281
+ bidder: 'triplelift',
1282
+ params: {
1283
+ inventoryCode: 'testing_desktop_outstream',
1284
+ floor: 1
1285
+ },
1286
+ nativeParams: {},
1287
+ mediaTypes: {
1288
+ video: {
1289
+ context: 'outstream',
1290
+ playerSize: [[640, 480]],
1291
+ mimes: ['video/mp4'],
1292
+ protocols: [1, 2, 3, 4, 5, 6, 7, 8],
1293
+ playbackmethod: [2],
1294
+ skip: 1
1295
+ },
1296
+ banner: {
1297
+ sizes: [
1298
+ [728, 90],
1299
+ [970, 250],
1300
+ [970, 90]
1301
+ ]
1302
+ },
1303
+ native: {}
1304
+ },
1305
+ adUnitCode: 'video-outstream',
1306
+ transactionId: '135061c3-f546-4e28-8a07-44c2fb58a958',
1307
+ sizes: [
1308
+ [728, 90],
1309
+ [970, 250],
1310
+ [970, 90]
1311
+ ],
1312
+ bidId: '73edc0ba8de203',
1313
+ bidderRequestId: '3d81143328560b',
1314
+ auctionId: 'f6427dc0-b954-4010-a76c-d498380796a2',
1315
+ src: 'client',
1316
+ bidRequestsCount: 2,
1317
+ bidderRequestsCount: 2,
1318
+ bidderWinsCount: 0
964
1319
  }
965
1320
  ],
966
1321
  refererInfo: {
@@ -1007,16 +1362,29 @@ describe('triplelift adapter', function () {
1007
1362
  }
1008
1363
  ];
1009
1364
  let result = tripleliftAdapterSpec.interpretResponse(response, {bidderRequest});
1010
- expect(result).to.have.length(2);
1365
+ expect(result).to.have.length(4);
1011
1366
  expect(Object.keys(result[0])).to.have.members(Object.keys(expectedResponse[0]));
1012
1367
  expect(Object.keys(result[1])).to.have.members(Object.keys(expectedResponse[1]));
1013
1368
  expect(result[0].ttl).to.equal(300);
1014
1369
  expect(result[1].ttl).to.equal(3600);
1015
1370
  });
1016
1371
 
1372
+ it('should identify format of bid and respond accordingly', function() {
1373
+ let result = tripleliftAdapterSpec.interpretResponse(response, {bidderRequest});
1374
+ expect(result[0].meta.mediaType).to.equal('native');
1375
+ expect(result[1].mediaType).to.equal('video');
1376
+ expect(result[1].meta.mediaType).to.equal('video');
1377
+ // video bid on banner+outstream request
1378
+ expect(result[2].mediaType).to.equal('video');
1379
+ expect(result[2].meta.mediaType).to.equal('video');
1380
+ expect(result[2].vastXml).to.include('aid=148508128401385324170&inv_code=testing_mobile_outstream');
1381
+ // banner bid on banner+outstream request
1382
+ expect(result[3].meta.mediaType).to.equal('banner');
1383
+ })
1384
+
1017
1385
  it('should return multiple responses to support SRA', function () {
1018
1386
  let result = tripleliftAdapterSpec.interpretResponse(response, {bidderRequest});
1019
- expect(result).to.have.length(2);
1387
+ expect(result).to.have.length(4);
1020
1388
  });
1021
1389
 
1022
1390
  it('should include the advertiser name in the meta field if available', function () {