prebid.js 8.26.0 → 8.28.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.
- package/dist/33acrossAnalyticsAdapter.js +1 -1
- package/dist/33acrossBidAdapter.js +1 -1
- package/dist/33acrossIdSystem.js +1 -1
- package/dist/adagioAnalyticsAdapter.js +1 -1
- package/dist/adagioBidAdapter.js +1 -1
- package/dist/adbookpspBidAdapter.js +1 -1
- package/dist/adgenerationBidAdapter.js +1 -1
- package/dist/adnuntiusBidAdapter.js +1 -1
- package/dist/adqueryBidAdapter.js +1 -1
- package/dist/adrelevantisBidAdapter.js +1 -1
- package/dist/adstirBidAdapter.js +1 -1
- package/dist/adtrgtmeBidAdapter.js +1 -1
- package/dist/adxcgBidAdapter.js +1 -1
- package/dist/adyoulikeBidAdapter.js +1 -1
- package/dist/agmaAnalyticsAdapter.js +1 -1
- package/dist/ajaBidAdapter.js +1 -1
- package/dist/amxBidAdapter.js +1 -1
- package/dist/amxIdSystem.js +1 -1
- package/dist/appierAnalyticsAdapter.js +1 -1
- package/dist/appnexusBidAdapter.js +1 -1
- package/dist/asoBidAdapter.js +1 -1
- package/dist/axonixBidAdapter.js +1 -1
- package/dist/bidglassBidAdapter.js +1 -1
- package/dist/big-richmediaBidAdapter.js +1 -1
- package/dist/bizzclickBidAdapter.js +1 -1
- package/dist/bridBidAdapter.js +1 -1
- package/dist/bridgewellBidAdapter.js +1 -1
- package/dist/brightMountainMediaBidAdapter.js +1 -1
- package/dist/browsiRtdProvider.js +1 -1
- package/dist/carodaBidAdapter.js +1 -1
- package/dist/chtnwBidAdapter.js +1 -1
- package/dist/concertBidAdapter.js +1 -1
- package/dist/connectadBidAdapter.js +1 -1
- package/dist/consumableBidAdapter.js +1 -1
- package/dist/conversantAnalyticsAdapter.js +1 -1
- package/dist/conversantBidAdapter.js +1 -1
- package/dist/craftBidAdapter.js +1 -1
- package/dist/criteoBidAdapter.js +1 -1
- package/dist/cwireBidAdapter.js +1 -1
- package/dist/deepintentBidAdapter.js +1 -1
- package/dist/dependencies.json +3 -0
- package/dist/dspxBidAdapter.js +1 -1
- package/dist/dxkultureBidAdapter.js +1 -1
- package/dist/eplanningBidAdapter.js +1 -1
- package/dist/euidIdSystem.js +1 -1
- package/dist/feedadBidAdapter.js +1 -1
- package/dist/finativeBidAdapter.js +1 -1
- package/dist/flippBidAdapter.js +1 -1
- package/dist/freewheel-sspBidAdapter.js +1 -1
- package/dist/geoedgeRtdProvider.js +1 -1
- package/dist/gmosspBidAdapter.js +1 -1
- package/dist/goldbachBidAdapter.js +1 -1
- package/dist/greenbidsAnalyticsAdapter.js +1 -1
- package/dist/greenbidsRtdProvider.js +1 -1
- package/dist/gridBidAdapter.js +1 -1
- package/dist/growthCodeRtdProvider.js +1 -1
- package/dist/gumgumBidAdapter.js +1 -1
- package/dist/h12mediaBidAdapter.js +1 -1
- package/dist/hypelabBidAdapter.js +1 -1
- package/dist/id5IdSystem.js +1 -1
- package/dist/identityLinkIdSystem.js +1 -1
- package/dist/illuminBidAdapter.js +1 -1
- package/dist/imdsBidAdapter.js +1 -1
- package/dist/improvedigitalBidAdapter.js +1 -1
- package/dist/insticatorBidAdapter.js +1 -1
- package/dist/invibesBidAdapter.js +1 -1
- package/dist/ixBidAdapter.js +1 -1
- package/dist/jixieBidAdapter.js +1 -1
- package/dist/justpremiumBidAdapter.js +1 -1
- package/dist/kargoBidAdapter.js +1 -1
- package/dist/konduitAnalyticsAdapter.js +1 -1
- package/dist/kueezBidAdapter.js +1 -1
- package/dist/kueezRtbBidAdapter.js +1 -1
- package/dist/lassoBidAdapter.js +1 -1
- package/dist/lifestreetBidAdapter.js +1 -1
- package/dist/liveIntentIdSystem.js +1 -1
- package/dist/logicadBidAdapter.js +1 -1
- package/dist/loglyliftBidAdapter.js +1 -1
- package/dist/magniteAnalyticsAdapter.js +1 -1
- package/dist/malltvAnalyticsAdapter.js +1 -1
- package/dist/marsmediaBidAdapter.js +1 -1
- package/dist/mediafuseBidAdapter.js +1 -1
- package/dist/mediagoBidAdapter.js +1 -1
- package/dist/mediasquareBidAdapter.js +1 -1
- package/dist/mgidBidAdapter.js +1 -1
- package/dist/mgidXBidAdapter.js +1 -1
- package/dist/minutemediaBidAdapter.js +1 -1
- package/dist/minutemediaplusBidAdapter.js +1 -1
- package/dist/nextMillenniumBidAdapter.js +1 -1
- package/dist/nexx360BidAdapter.js +1 -1
- package/dist/not-for-prod/prebid.js +156 -156
- package/dist/oguryBidAdapter.js +1 -1
- package/dist/onetagBidAdapter.js +1 -1
- package/dist/ooloAnalyticsAdapter.js +1 -1
- package/dist/openxBidAdapter.js +1 -1
- package/dist/optidigitalBidAdapter.js +1 -1
- package/dist/outbrainBidAdapter.js +1 -1
- package/dist/parrableIdSystem.js +1 -1
- package/dist/pgamsspBidAdapter.js +1 -1
- package/dist/pixfutureBidAdapter.js +1 -1
- package/dist/prebid-core.js +2 -2
- package/dist/publinkIdSystem.js +1 -1
- package/dist/pubmaticAnalyticsAdapter.js +1 -1
- package/dist/pubmaticBidAdapter.js +1 -1
- package/dist/pubwiseAnalyticsAdapter.js +1 -1
- package/dist/pxyzBidAdapter.js +1 -1
- package/dist/quantcastBidAdapter.js +1 -1
- package/dist/readpeakBidAdapter.js +1 -1
- package/dist/relaidoBidAdapter.js +1 -1
- package/dist/retailspotBidAdapter.js +1 -1
- package/dist/rhythmoneBidAdapter.js +1 -1
- package/dist/riseBidAdapter.js +1 -1
- package/dist/rtdModule.js +1 -1
- package/dist/rubiconBidAdapter.js +1 -1
- package/dist/seedingAllianceBidAdapter.js +1 -1
- package/dist/seedtagBidAdapter.js +1 -1
- package/dist/sharethroughAnalyticsAdapter.js +1 -1
- package/dist/sharethroughBidAdapter.js +1 -1
- package/dist/shinezBidAdapter.js +1 -1
- package/dist/shinezRtbBidAdapter.js +1 -1
- package/dist/smaatoBidAdapter.js +1 -1
- package/dist/smartadserverBidAdapter.js +1 -1
- package/dist/smartxBidAdapter.js +1 -1
- package/dist/smilewantedBidAdapter.js +1 -1
- package/dist/sonobiBidAdapter.js +1 -1
- package/dist/sovrnAnalyticsAdapter.js +1 -1
- package/dist/sovrnBidAdapter.js +1 -1
- package/dist/sparteoBidAdapter.js +1 -1
- package/dist/sspBCBidAdapter.js +1 -1
- package/dist/stvBidAdapter.js +1 -1
- package/dist/sublimeBidAdapter.js +1 -1
- package/dist/taboolaBidAdapter.js +1 -1
- package/dist/targetVideoBidAdapter.js +1 -1
- package/dist/teadsBidAdapter.js +1 -1
- package/dist/theAdxBidAdapter.js +1 -1
- package/dist/trionBidAdapter.js +1 -1
- package/dist/tripleliftBidAdapter.js +1 -1
- package/dist/ttdBidAdapter.js +1 -1
- package/dist/ucfunnelAnalyticsAdapter.js +1 -1
- package/dist/uid2IdSystem.js +1 -1
- package/dist/underdogmediaBidAdapter.js +1 -1
- package/dist/undertoneBidAdapter.js +1 -1
- package/dist/unrulyBidAdapter.js +1 -1
- package/dist/userId.js +1 -1
- package/dist/viantOrtbBidAdapter.js +1 -1
- package/dist/vidazooBidAdapter.js +1 -1
- package/dist/videobyteBidAdapter.js +1 -1
- package/dist/visxBidAdapter.js +1 -1
- package/dist/voxBidAdapter.js +1 -1
- package/dist/vuukleBidAdapter.js +1 -1
- package/dist/widespaceBidAdapter.js +1 -1
- package/dist/winrBidAdapter.js +1 -1
- package/dist/yahoosspBidAdapter.js +1 -1
- package/dist/yieldmoBidAdapter.js +1 -1
- package/dist/yieldoneAnalyticsAdapter.js +1 -1
- package/modules/adagioAnalyticsAdapter.js +52 -6
- package/modules/adagioBidAdapter.js +25 -16
- package/modules/adnuntiusBidAdapter.js +25 -21
- package/modules/bizzclickBidAdapter.js +55 -300
- package/modules/bizzclickBidAdapter.md +94 -89
- package/modules/browsiRtdProvider.js +2 -2
- package/modules/criteoBidAdapter.js +1 -0
- package/modules/deepintentBidAdapter.js +2 -0
- package/modules/flippBidAdapter.js +1 -1
- package/modules/geoedgeRtdProvider.js +4 -2
- package/modules/growthCodeRtdProvider.js +2 -2
- package/modules/gumgumBidAdapter.js +3 -3
- package/modules/identityLinkIdSystem.js +1 -2
- package/modules/invibesBidAdapter.js +50 -6
- package/modules/liveIntentIdSystem.js +17 -1
- package/modules/mediagoBidAdapter.js +106 -34
- package/modules/mgidXBidAdapter.js +6 -1
- package/modules/minutemediaBidAdapter.js +9 -7
- package/modules/minutemediaBidAdapter.md +1 -0
- package/modules/nextMillenniumBidAdapter.js +170 -113
- package/modules/pgamsspBidAdapter.js +18 -1
- package/modules/pubmaticAnalyticsAdapter.js +30 -9
- package/modules/pubmaticBidAdapter.js +3 -1
- package/modules/riseBidAdapter.js +11 -8
- package/modules/riseBidAdapter.md +1 -0
- package/modules/rtdModule/index.js +2 -1
- package/modules/sovrnBidAdapter.js +5 -0
- package/modules/sparteoBidAdapter.js +10 -5
- package/modules/taboolaBidAdapter.js +8 -0
- package/modules/teadsBidAdapter.js +7 -0
- package/modules/theAdxBidAdapter.js +10 -2
- package/modules/theAdxBidAdapter.md +10 -9
- package/modules/unrulyBidAdapter.js +8 -1
- package/modules/userId/eids.js +2 -2
- package/modules/viantOrtbBidAdapter.js +1 -1
- package/modules/visxBidAdapter.js +23 -0
- package/modules/voxBidAdapter.js +2 -0
- package/package.json +1 -1
- package/src/auction.js +1 -1
- package/src/constants.json +5 -2
- package/src/events.js +1 -1
- package/test/spec/modules/adagioAnalyticsAdapter_spec.js +83 -26
- package/test/spec/modules/adagioBidAdapter_spec.js +0 -11
- package/test/spec/modules/adnuntiusBidAdapter_spec.js +1 -1
- package/test/spec/modules/bizzclickBidAdapter_spec.js +229 -340
- package/test/spec/modules/browsiRtdProvider_spec.js +0 -6
- package/test/spec/modules/criteoBidAdapter_spec.js +24 -0
- package/test/spec/modules/eids_spec.js +35 -2
- package/test/spec/modules/geoedgeRtdProvider_spec.js +10 -0
- package/test/spec/modules/gumgumBidAdapter_spec.js +8 -0
- package/test/spec/modules/identityLinkIdSystem_spec.js +0 -18
- package/test/spec/modules/invibesBidAdapter_spec.js +99 -0
- package/test/spec/modules/liveIntentIdMinimalSystem_spec.js +5 -0
- package/test/spec/modules/liveIntentIdSystem_spec.js +5 -0
- package/test/spec/modules/mediagoBidAdapter_spec.js +107 -23
- package/test/spec/modules/mgidXBidAdapter_spec.js +9 -4
- package/test/spec/modules/minutemediaBidAdapter_spec.js +10 -0
- package/test/spec/modules/nextMillenniumBidAdapter_spec.js +503 -80
- package/test/spec/modules/pgamsspBidAdapter_spec.js +1 -0
- package/test/spec/modules/pubmaticAnalyticsAdapter_spec.js +51 -0
- package/test/spec/modules/pubmaticBidAdapter_spec.js +8 -0
- package/test/spec/modules/riseBidAdapter_spec.js +11 -1
- package/test/spec/modules/sovrnBidAdapter_spec.js +35 -0
- package/test/spec/modules/sparteoBidAdapter_spec.js +8 -2
- package/test/spec/modules/taboolaBidAdapter_spec.js +45 -1
- package/test/spec/modules/teadsBidAdapter_spec.js +58 -0
- package/test/spec/modules/theAdxBidAdapter_spec.js +72 -0
- package/test/spec/modules/unrulyBidAdapter_spec.js +7 -4
- package/test/spec/modules/userId_spec.js +19 -1
- package/test/spec/modules/viantOrtbBidAdapter_spec.js +1 -1
- package/test/spec/modules/visxBidAdapter_spec.js +39 -1
- package/test/spec/unit/core/events_spec.js +17 -2
- package/test/spec/unit/pbjs_api_spec.js +7 -0
|
@@ -374,6 +374,10 @@ describe('pubmatic analytics adapter', function () {
|
|
|
374
374
|
// slot 1
|
|
375
375
|
expect(data.s[0].sn).to.equal('/19968336/header-bid-tag-0');
|
|
376
376
|
expect(data.s[0].fskp).to.equal(0);
|
|
377
|
+
expect(data.s[0].sid).not.to.be.undefined;
|
|
378
|
+
expect(data.s[0].ffs).to.equal(1);
|
|
379
|
+
expect(data.s[0].fsrc).to.equal(2);
|
|
380
|
+
expect(data.s[0].fp).to.equal('pubmatic');
|
|
377
381
|
expect(data.s[0].sz).to.deep.equal(['640x480']);
|
|
378
382
|
expect(data.s[0].ps).to.be.an('array');
|
|
379
383
|
expect(data.s[0].au).to.equal('/19968336/header-bid-tag-0');
|
|
@@ -403,6 +407,10 @@ describe('pubmatic analytics adapter', function () {
|
|
|
403
407
|
// slot 2
|
|
404
408
|
expect(data.s[1].sn).to.equal('/19968336/header-bid-tag-1');
|
|
405
409
|
expect(data.s[1].fskp).to.equal(0);
|
|
410
|
+
expect(data.s[1].sid).not.to.be.undefined;
|
|
411
|
+
expect(data.s[1].ffs).to.equal(1);
|
|
412
|
+
expect(data.s[1].fsrc).to.equal(2);
|
|
413
|
+
expect(data.s[1].fp).to.equal('pubmatic');
|
|
406
414
|
expect(data.s[1].sz).to.deep.equal(['1000x300', '970x250', '728x90']);
|
|
407
415
|
expect(data.s[1].ps).to.be.an('array');
|
|
408
416
|
expect(data.s[1].ps.length).to.equal(1);
|
|
@@ -583,6 +591,10 @@ describe('pubmatic analytics adapter', function () {
|
|
|
583
591
|
// slot 1
|
|
584
592
|
expect(data.s[0].sn).to.equal('/19968336/header-bid-tag-0');
|
|
585
593
|
expect(data.s[0].fskp).to.equal(0);
|
|
594
|
+
expect(data.s[0].sid).not.to.be.undefined;
|
|
595
|
+
expect(data.s[0].ffs).to.equal(1);
|
|
596
|
+
expect(data.s[0].fsrc).to.equal(2);
|
|
597
|
+
expect(data.s[0].fp).to.equal('pubmatic');
|
|
586
598
|
expect(data.s[0].sz).to.deep.equal(['640x480']);
|
|
587
599
|
expect(data.s[0].ps).to.be.an('array');
|
|
588
600
|
expect(data.s[0].au).to.equal('/19968336/header-bid-tag-0');
|
|
@@ -702,6 +714,13 @@ describe('pubmatic analytics adapter', function () {
|
|
|
702
714
|
expect(data.tgid).to.equal(0);// test group id should be an INT between 0-15 else set to 0
|
|
703
715
|
expect(data.s[1].sn).to.equal('/19968336/header-bid-tag-1');
|
|
704
716
|
expect(data.s[1].fskp).to.equal(0);
|
|
717
|
+
|
|
718
|
+
expect(data.s[1].sid).not.to.be.undefined;
|
|
719
|
+
|
|
720
|
+
expect(data.s[1].ffs).to.equal(1);
|
|
721
|
+
expect(data.s[1].fsrc).to.equal(2);
|
|
722
|
+
expect(data.s[1].fp).to.equal('pubmatic');
|
|
723
|
+
|
|
705
724
|
expect(data.s[1].sz).to.deep.equal(['1000x300', '970x250', '728x90']);
|
|
706
725
|
expect(data.s[1].ps).to.be.an('array');
|
|
707
726
|
expect(data.s[1].ps.length).to.equal(1);
|
|
@@ -784,6 +803,10 @@ describe('pubmatic analytics adapter', function () {
|
|
|
784
803
|
let data = getLoggerJsonFromRequest(request.requestBody);
|
|
785
804
|
expect(data.s[1].sn).to.equal('/19968336/header-bid-tag-1');
|
|
786
805
|
expect(data.s[1].fskp).to.equal(0);
|
|
806
|
+
expect(data.s[1].sid).not.to.be.undefined;
|
|
807
|
+
expect(data.s[1].ffs).to.equal(1);
|
|
808
|
+
expect(data.s[1].fsrc).to.equal(2);
|
|
809
|
+
expect(data.s[1].fp).to.equal('pubmatic');
|
|
787
810
|
expect(data.s[1].sz).to.deep.equal(['1000x300', '970x250', '728x90']);
|
|
788
811
|
expect(data.s[1].ps).to.be.an('array');
|
|
789
812
|
expect(data.s[1].ps.length).to.equal(1);
|
|
@@ -846,6 +869,7 @@ describe('pubmatic analytics adapter', function () {
|
|
|
846
869
|
expect(data.s[1].sn).to.equal('/19968336/header-bid-tag-1');
|
|
847
870
|
expect(data.s[1].sz).to.deep.equal(['1000x300', '970x250', '728x90']);
|
|
848
871
|
expect(data.s[1].ps).to.be.an('array');
|
|
872
|
+
expect(data.s[1].sid).not.to.be.undefined;
|
|
849
873
|
expect(data.s[1].ps.length).to.equal(1);
|
|
850
874
|
expect(data.s[1].ps[0].pn).to.equal('pubmatic');
|
|
851
875
|
expect(data.s[1].ps[0].bc).to.equal('pubmatic');
|
|
@@ -893,6 +917,10 @@ describe('pubmatic analytics adapter', function () {
|
|
|
893
917
|
let data = getLoggerJsonFromRequest(request.requestBody);
|
|
894
918
|
expect(data.s[1].sn).to.equal('/19968336/header-bid-tag-1');
|
|
895
919
|
expect(data.s[1].fskp).to.equal(0);
|
|
920
|
+
expect(data.s[1].sid).not.to.be.undefined;
|
|
921
|
+
expect(data.s[1].ffs).to.equal(1);
|
|
922
|
+
expect(data.s[1].fsrc).to.equal(2);
|
|
923
|
+
expect(data.s[1].fp).to.equal('pubmatic');
|
|
896
924
|
expect(data.s[1].sz).to.deep.equal(['1000x300', '970x250', '728x90']);
|
|
897
925
|
expect(data.s[1].ps).to.be.an('array');
|
|
898
926
|
expect(data.s[1].ps.length).to.equal(1);
|
|
@@ -952,6 +980,7 @@ describe('pubmatic analytics adapter', function () {
|
|
|
952
980
|
let data = getLoggerJsonFromRequest(request.requestBody);
|
|
953
981
|
expect(data.s[1].sn).to.equal('/19968336/header-bid-tag-1');
|
|
954
982
|
expect(data.s[1].sz).to.deep.equal(['1000x300', '970x250', '728x90']);
|
|
983
|
+
expect(data.s[1].sid).not.to.be.undefined;
|
|
955
984
|
expect(data.s[1].ps).to.be.an('array');
|
|
956
985
|
expect(data.s[1].ps.length).to.equal(1);
|
|
957
986
|
expect(data.s[1].ps[0].pn).to.equal('pubmatic');
|
|
@@ -1006,6 +1035,10 @@ describe('pubmatic analytics adapter', function () {
|
|
|
1006
1035
|
let data = getLoggerJsonFromRequest(request.requestBody);
|
|
1007
1036
|
expect(data.s[1].sn).to.equal('/19968336/header-bid-tag-1');
|
|
1008
1037
|
expect(data.s[1].fskp).to.equal(0);
|
|
1038
|
+
expect(data.s[1].sid).not.to.be.undefined;
|
|
1039
|
+
expect(data.s[1].ffs).to.equal(1);
|
|
1040
|
+
expect(data.s[1].fsrc).to.equal(2);
|
|
1041
|
+
expect(data.s[1].fp).to.equal('pubmatic');
|
|
1009
1042
|
expect(data.s[1].sz).to.deep.equal(['1000x300', '970x250', '728x90']);
|
|
1010
1043
|
expect(data.s[1].ps).to.be.an('array');
|
|
1011
1044
|
expect(data.s[1].ps.length).to.equal(1);
|
|
@@ -1063,6 +1096,7 @@ describe('pubmatic analytics adapter', function () {
|
|
|
1063
1096
|
let data = getLoggerJsonFromRequest(request.requestBody);
|
|
1064
1097
|
expect(data.s[1].sn).to.equal('/19968336/header-bid-tag-1');
|
|
1065
1098
|
expect(data.s[1].sz).to.deep.equal(['1000x300', '970x250', '728x90']);
|
|
1099
|
+
expect(data.s[1].sid).not.to.be.undefined;
|
|
1066
1100
|
expect(data.s[1].ps).to.be.an('array');
|
|
1067
1101
|
expect(data.s[1].ps.length).to.equal(1);
|
|
1068
1102
|
expect(data.s[1].ps[0].pn).to.equal('pubmatic');
|
|
@@ -1121,7 +1155,11 @@ describe('pubmatic analytics adapter', function () {
|
|
|
1121
1155
|
// Testing only for rejected bid as other scenarios will be covered under other TCs
|
|
1122
1156
|
expect(data.s[1].sn).to.equal('/19968336/header-bid-tag-1');
|
|
1123
1157
|
expect(data.s[1].fskp).to.equal(0);
|
|
1158
|
+
expect(data.s[1].ffs).to.equal(1);
|
|
1159
|
+
expect(data.s[1].fsrc).to.equal(2);
|
|
1160
|
+
expect(data.s[1].fp).to.equal('pubmatic');
|
|
1124
1161
|
expect(data.s[1].sz).to.deep.equal(['1000x300', '970x250', '728x90']);
|
|
1162
|
+
expect(data.s[1].sid).not.to.be.undefined;
|
|
1125
1163
|
expect(data.s[1].ps).to.be.an('array');
|
|
1126
1164
|
expect(data.s[1].ps.length).to.equal(1);
|
|
1127
1165
|
expect(data.s[1].ps[0].pn).to.equal('pubmatic');
|
|
@@ -1196,7 +1234,11 @@ describe('pubmatic analytics adapter', function () {
|
|
|
1196
1234
|
// slot 1
|
|
1197
1235
|
expect(data.s[0].sn).to.equal('/19968336/header-bid-tag-0');
|
|
1198
1236
|
expect(data.s[0].fskp).to.equal(0);
|
|
1237
|
+
expect(data.s[0].ffs).to.equal(1);
|
|
1238
|
+
expect(data.s[0].fsrc).to.equal(2);
|
|
1239
|
+
expect(data.s[0].fp).to.equal('pubmatic');
|
|
1199
1240
|
expect(data.s[0].sz).to.deep.equal(['640x480']);
|
|
1241
|
+
expect(data.s[0].sid).not.to.be.undefined;
|
|
1200
1242
|
expect(data.s[0].ps).to.be.an('array');
|
|
1201
1243
|
expect(data.s[0].au).to.equal('/19968336/header-bid-tag-0');
|
|
1202
1244
|
expect(data.s[0].ps.length).to.equal(1);
|
|
@@ -1226,7 +1268,11 @@ describe('pubmatic analytics adapter', function () {
|
|
|
1226
1268
|
// slot 2
|
|
1227
1269
|
expect(data.s[1].sn).to.equal('/19968336/header-bid-tag-1');
|
|
1228
1270
|
expect(data.s[1].fskp).to.equal(0);
|
|
1271
|
+
expect(data.s[1].ffs).to.equal(1);
|
|
1272
|
+
expect(data.s[1].fsrc).to.equal(2);
|
|
1273
|
+
expect(data.s[1].fp).to.equal('pubmatic');
|
|
1229
1274
|
expect(data.s[1].sz).to.deep.equal(['1000x300', '970x250', '728x90']);
|
|
1275
|
+
expect(data.s[1].sid).not.to.be.undefined;
|
|
1230
1276
|
expect(data.s[1].ps).to.be.an('array');
|
|
1231
1277
|
expect(data.s[1].ps.length).to.equal(1);
|
|
1232
1278
|
expect(data.s[1].ps[0].pn).to.equal('pubmatic');
|
|
@@ -1318,7 +1364,11 @@ describe('pubmatic analytics adapter', function () {
|
|
|
1318
1364
|
// slot 1
|
|
1319
1365
|
expect(data.s[0].sn).to.equal('/19968336/header-bid-tag-0');
|
|
1320
1366
|
expect(data.s[0].fskp).to.equal(0);
|
|
1367
|
+
expect(data.s[0].ffs).to.equal(1);
|
|
1368
|
+
expect(data.s[0].fsrc).to.equal(2);
|
|
1369
|
+
expect(data.s[0].fp).to.equal('pubmatic');
|
|
1321
1370
|
expect(data.s[0].sz).to.deep.equal(['640x480']);
|
|
1371
|
+
expect(data.s[0].sid).not.to.be.undefined;
|
|
1322
1372
|
expect(data.s[0].ps).to.be.an('array');
|
|
1323
1373
|
expect(data.s[0].au).to.equal('/19968336/header-bid-tag-0');
|
|
1324
1374
|
expect(data.s[0].ps.length).to.equal(1);
|
|
@@ -1348,6 +1398,7 @@ describe('pubmatic analytics adapter', function () {
|
|
|
1348
1398
|
// slot 2
|
|
1349
1399
|
expect(data.s[1].sn).to.equal('/19968336/header-bid-tag-1');
|
|
1350
1400
|
expect(data.s[1].sz).to.deep.equal(['1000x300', '970x250', '728x90']);
|
|
1401
|
+
expect(data.s[1].sid).not.to.be.undefined;
|
|
1351
1402
|
expect(data.s[1].ps).to.be.an('array');
|
|
1352
1403
|
expect(data.s[1].ps.length).to.equal(1);
|
|
1353
1404
|
expect(data.s[1].ps[0].pn).to.equal('pubmatic');
|
|
@@ -104,6 +104,7 @@ describe('PubMatic adapter', function () {
|
|
|
104
104
|
params: {
|
|
105
105
|
publisherId: '5890',
|
|
106
106
|
adSlot: 'Div1@0x0', // ad_id or tagid
|
|
107
|
+
wiid: 'new-unique-wiid',
|
|
107
108
|
video: {
|
|
108
109
|
mimes: ['video/mp4', 'video/x-flv'],
|
|
109
110
|
skippable: true,
|
|
@@ -154,6 +155,7 @@ describe('PubMatic adapter', function () {
|
|
|
154
155
|
params: {
|
|
155
156
|
publisherId: '5890',
|
|
156
157
|
adSlot: 'Div1@640x480', // ad_id or tagid
|
|
158
|
+
wiid: '1234567890',
|
|
157
159
|
video: {
|
|
158
160
|
mimes: ['video/mp4', 'video/x-flv'],
|
|
159
161
|
skippable: true,
|
|
@@ -213,6 +215,7 @@ describe('PubMatic adapter', function () {
|
|
|
213
215
|
params: {
|
|
214
216
|
publisherId: '5670',
|
|
215
217
|
adSlot: '/43743431/NativeAutomationPrebid@1x1',
|
|
218
|
+
wiid: 'new-unique-wiid'
|
|
216
219
|
},
|
|
217
220
|
bidId: '2a5571261281d4',
|
|
218
221
|
requestId: 'B68287E1-DC39-4B38-9790-FE4F179739D6',
|
|
@@ -278,6 +281,7 @@ describe('PubMatic adapter', function () {
|
|
|
278
281
|
params: {
|
|
279
282
|
publisherId: '5670',
|
|
280
283
|
adSlot: '/43743431/NativeAutomationPrebid@1x1',
|
|
284
|
+
wiid: 'new-unique-wiid'
|
|
281
285
|
},
|
|
282
286
|
bidId: '2a5571261281d4',
|
|
283
287
|
requestId: 'B68287E1-DC39-4B38-9790-FE4F179739D6',
|
|
@@ -304,6 +308,7 @@ describe('PubMatic adapter', function () {
|
|
|
304
308
|
params: {
|
|
305
309
|
publisherId: '5670',
|
|
306
310
|
adSlot: '/43743431/NativeAutomationPrebid@1x1',
|
|
311
|
+
wiid: 'new-unique-wiid'
|
|
307
312
|
}
|
|
308
313
|
}];
|
|
309
314
|
|
|
@@ -344,6 +349,7 @@ describe('PubMatic adapter', function () {
|
|
|
344
349
|
params: {
|
|
345
350
|
publisherId: '5670',
|
|
346
351
|
adSlot: '/43743431/NativeAutomationPrebid@1x1',
|
|
352
|
+
wiid: 'new-unique-wiid'
|
|
347
353
|
}
|
|
348
354
|
}];
|
|
349
355
|
|
|
@@ -502,6 +508,7 @@ describe('PubMatic adapter', function () {
|
|
|
502
508
|
params: {
|
|
503
509
|
publisherId: '301',
|
|
504
510
|
adSlot: '/15671365/DMDemo@300x250:0',
|
|
511
|
+
wiid: 'new-unique-wiid',
|
|
505
512
|
video: {
|
|
506
513
|
mimes: ['video/mp4', 'video/x-flv'],
|
|
507
514
|
skippable: true,
|
|
@@ -572,6 +579,7 @@ describe('PubMatic adapter', function () {
|
|
|
572
579
|
params: {
|
|
573
580
|
publisherId: '301',
|
|
574
581
|
adSlot: '/15671365/DMDemo@300x250:0',
|
|
582
|
+
wiid: 'new-unique-wiid',
|
|
575
583
|
video: {
|
|
576
584
|
mimes: ['video/mp4', 'video/x-flv'],
|
|
577
585
|
skippable: true,
|
|
@@ -53,7 +53,7 @@ describe('riseAdapter', function () {
|
|
|
53
53
|
'adUnitCode': 'adunit-code',
|
|
54
54
|
'sizes': [[640, 480]],
|
|
55
55
|
'params': {
|
|
56
|
-
'org': 'jdye8weeyirk00000001'
|
|
56
|
+
'org': 'jdye8weeyirk00000001',
|
|
57
57
|
},
|
|
58
58
|
'bidId': '299ffc8cca0b87',
|
|
59
59
|
'loop': 1,
|
|
@@ -195,6 +195,16 @@ describe('riseAdapter', function () {
|
|
|
195
195
|
expect(request.data.bids[1].mediaType).to.equal(BANNER)
|
|
196
196
|
});
|
|
197
197
|
|
|
198
|
+
it('should send the correct currency in bid request', function () {
|
|
199
|
+
const bid = utils.deepClone(bidRequests[0]);
|
|
200
|
+
bid.params = {
|
|
201
|
+
'currency': 'EUR'
|
|
202
|
+
};
|
|
203
|
+
const expectedCurrency = bid.params.currency;
|
|
204
|
+
const request = spec.buildRequests([bid], bidderRequest);
|
|
205
|
+
expect(request.data.bids[0].currency).to.equal(expectedCurrency);
|
|
206
|
+
});
|
|
207
|
+
|
|
198
208
|
it('should respect syncEnabled option', function() {
|
|
199
209
|
config.setConfig({
|
|
200
210
|
userSync: {
|
|
@@ -318,6 +318,41 @@ describe('sovrnBidAdapter', function() {
|
|
|
318
318
|
expect(data.regs.ext['us_privacy']).to.equal(bidderRequest.uspConsent)
|
|
319
319
|
})
|
|
320
320
|
|
|
321
|
+
it('should not set coppa when coppa is undefined', function () {
|
|
322
|
+
const bidderRequest = {
|
|
323
|
+
...baseBidderRequest,
|
|
324
|
+
bidderCode: 'sovrn',
|
|
325
|
+
auctionId: '1d1a030790a475',
|
|
326
|
+
bidderRequestId: '22edbae2733bf6',
|
|
327
|
+
timeout: 3000,
|
|
328
|
+
bids: [baseBidRequest],
|
|
329
|
+
gdprConsent: {
|
|
330
|
+
consentString: 'BOJ8RZsOJ8RZsABAB8AAAAAZ+A==',
|
|
331
|
+
gdprApplies: true
|
|
332
|
+
},
|
|
333
|
+
}
|
|
334
|
+
const {regs} = JSON.parse(spec.buildRequests([baseBidRequest], bidderRequest).data)
|
|
335
|
+
expect(regs.coppa).to.be.undefined
|
|
336
|
+
})
|
|
337
|
+
|
|
338
|
+
it('should set coppa to 1 when coppa is provided with value true', function () {
|
|
339
|
+
const bidderRequest = {
|
|
340
|
+
...baseBidderRequest,
|
|
341
|
+
ortb2: {
|
|
342
|
+
regs: {
|
|
343
|
+
coppa: true
|
|
344
|
+
}
|
|
345
|
+
},
|
|
346
|
+
bidderCode: 'sovrn',
|
|
347
|
+
auctionId: '1d1a030790a475',
|
|
348
|
+
bidderRequestId: '22edbae2733bf6',
|
|
349
|
+
timeout: 3000,
|
|
350
|
+
bids: [baseBidRequest]
|
|
351
|
+
}
|
|
352
|
+
const {regs} = JSON.parse(spec.buildRequests([baseBidRequest], bidderRequest).data)
|
|
353
|
+
expect(regs.coppa).to.equal(1)
|
|
354
|
+
})
|
|
355
|
+
|
|
321
356
|
it('should send gpp info in OpenRTB 2.6 location when gppConsent defined', function () {
|
|
322
357
|
const bidderRequest = {
|
|
323
358
|
...baseBidderRequest,
|
|
@@ -323,7 +323,12 @@ describe('SparteoAdapter', function () {
|
|
|
323
323
|
'price': 5,
|
|
324
324
|
'ext': {
|
|
325
325
|
'prebid': {
|
|
326
|
-
'type': 'video'
|
|
326
|
+
'type': 'video',
|
|
327
|
+
'cache': {
|
|
328
|
+
'vastXml': {
|
|
329
|
+
'url': 'https://pbs.tet.com/cache?uuid=1234'
|
|
330
|
+
}
|
|
331
|
+
}
|
|
327
332
|
}
|
|
328
333
|
},
|
|
329
334
|
'adm': 'tag',
|
|
@@ -368,7 +373,8 @@ describe('SparteoAdapter', function () {
|
|
|
368
373
|
ttl: TTL,
|
|
369
374
|
mediaType: 'video',
|
|
370
375
|
meta: {},
|
|
371
|
-
|
|
376
|
+
nurl: 'https://t.bidder.sparteo.com/img',
|
|
377
|
+
vastUrl: 'https://pbs.tet.com/cache?uuid=1234',
|
|
372
378
|
vastXml: 'tag'
|
|
373
379
|
});
|
|
374
380
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import {expect} from 'chai';
|
|
2
|
-
import {spec, internal, END_POINT_URL, userData} from 'modules/taboolaBidAdapter.js';
|
|
2
|
+
import {spec, internal, END_POINT_URL, userData, EVENT_ENDPOINT} from 'modules/taboolaBidAdapter.js';
|
|
3
3
|
import {config} from '../../../src/config'
|
|
4
4
|
import * as utils from '../../../src/utils'
|
|
5
5
|
import {server} from '../../mocks/xhr'
|
|
@@ -113,6 +113,50 @@ describe('Taboola Adapter', function () {
|
|
|
113
113
|
});
|
|
114
114
|
});
|
|
115
115
|
|
|
116
|
+
describe('onTimeout', function () {
|
|
117
|
+
it('onTimeout exist as a function', () => {
|
|
118
|
+
expect(spec.onTimeout).to.exist.and.to.be.a('function');
|
|
119
|
+
});
|
|
120
|
+
it('should send timeout', function () {
|
|
121
|
+
const timeoutData = [{
|
|
122
|
+
bidder: 'taboola',
|
|
123
|
+
bidId: 'da43860a-4644-442a-b5e0-93f268cf8d19',
|
|
124
|
+
params: [{
|
|
125
|
+
publisherId: 'publisherId'
|
|
126
|
+
}],
|
|
127
|
+
adUnitCode: 'adUnit-code',
|
|
128
|
+
timeout: 3000,
|
|
129
|
+
auctionId: '12a34b56c'
|
|
130
|
+
}]
|
|
131
|
+
spec.onTimeout(timeoutData);
|
|
132
|
+
expect(server.requests[0].method).to.equal('POST');
|
|
133
|
+
expect(server.requests[0].url).to.equal(EVENT_ENDPOINT + '/timeout');
|
|
134
|
+
expect(JSON.parse(server.requests[0].requestBody)).to.deep.equal(timeoutData);
|
|
135
|
+
});
|
|
136
|
+
});
|
|
137
|
+
|
|
138
|
+
describe('onBidderError', function () {
|
|
139
|
+
it('onBidderError exist as a function', () => {
|
|
140
|
+
expect(spec.onBidderError).to.exist.and.to.be.a('function');
|
|
141
|
+
});
|
|
142
|
+
it('should send bidder error', function () {
|
|
143
|
+
const error = {
|
|
144
|
+
status: 204,
|
|
145
|
+
statusText: 'No Content'
|
|
146
|
+
};
|
|
147
|
+
const bidderRequest = {
|
|
148
|
+
bidder: 'taboola',
|
|
149
|
+
params: {
|
|
150
|
+
publisherId: 'publisherId'
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
spec.onBidderError({error, bidderRequest});
|
|
154
|
+
expect(server.requests[0].method).to.equal('POST');
|
|
155
|
+
expect(server.requests[0].url).to.equal(EVENT_ENDPOINT + '/bidError');
|
|
156
|
+
expect(JSON.parse(server.requests[0].requestBody)).to.deep.equal(error, bidderRequest);
|
|
157
|
+
});
|
|
158
|
+
});
|
|
159
|
+
|
|
116
160
|
describe('buildRequests', function () {
|
|
117
161
|
const defaultBidRequest = {
|
|
118
162
|
...createBidRequest(),
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import {expect} from 'chai';
|
|
2
2
|
import {spec, storage} from 'modules/teadsBidAdapter.js';
|
|
3
3
|
import {newBidder} from 'src/adapters/bidderFactory.js';
|
|
4
|
+
import { off } from '../../../src/events';
|
|
4
5
|
|
|
5
6
|
const ENDPOINT = 'https://a.teads.tv/hb/bid-request';
|
|
6
7
|
const AD_SCRIPT = '<script type="text/javascript" class="teads" async="true" src="https://a.teads.tv/hb/getAdSettings"></script>"';
|
|
@@ -254,6 +255,63 @@ describe('teadsBidAdapter', () => {
|
|
|
254
255
|
expect(payload.pageReferrer).to.deep.equal(document.referrer);
|
|
255
256
|
});
|
|
256
257
|
|
|
258
|
+
it('should add screenOrientation info to payload', function () {
|
|
259
|
+
const request = spec.buildRequests(bidRequests, bidderRequestDefault);
|
|
260
|
+
const payload = JSON.parse(request.data);
|
|
261
|
+
const screenOrientation = window.top.screen.orientation?.type
|
|
262
|
+
|
|
263
|
+
if (screenOrientation) {
|
|
264
|
+
expect(payload.screenOrientation).to.exist;
|
|
265
|
+
expect(payload.screenOrientation).to.deep.equal(screenOrientation);
|
|
266
|
+
} else expect(payload.screenOrientation).to.not.exist;
|
|
267
|
+
});
|
|
268
|
+
|
|
269
|
+
it('should add historyLength info to payload', function () {
|
|
270
|
+
const request = spec.buildRequests(bidRequests, bidderRequestDefault);
|
|
271
|
+
const payload = JSON.parse(request.data);
|
|
272
|
+
|
|
273
|
+
expect(payload.historyLength).to.exist;
|
|
274
|
+
expect(payload.historyLength).to.deep.equal(window.top.history.length);
|
|
275
|
+
});
|
|
276
|
+
|
|
277
|
+
it('should add viewportHeight info to payload', function () {
|
|
278
|
+
const request = spec.buildRequests(bidRequests, bidderRequestDefault);
|
|
279
|
+
const payload = JSON.parse(request.data);
|
|
280
|
+
|
|
281
|
+
expect(payload.viewportHeight).to.exist;
|
|
282
|
+
expect(payload.viewportHeight).to.deep.equal(window.top.visualViewport.height);
|
|
283
|
+
});
|
|
284
|
+
|
|
285
|
+
it('should add viewportWidth info to payload', function () {
|
|
286
|
+
const request = spec.buildRequests(bidRequests, bidderRequestDefault);
|
|
287
|
+
const payload = JSON.parse(request.data);
|
|
288
|
+
|
|
289
|
+
expect(payload.viewportWidth).to.exist;
|
|
290
|
+
expect(payload.viewportWidth).to.deep.equal(window.top.visualViewport.width);
|
|
291
|
+
});
|
|
292
|
+
|
|
293
|
+
it('should add hardwareConcurrency info to payload', function () {
|
|
294
|
+
const request = spec.buildRequests(bidRequests, bidderRequestDefault);
|
|
295
|
+
const payload = JSON.parse(request.data);
|
|
296
|
+
const hardwareConcurrency = window.top.navigator?.hardwareConcurrency
|
|
297
|
+
|
|
298
|
+
if (hardwareConcurrency) {
|
|
299
|
+
expect(payload.hardwareConcurrency).to.exist;
|
|
300
|
+
expect(payload.hardwareConcurrency).to.deep.equal(hardwareConcurrency);
|
|
301
|
+
} else expect(payload.hardwareConcurrency).to.not.exist
|
|
302
|
+
});
|
|
303
|
+
|
|
304
|
+
it('should add deviceMemory info to payload', function () {
|
|
305
|
+
const request = spec.buildRequests(bidRequests, bidderRequestDefault);
|
|
306
|
+
const payload = JSON.parse(request.data);
|
|
307
|
+
const deviceMemory = window.top.navigator.deviceMemory
|
|
308
|
+
|
|
309
|
+
if (deviceMemory) {
|
|
310
|
+
expect(payload.deviceMemory).to.exist;
|
|
311
|
+
expect(payload.deviceMemory).to.deep.equal(deviceMemory);
|
|
312
|
+
} else expect(payload.deviceMemory).to.not.exist;
|
|
313
|
+
});
|
|
314
|
+
|
|
257
315
|
describe('pageTitle', function () {
|
|
258
316
|
it('should add pageTitle info to payload based on document title', function () {
|
|
259
317
|
const testText = 'This is a title';
|
|
@@ -446,6 +446,78 @@ describe('TheAdxAdapter', function () {
|
|
|
446
446
|
expect(processedBid.currency).to.equal(responseCurrency);
|
|
447
447
|
});
|
|
448
448
|
|
|
449
|
+
it('returns a valid deal bid response on sucessful banner request with deal', function () {
|
|
450
|
+
let incomingRequestId = 'XXtestingXX';
|
|
451
|
+
let responsePrice = 3.14
|
|
452
|
+
|
|
453
|
+
let responseCreative = 'sample_creative&{FOR_COVARAGE}';
|
|
454
|
+
|
|
455
|
+
let responseCreativeId = '274';
|
|
456
|
+
let responseCurrency = 'TRY';
|
|
457
|
+
|
|
458
|
+
let responseWidth = 300;
|
|
459
|
+
let responseHeight = 250;
|
|
460
|
+
let responseTtl = 213;
|
|
461
|
+
let dealId = 'theadx_deal_id';
|
|
462
|
+
|
|
463
|
+
let sampleResponse = {
|
|
464
|
+
id: '66043f5ca44ecd8f8769093b1615b2d9',
|
|
465
|
+
seatbid: [{
|
|
466
|
+
bid: [{
|
|
467
|
+
id: 'c21bab0e-7668-4d8f-908a-63e094c09197',
|
|
468
|
+
dealid: 'theadx_deal_id',
|
|
469
|
+
impid: '1',
|
|
470
|
+
price: responsePrice,
|
|
471
|
+
adid: responseCreativeId,
|
|
472
|
+
crid: responseCreativeId,
|
|
473
|
+
adm: responseCreative,
|
|
474
|
+
adomain: [
|
|
475
|
+
'www.domain.com'
|
|
476
|
+
],
|
|
477
|
+
cid: '274',
|
|
478
|
+
attr: [],
|
|
479
|
+
w: responseWidth,
|
|
480
|
+
h: responseHeight,
|
|
481
|
+
ext: {
|
|
482
|
+
ttl: responseTtl
|
|
483
|
+
}
|
|
484
|
+
}],
|
|
485
|
+
seat: '201',
|
|
486
|
+
group: 0
|
|
487
|
+
}],
|
|
488
|
+
bidid: 'c21bab0e-7668-4d8f-908a-63e094c09197',
|
|
489
|
+
cur: responseCurrency
|
|
490
|
+
};
|
|
491
|
+
|
|
492
|
+
let sampleRequest = {
|
|
493
|
+
bidId: incomingRequestId,
|
|
494
|
+
mediaTypes: {
|
|
495
|
+
banner: {}
|
|
496
|
+
},
|
|
497
|
+
requestId: incomingRequestId,
|
|
498
|
+
deals: [{id: dealId}]
|
|
499
|
+
};
|
|
500
|
+
let serverResponse = {
|
|
501
|
+
body: sampleResponse
|
|
502
|
+
}
|
|
503
|
+
let result = spec.interpretResponse(serverResponse, sampleRequest);
|
|
504
|
+
|
|
505
|
+
expect(result.length).to.equal(1);
|
|
506
|
+
|
|
507
|
+
let processedBid = result[0];
|
|
508
|
+
|
|
509
|
+
// expect(processedBid.requestId).to.equal(incomingRequestId);
|
|
510
|
+
expect(processedBid.cpm).to.equal(responsePrice);
|
|
511
|
+
expect(processedBid.width).to.equal(responseWidth);
|
|
512
|
+
expect(processedBid.height).to.equal(responseHeight);
|
|
513
|
+
expect(processedBid.ad).to.equal(responseCreative);
|
|
514
|
+
expect(processedBid.ttl).to.equal(responseTtl);
|
|
515
|
+
expect(processedBid.creativeId).to.equal(responseCreativeId);
|
|
516
|
+
expect(processedBid.netRevenue).to.equal(true);
|
|
517
|
+
expect(processedBid.currency).to.equal(responseCurrency);
|
|
518
|
+
expect(processedBid.dealId).to.equal(dealId);
|
|
519
|
+
});
|
|
520
|
+
|
|
449
521
|
it('returns an valid bid response on sucessful video request', function () {
|
|
450
522
|
let incomingRequestId = 'XXtesting-275XX';
|
|
451
523
|
let responsePrice = 6
|
|
@@ -517,7 +517,8 @@ describe('UnrulyAdapter', function () {
|
|
|
517
517
|
'bidderRequestId': '12e00d17dff07b'
|
|
518
518
|
}
|
|
519
519
|
],
|
|
520
|
-
'invalidBidsCount': 0
|
|
520
|
+
'invalidBidsCount': 0,
|
|
521
|
+
'prebidVersion': '$prebid.version$'
|
|
521
522
|
}
|
|
522
523
|
};
|
|
523
524
|
|
|
@@ -591,7 +592,8 @@ describe('UnrulyAdapter', function () {
|
|
|
591
592
|
'bidderRequestId': '12e00d17dff07b',
|
|
592
593
|
}
|
|
593
594
|
],
|
|
594
|
-
'invalidBidsCount': 0
|
|
595
|
+
'invalidBidsCount': 0,
|
|
596
|
+
'prebidVersion': '$prebid.version$'
|
|
595
597
|
}
|
|
596
598
|
};
|
|
597
599
|
|
|
@@ -682,7 +684,8 @@ describe('UnrulyAdapter', function () {
|
|
|
682
684
|
'bidderRequestId': '12e00d17dff07b',
|
|
683
685
|
}
|
|
684
686
|
],
|
|
685
|
-
'invalidBidsCount': 0
|
|
687
|
+
'invalidBidsCount': 0,
|
|
688
|
+
'prebidVersion': '$prebid.version$'
|
|
686
689
|
}
|
|
687
690
|
};
|
|
688
691
|
|
|
@@ -1095,7 +1098,7 @@ describe('UnrulyAdapter', function () {
|
|
|
1095
1098
|
'adUnitCode': 'video2',
|
|
1096
1099
|
'transactionId': 'a89619e3-137d-4cc5-9ed4-58a0b2a0bbc2',
|
|
1097
1100
|
'bidId': bidId,
|
|
1098
|
-
'bidderRequestId': '12e00d17dff07b'
|
|
1101
|
+
'bidderRequestId': '12e00d17dff07b'
|
|
1099
1102
|
}
|
|
1100
1103
|
]
|
|
1101
1104
|
}
|
|
@@ -448,7 +448,25 @@ describe('User ID', function () {
|
|
|
448
448
|
]
|
|
449
449
|
}
|
|
450
450
|
])
|
|
451
|
-
})
|
|
451
|
+
});
|
|
452
|
+
|
|
453
|
+
it('when merging with pubCommonId, should not alter its eids', () => {
|
|
454
|
+
const uid = {
|
|
455
|
+
pubProvidedId: [
|
|
456
|
+
{
|
|
457
|
+
source: 'mock1Source',
|
|
458
|
+
uids: [
|
|
459
|
+
{id: 'uid2'}
|
|
460
|
+
]
|
|
461
|
+
}
|
|
462
|
+
],
|
|
463
|
+
mockId1: 'uid1',
|
|
464
|
+
};
|
|
465
|
+
const eids = createEidsArray(uid);
|
|
466
|
+
expect(eids).to.have.length(1);
|
|
467
|
+
expect(eids[0].uids.map(u => u.id)).to.have.members(['uid1', 'uid2']);
|
|
468
|
+
expect(uid.pubProvidedId[0].uids).to.eql([{id: 'uid2'}]);
|
|
469
|
+
});
|
|
452
470
|
})
|
|
453
471
|
|
|
454
472
|
it('pbjs.getUserIds', function (done) {
|
|
@@ -172,7 +172,7 @@ describe('viantOrtbBidAdapter', function () {
|
|
|
172
172
|
});
|
|
173
173
|
it('sends bid requests to the correct endpoint', function () {
|
|
174
174
|
const url = testBuildRequests(baseBannerBidRequests, baseBidderRequest)[0].url;
|
|
175
|
-
expect(url).to.equal('https://bidders-us-east-1.adelphic.net/d/rtb/v25/prebid/
|
|
175
|
+
expect(url).to.equal('https://bidders-us-east-1.adelphic.net/d/rtb/v25/prebid/bidder');
|
|
176
176
|
});
|
|
177
177
|
|
|
178
178
|
it('sends site', function () {
|
|
@@ -1257,6 +1257,7 @@ describe('VisxAdapter', function () {
|
|
|
1257
1257
|
const request = spec.buildRequests(bidRequests);
|
|
1258
1258
|
const pendingUrl = 'https://t.visx.net/track/pending/123123123';
|
|
1259
1259
|
const winUrl = 'https://t.visx.net/track/win/53245341';
|
|
1260
|
+
const runtimeUrl = 'https://t.visx.net/track/status/12345678';
|
|
1260
1261
|
const expectedResponse = [
|
|
1261
1262
|
{
|
|
1262
1263
|
'requestId': '300bfeb0d71a5b',
|
|
@@ -1281,7 +1282,8 @@ describe('VisxAdapter', function () {
|
|
|
1281
1282
|
'ext': {
|
|
1282
1283
|
'events': {
|
|
1283
1284
|
'pending': pendingUrl,
|
|
1284
|
-
'win': winUrl
|
|
1285
|
+
'win': winUrl,
|
|
1286
|
+
'runtime': runtimeUrl
|
|
1285
1287
|
},
|
|
1286
1288
|
'targeting': {
|
|
1287
1289
|
'hb_visx_product': 'understitial',
|
|
@@ -1298,6 +1300,9 @@ describe('VisxAdapter', function () {
|
|
|
1298
1300
|
pending: pendingUrl,
|
|
1299
1301
|
win: winUrl,
|
|
1300
1302
|
});
|
|
1303
|
+
utils.deepSetValue(serverResponse.bid[0], 'ext.visx.events', {
|
|
1304
|
+
runtime: runtimeUrl
|
|
1305
|
+
});
|
|
1301
1306
|
const result = spec.interpretResponse({'body': {'seatbid': [serverResponse]}}, request);
|
|
1302
1307
|
expect(result).to.deep.equal(expectedResponse);
|
|
1303
1308
|
});
|
|
@@ -1325,6 +1330,39 @@ describe('VisxAdapter', function () {
|
|
|
1325
1330
|
expect(utils.triggerPixel.calledOnceWith(trackUrl)).to.equal(true);
|
|
1326
1331
|
});
|
|
1327
1332
|
|
|
1333
|
+
it('onBidWon with runtime tracker (0 < timeToRespond <= 5000 )', function () {
|
|
1334
|
+
const trackUrl = 'https://t.visx.net/track/win/123123123';
|
|
1335
|
+
const runtimeUrl = 'https://t.visx.net/track/status/12345678/{STATUS_CODE}';
|
|
1336
|
+
const bid = { auctionId: '1', ext: { events: { win: trackUrl, runtime: runtimeUrl } }, timeToRespond: 100 };
|
|
1337
|
+
spec.onBidWon(bid);
|
|
1338
|
+
expect(utils.triggerPixel.calledTwice).to.equal(true);
|
|
1339
|
+
expect(utils.triggerPixel.calledWith(trackUrl)).to.equal(true);
|
|
1340
|
+
expect(utils.triggerPixel.calledWith(runtimeUrl.replace('{STATUS_CODE}', 999002))).to.equal(true);
|
|
1341
|
+
});
|
|
1342
|
+
|
|
1343
|
+
it('onBidWon with runtime tracker (timeToRespond <= 0 )', function () {
|
|
1344
|
+
const runtimeUrl = 'https://t.visx.net/track/status/12345678/{STATUS_CODE}';
|
|
1345
|
+
const bid = { auctionId: '2', ext: { events: { runtime: runtimeUrl } }, timeToRespond: 0 };
|
|
1346
|
+
spec.onBidWon(bid);
|
|
1347
|
+
expect(utils.triggerPixel.calledOnceWith(runtimeUrl.replace('{STATUS_CODE}', 999000))).to.equal(true);
|
|
1348
|
+
});
|
|
1349
|
+
|
|
1350
|
+
it('onBidWon with runtime tracker (timeToRespond > 5000 )', function () {
|
|
1351
|
+
const runtimeUrl = 'https://t.visx.net/track/status/12345678/{STATUS_CODE}';
|
|
1352
|
+
const bid = { auctionId: '3', ext: { events: { runtime: runtimeUrl } }, timeToRespond: 5001 };
|
|
1353
|
+
spec.onBidWon(bid);
|
|
1354
|
+
expect(utils.triggerPixel.calledOnceWith(runtimeUrl.replace('{STATUS_CODE}', 999100))).to.equal(true);
|
|
1355
|
+
});
|
|
1356
|
+
|
|
1357
|
+
it('onBidWon runtime tracker should be called once per auction', function () {
|
|
1358
|
+
const runtimeUrl = 'https://t.visx.net/track/status/12345678/{STATUS_CODE}';
|
|
1359
|
+
const bid1 = { auctionId: '4', ext: { events: { runtime: runtimeUrl } }, timeToRespond: 100 };
|
|
1360
|
+
spec.onBidWon(bid1);
|
|
1361
|
+
const bid2 = { auctionId: '4', ext: { events: { runtime: runtimeUrl } }, timeToRespond: 200 };
|
|
1362
|
+
spec.onBidWon(bid2);
|
|
1363
|
+
expect(utils.triggerPixel.calledOnceWith(runtimeUrl.replace('{STATUS_CODE}', 999002))).to.equal(true);
|
|
1364
|
+
});
|
|
1365
|
+
|
|
1328
1366
|
it('onTimeout', function () {
|
|
1329
1367
|
const data = [{ timeout: 3000, adUnitCode: 'adunit-code-1', auctionId: '1cbd2feafe5e8b', bidder: 'visx', bidId: '23423', params: [{ uid: '1' }] }];
|
|
1330
1368
|
const expectedData = [{ timeout: 3000, params: [{ uid: 1 }] }];
|