prebid.js 7.35.0 → 7.37.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/.devcontainer/Dockerfile +2 -0
- package/dist/33acrossBidAdapter.js +1 -1
- package/dist/33acrossIdSystem.js +1 -1
- package/dist/adagioBidAdapter.js +1 -1
- package/dist/adbookpspBidAdapter.js +1 -1
- package/dist/adgenerationBidAdapter.js +1 -1
- package/dist/admaruBidAdapter.js +1 -1
- package/dist/adrelevantisBidAdapter.js +1 -1
- package/dist/adtrgtmeBidAdapter.js +1 -1
- package/dist/adxcgBidAdapter.js +1 -1
- package/dist/adyoulikeBidAdapter.js +1 -1
- package/dist/aidemBidAdapter.js +1 -1
- package/dist/ajaBidAdapter.js +1 -1
- package/dist/amxBidAdapter.js +1 -1
- package/dist/amxIdSystem.js +1 -1
- package/dist/aolBidAdapter.js +1 -1
- package/dist/appierAnalyticsAdapter.js +1 -1
- package/dist/appnexusBidAdapter.js +1 -1
- package/dist/asoBidAdapter.js +1 -1
- package/dist/audiencerunBidAdapter.js +1 -1
- package/dist/axonixBidAdapter.js +1 -1
- package/dist/bidglassBidAdapter.js +1 -1
- package/dist/big-richmediaBidAdapter.js +1 -1
- package/dist/bluebillywigBidAdapter.js +1 -1
- package/dist/bridgewellBidAdapter.js +1 -1
- package/dist/brightMountainMediaBidAdapter.js +1 -1
- package/dist/brightcomBidAdapter.js +1 -1
- package/dist/brightcomSSPBidAdapter.js +1 -0
- 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/conversantBidAdapter.js +1 -1
- package/dist/craftBidAdapter.js +1 -1
- package/dist/criteoBidAdapter.js +1 -1
- package/dist/cwireBidAdapter.js +1 -1
- package/dist/dependencies.json +3 -0
- package/dist/discoveryBidAdapter.js +1 -1
- package/dist/dspxBidAdapter.js +1 -1
- package/dist/eplanningBidAdapter.js +1 -1
- package/dist/feedadBidAdapter.js +1 -1
- package/dist/finativeBidAdapter.js +1 -1
- package/dist/freewheel-sspBidAdapter.js +1 -1
- package/dist/glimpseBidAdapter.js +1 -1
- package/dist/gmosspBidAdapter.js +1 -1
- package/dist/goldbachBidAdapter.js +1 -1
- package/dist/gridBidAdapter.js +1 -1
- package/dist/gridNMBidAdapter.js +1 -1
- package/dist/gumgumBidAdapter.js +1 -1
- package/dist/h12mediaBidAdapter.js +1 -1
- package/dist/id5IdSystem.js +1 -1
- package/dist/impactifyBidAdapter.js +1 -1
- package/dist/improvedigitalBidAdapter.js +1 -1
- package/dist/incrxBidAdapter.js +1 -1
- package/dist/inmarBidAdapter.js +1 -1
- package/dist/insticatorBidAdapter.js +1 -1
- package/dist/ixBidAdapter.js +1 -1
- package/dist/jixieBidAdapter.js +1 -1
- package/dist/justpremiumBidAdapter.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/limelightDigitalBidAdapter.js +1 -1
- package/dist/liveIntentIdSystem.js +1 -1
- package/dist/livewrappedBidAdapter.js +1 -1
- package/dist/liveyieldAnalyticsAdapter.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/mediakeysBidAdapter.js +1 -1
- package/dist/mediasquareBidAdapter.js +1 -1
- package/dist/mgidBidAdapter.js +1 -1
- package/dist/minutemediaBidAdapter.js +1 -1
- package/dist/minutemediaplusBidAdapter.js +1 -0
- package/dist/neuwoRtdProvider.js +1 -0
- package/dist/nextMillenniumBidAdapter.js +1 -1
- package/dist/nexx360BidAdapter.js +1 -1
- package/dist/not-for-prod/prebid.js +141 -137
- package/dist/oguryBidAdapter.js +1 -1
- package/dist/onetagBidAdapter.js +1 -1
- package/dist/ooloAnalyticsAdapter.js +1 -1
- package/dist/outbrainBidAdapter.js +1 -1
- package/dist/parrableIdSystem.js +1 -1
- package/dist/pixfutureBidAdapter.js +1 -1
- package/dist/prebid-core.js +1 -1
- package/dist/prebidServerBidAdapter.js +1 -1
- package/dist/proxistoreBidAdapter.js +1 -1
- package/dist/publinkIdSystem.js +1 -1
- package/dist/pubmaticBidAdapter.js +1 -1
- package/dist/pubwiseAnalyticsAdapter.js +1 -1
- package/dist/pubxaiAnalyticsAdapter.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/rhythmoneBidAdapter.js +1 -1
- package/dist/riseBidAdapter.js +1 -1
- package/dist/rubiconAnalyticsAdapter.js +1 -1
- package/dist/rubiconBidAdapter.js +1 -1
- package/dist/scatteredBidAdapter.js +1 -0
- 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/sirdataRtdProvider.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/sspBCBidAdapter.js +1 -1
- package/dist/sublimeBidAdapter.js +1 -1
- package/dist/synacormediaBidAdapter.js +1 -1
- package/dist/targetVideoBidAdapter.js +1 -1
- package/dist/teadsBidAdapter.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/userId.js +1 -1
- package/dist/vidazooBidAdapter.js +1 -1
- package/dist/videobyteBidAdapter.js +1 -1
- package/dist/visxBidAdapter.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/integrationExamples/gpt/neuwoRtdProvider_example.html +190 -0
- package/modules/33acrossBidAdapter.js +13 -4
- package/modules/adagioBidAdapter.js +14 -14
- package/modules/adagioBidAdapter.md +3 -1
- package/modules/admaruBidAdapter.js +19 -1
- package/modules/aidemBidAdapter.js +90 -65
- package/modules/aidemBidAdapter.md +10 -7
- package/modules/ajaBidAdapter.js +6 -1
- package/modules/amxIdSystem.md +2 -10
- package/modules/aolBidAdapter.js +1 -1
- package/modules/appnexusBidAdapter.js +45 -48
- package/modules/brightcomBidAdapter.js +1 -0
- package/modules/brightcomSSPBidAdapter.js +323 -0
- package/modules/brightcomSSPBidAdapter.md +46 -0
- package/modules/criteoBidAdapter.js +4 -5
- package/modules/cwireBidAdapter.md +9 -3
- package/modules/discoveryBidAdapter.js +22 -12
- package/modules/feedadBidAdapter.js +35 -15
- package/modules/fpdModule/index.md +5 -2
- package/modules/freewheel-sspBidAdapter.js +5 -1
- package/modules/gridBidAdapter.js +3 -1
- package/modules/incrxBidAdapter.js +2 -0
- package/modules/ixBidAdapter.js +318 -175
- package/modules/kueezRtbBidAdapter.js +54 -20
- package/modules/limelightDigitalBidAdapter.js +6 -1
- package/modules/limelightDigitalBidAdapter.md +12 -2
- package/modules/liveIntentIdSystem.js +1 -1
- package/modules/livewrappedBidAdapter.js +28 -16
- package/modules/mediagoBidAdapter.js +22 -17
- package/modules/minutemediaplusBidAdapter.js +291 -0
- package/modules/minutemediaplusBidAdapter.md +35 -0
- package/modules/neuwoRtdProvider.js +171 -0
- package/modules/neuwoRtdProvider.md +40 -0
- package/modules/nextMillenniumBidAdapter.js +9 -1
- package/modules/nexx360BidAdapter.js +1 -1
- package/modules/prebidServerBidAdapter/ortbConverter.js +6 -0
- package/modules/proxistoreBidAdapter.js +2 -2
- package/modules/pubmaticBidAdapter.js +4 -0
- package/modules/pubxaiAnalyticsAdapter.js +2 -2
- package/modules/scatteredBidAdapter.js +72 -0
- package/modules/scatteredBidAdapter.md +36 -0
- package/modules/sirdataRtdProvider.js +262 -284
- package/modules/smartxBidAdapter.js +2 -0
- package/modules/smilewantedBidAdapter.js +5 -0
- package/modules/sonobiBidAdapter.js +1 -10
- package/modules/topicsFpdModule.md +62 -0
- package/modules/tripleliftBidAdapter.js +4 -0
- package/modules/userId/eids.js +1 -1
- package/modules/vidazooBidAdapter.js +3 -1
- package/modules/yahoosspBidAdapter.js +1 -1
- package/modules/yieldmoBidAdapter.js +1 -0
- package/package.json +2 -2
- package/src/adapterManager.js +30 -14
- package/src/utils.js +1 -1
- package/test/spec/modules/33acrossBidAdapter_spec.js +51 -18
- package/test/spec/modules/adagioBidAdapter_spec.js +2 -2
- package/test/spec/modules/admaruBidAdapter_spec.js +48 -0
- package/test/spec/modules/aidemBidAdapter_spec.js +77 -10
- package/test/spec/modules/ajaBidAdapter_spec.js +21 -1
- package/test/spec/modules/aolBidAdapter_spec.js +2 -2
- package/test/spec/modules/appnexusBidAdapter_spec.js +123 -16
- package/test/spec/modules/brightcomSSPBidAdapter_spec.js +411 -0
- package/test/spec/modules/criteoBidAdapter_spec.js +24 -1
- package/test/spec/modules/eids_spec.js +1 -1
- package/test/spec/modules/feedadBidAdapter_spec.js +47 -77
- package/test/spec/modules/freewheel-sspBidAdapter_spec.js +1 -1
- package/test/spec/modules/incrxBidAdapter_spec.js +4 -0
- package/test/spec/modules/ixBidAdapter_spec.js +24 -54
- package/test/spec/modules/kueezRtbBidAdapter_spec.js +63 -22
- package/test/spec/modules/limelightDigitalBidAdapter_spec.js +35 -5
- package/test/spec/modules/livewrappedBidAdapter_spec.js +267 -2
- package/test/spec/modules/minutemediaplusBidAdapter_spec.js +519 -0
- package/test/spec/modules/neuwoRtdProvider_spec.js +123 -0
- package/test/spec/modules/nextMillenniumBidAdapter_spec.js +11 -0
- package/test/spec/modules/prebidServerBidAdapter_spec.js +56 -0
- package/test/spec/modules/proxistoreBidAdapter_spec.js +2 -2
- package/test/spec/modules/pubmaticBidAdapter_spec.js +15 -0
- package/test/spec/modules/pubxaiAnalyticsAdapter_spec.js +3 -1
- package/test/spec/modules/scatteredBidAdapter_spec.js +210 -0
- package/test/spec/modules/sirdataRtdProvider_spec.js +116 -22
- package/test/spec/modules/smilewantedBidAdapter_spec.js +54 -3
- package/test/spec/modules/sonobiBidAdapter_spec.js +3 -25
- package/test/spec/modules/tripleliftBidAdapter_spec.js +9 -2
- package/test/spec/modules/userId_spec.js +1 -1
- package/test/spec/modules/vidazooBidAdapter_spec.js +4 -1
- package/test/spec/modules/yahoosspBidAdapter_spec.js +1 -1
- package/test/spec/unit/core/adapterManager_spec.js +147 -0
|
@@ -10,7 +10,12 @@ describe('limelightDigitalAdapter', function () {
|
|
|
10
10
|
host: 'exchange.ortb.net',
|
|
11
11
|
adUnitId: 123,
|
|
12
12
|
adUnitType: 'banner',
|
|
13
|
-
publisherId: 'perfectPublisher'
|
|
13
|
+
publisherId: 'perfectPublisher',
|
|
14
|
+
custom1: 'custom1',
|
|
15
|
+
custom2: 'custom2',
|
|
16
|
+
custom3: 'custom3',
|
|
17
|
+
custom4: 'custom4',
|
|
18
|
+
custom5: 'custom5'
|
|
14
19
|
},
|
|
15
20
|
placementCode: 'placement_0',
|
|
16
21
|
auctionId: '74f78609-a92d-4cf1-869f-1b244bbfb5d2',
|
|
@@ -49,7 +54,12 @@ describe('limelightDigitalAdapter', function () {
|
|
|
49
54
|
params: {
|
|
50
55
|
host: 'ads.project-limelight.com',
|
|
51
56
|
adUnitId: 456,
|
|
52
|
-
adUnitType: 'banner'
|
|
57
|
+
adUnitType: 'banner',
|
|
58
|
+
custom1: 'custom1',
|
|
59
|
+
custom2: 'custom2',
|
|
60
|
+
custom3: 'custom3',
|
|
61
|
+
custom4: 'custom4',
|
|
62
|
+
custom5: 'custom5'
|
|
53
63
|
},
|
|
54
64
|
placementCode: 'placement_1',
|
|
55
65
|
auctionId: '482f88de-29ab-45c8-981a-d25e39454a34',
|
|
@@ -90,7 +100,12 @@ describe('limelightDigitalAdapter', function () {
|
|
|
90
100
|
host: 'exchange.ortb.net',
|
|
91
101
|
adUnitId: 789,
|
|
92
102
|
adUnitType: 'video',
|
|
93
|
-
publisherId: 'secondPerfectPublisher'
|
|
103
|
+
publisherId: 'secondPerfectPublisher',
|
|
104
|
+
custom1: 'custom1',
|
|
105
|
+
custom2: 'custom2',
|
|
106
|
+
custom3: 'custom3',
|
|
107
|
+
custom4: 'custom4',
|
|
108
|
+
custom5: 'custom5'
|
|
94
109
|
},
|
|
95
110
|
placementCode: 'placement_2',
|
|
96
111
|
auctionId: 'e4771143-6aa7-41ec-8824-ced4342c96c8',
|
|
@@ -128,7 +143,12 @@ describe('limelightDigitalAdapter', function () {
|
|
|
128
143
|
params: {
|
|
129
144
|
host: 'exchange.ortb.net',
|
|
130
145
|
adUnitId: 789,
|
|
131
|
-
adUnitType: 'video'
|
|
146
|
+
adUnitType: 'video',
|
|
147
|
+
custom1: 'custom1',
|
|
148
|
+
custom2: 'custom2',
|
|
149
|
+
custom3: 'custom3',
|
|
150
|
+
custom4: 'custom4',
|
|
151
|
+
custom5: 'custom5'
|
|
132
152
|
},
|
|
133
153
|
placementCode: 'placement_2',
|
|
134
154
|
auctionId: 'e4771143-6aa7-41ec-8824-ced4342c96c8',
|
|
@@ -196,7 +216,12 @@ describe('limelightDigitalAdapter', function () {
|
|
|
196
216
|
'transactionId',
|
|
197
217
|
'publisherId',
|
|
198
218
|
'userIdAsEids',
|
|
199
|
-
'supplyChain'
|
|
219
|
+
'supplyChain',
|
|
220
|
+
'custom1',
|
|
221
|
+
'custom2',
|
|
222
|
+
'custom3',
|
|
223
|
+
'custom4',
|
|
224
|
+
'custom5'
|
|
200
225
|
);
|
|
201
226
|
expect(adUnit.id).to.be.a('number');
|
|
202
227
|
expect(adUnit.bidId).to.be.a('string');
|
|
@@ -205,6 +230,11 @@ describe('limelightDigitalAdapter', function () {
|
|
|
205
230
|
expect(adUnit.sizes).to.be.an('array');
|
|
206
231
|
expect(adUnit.userIdAsEids).to.be.an('array');
|
|
207
232
|
expect(adUnit.supplyChain).to.be.an('object');
|
|
233
|
+
expect(adUnit.custom1).to.be.a('string');
|
|
234
|
+
expect(adUnit.custom2).to.be.a('string');
|
|
235
|
+
expect(adUnit.custom3).to.be.a('string');
|
|
236
|
+
expect(adUnit.custom4).to.be.a('string');
|
|
237
|
+
expect(adUnit.custom5).to.be.a('string');
|
|
208
238
|
})
|
|
209
239
|
})
|
|
210
240
|
})
|
|
@@ -13,6 +13,10 @@ describe('Livewrapped adapter tests', function () {
|
|
|
13
13
|
|
|
14
14
|
window.livewrapped = undefined;
|
|
15
15
|
|
|
16
|
+
config.setConfig({
|
|
17
|
+
device: { w: 100, h: 100 }
|
|
18
|
+
});
|
|
19
|
+
|
|
16
20
|
bidderRequest = {
|
|
17
21
|
bidderCode: 'livewrapped',
|
|
18
22
|
auctionId: 'c45dd708-a418-42ec-b8a7-b70a6c6fab0a',
|
|
@@ -43,6 +47,7 @@ describe('Livewrapped adapter tests', function () {
|
|
|
43
47
|
|
|
44
48
|
afterEach(function () {
|
|
45
49
|
sandbox.restore();
|
|
50
|
+
config.resetConfig();
|
|
46
51
|
});
|
|
47
52
|
|
|
48
53
|
describe('isBidRequestValid', function() {
|
|
@@ -351,7 +356,7 @@ describe('Livewrapped adapter tests', function () {
|
|
|
351
356
|
expect(data).to.deep.equal(expectedQuery);
|
|
352
357
|
});
|
|
353
358
|
|
|
354
|
-
it('should make a well-formed single request object with ad blocker
|
|
359
|
+
it('should make a well-formed single request object with ad blocker recovered parameter', function() {
|
|
355
360
|
sandbox.stub(utils, 'getWindowTop').returns({ I12C: { Morph: 1 } });
|
|
356
361
|
sandbox.stub(utils, 'isSafariBrowser').callsFake(() => false);
|
|
357
362
|
sandbox.stub(storage, 'cookiesAreEnabled').callsFake(() => true);
|
|
@@ -489,7 +494,7 @@ describe('Livewrapped adapter tests', function () {
|
|
|
489
494
|
return {bundle: 'bundle', domain: 'https://appdomain.com'};
|
|
490
495
|
}
|
|
491
496
|
if (key === 'device') {
|
|
492
|
-
return {ifa: 'ifa',
|
|
497
|
+
return {ifa: 'ifa', w: 300, h: 200};
|
|
493
498
|
}
|
|
494
499
|
return origGetConfig.apply(config, arguments);
|
|
495
500
|
});
|
|
@@ -839,6 +844,266 @@ describe('Livewrapped adapter tests', function () {
|
|
|
839
844
|
|
|
840
845
|
expect(data).to.deep.equal(expectedQuery);
|
|
841
846
|
});
|
|
847
|
+
|
|
848
|
+
it('width and height should default to values from window when not set in config', function() {
|
|
849
|
+
sandbox.stub(utils, 'isSafariBrowser').callsFake(() => false);
|
|
850
|
+
sandbox.stub(storage, 'cookiesAreEnabled').callsFake(() => true);
|
|
851
|
+
|
|
852
|
+
config.resetConfig();
|
|
853
|
+
|
|
854
|
+
let testbidRequest = clone(bidderRequest);
|
|
855
|
+
let result = spec.buildRequests(testbidRequest.bids, testbidRequest);
|
|
856
|
+
let data = JSON.parse(result.data);
|
|
857
|
+
|
|
858
|
+
expect(result.url).to.equal('https://lwadm.com/ad');
|
|
859
|
+
|
|
860
|
+
let expectedQuery = {
|
|
861
|
+
auctionId: 'F7557995-65F5-4682-8782-7D5D34D82A8C',
|
|
862
|
+
publisherId: '26947112-2289-405D-88C1-A7340C57E63E',
|
|
863
|
+
userId: 'user id',
|
|
864
|
+
url: 'https://www.domain.com',
|
|
865
|
+
seats: {'dsp': ['seat 1']},
|
|
866
|
+
version: '1.4',
|
|
867
|
+
width: window.innerWidth,
|
|
868
|
+
height: window.innerHeight,
|
|
869
|
+
cookieSupport: true,
|
|
870
|
+
adRequests: [{
|
|
871
|
+
adUnitId: '9E153CED-61BC-479E-98DF-24DC0D01BA37',
|
|
872
|
+
callerAdUnitId: 'panorama_d_1',
|
|
873
|
+
bidId: '2ffb201a808da7',
|
|
874
|
+
transactionId: '3D1C8CF7-D288-4D7F-8ADD-97C553056C3D',
|
|
875
|
+
formats: [{width: 980, height: 240}, {width: 980, height: 120}]
|
|
876
|
+
}]
|
|
877
|
+
};
|
|
878
|
+
|
|
879
|
+
expect(data).to.deep.equal(expectedQuery);
|
|
880
|
+
});
|
|
881
|
+
});
|
|
882
|
+
|
|
883
|
+
describe('price floors module', function() {
|
|
884
|
+
it('price floors module disabled', function() {
|
|
885
|
+
sandbox.stub(utils, 'isSafariBrowser').callsFake(() => false);
|
|
886
|
+
sandbox.stub(storage, 'cookiesAreEnabled').callsFake(() => true);
|
|
887
|
+
|
|
888
|
+
let testbidRequest = clone(bidderRequest);
|
|
889
|
+
let result = spec.buildRequests(testbidRequest.bids, testbidRequest);
|
|
890
|
+
let data = JSON.parse(result.data);
|
|
891
|
+
|
|
892
|
+
expect(result.url).to.equal('https://lwadm.com/ad');
|
|
893
|
+
|
|
894
|
+
let expectedQuery = {
|
|
895
|
+
auctionId: 'F7557995-65F5-4682-8782-7D5D34D82A8C',
|
|
896
|
+
publisherId: '26947112-2289-405D-88C1-A7340C57E63E',
|
|
897
|
+
userId: 'user id',
|
|
898
|
+
url: 'https://www.domain.com',
|
|
899
|
+
seats: {'dsp': ['seat 1']},
|
|
900
|
+
version: '1.4',
|
|
901
|
+
width: 100,
|
|
902
|
+
height: 100,
|
|
903
|
+
cookieSupport: true,
|
|
904
|
+
adRequests: [{
|
|
905
|
+
adUnitId: '9E153CED-61BC-479E-98DF-24DC0D01BA37',
|
|
906
|
+
callerAdUnitId: 'panorama_d_1',
|
|
907
|
+
bidId: '2ffb201a808da7',
|
|
908
|
+
transactionId: '3D1C8CF7-D288-4D7F-8ADD-97C553056C3D',
|
|
909
|
+
formats: [{width: 980, height: 240}, {width: 980, height: 120}]
|
|
910
|
+
}]
|
|
911
|
+
};
|
|
912
|
+
|
|
913
|
+
expect(data).to.deep.equal(expectedQuery);
|
|
914
|
+
});
|
|
915
|
+
|
|
916
|
+
it('getFloor does not return an object', function() {
|
|
917
|
+
sandbox.stub(utils, 'isSafariBrowser').callsFake(() => false);
|
|
918
|
+
sandbox.stub(storage, 'cookiesAreEnabled').callsFake(() => true);
|
|
919
|
+
|
|
920
|
+
let testbidRequest = clone(bidderRequest);
|
|
921
|
+
let bids = testbidRequest.bids.map(b => {
|
|
922
|
+
b.getFloor = function () { return undefined; }
|
|
923
|
+
return b;
|
|
924
|
+
});
|
|
925
|
+
let result = spec.buildRequests(bids, testbidRequest);
|
|
926
|
+
let data = JSON.parse(result.data);
|
|
927
|
+
|
|
928
|
+
expect(result.url).to.equal('https://lwadm.com/ad');
|
|
929
|
+
|
|
930
|
+
let expectedQuery = {
|
|
931
|
+
auctionId: 'F7557995-65F5-4682-8782-7D5D34D82A8C',
|
|
932
|
+
publisherId: '26947112-2289-405D-88C1-A7340C57E63E',
|
|
933
|
+
userId: 'user id',
|
|
934
|
+
url: 'https://www.domain.com',
|
|
935
|
+
seats: {'dsp': ['seat 1']},
|
|
936
|
+
version: '1.4',
|
|
937
|
+
width: 100,
|
|
938
|
+
height: 100,
|
|
939
|
+
cookieSupport: true,
|
|
940
|
+
adRequests: [{
|
|
941
|
+
adUnitId: '9E153CED-61BC-479E-98DF-24DC0D01BA37',
|
|
942
|
+
callerAdUnitId: 'panorama_d_1',
|
|
943
|
+
bidId: '2ffb201a808da7',
|
|
944
|
+
transactionId: '3D1C8CF7-D288-4D7F-8ADD-97C553056C3D',
|
|
945
|
+
formats: [{width: 980, height: 240}, {width: 980, height: 120}]
|
|
946
|
+
}]
|
|
947
|
+
};
|
|
948
|
+
|
|
949
|
+
expect(data).to.deep.equal(expectedQuery);
|
|
950
|
+
});
|
|
951
|
+
|
|
952
|
+
it('getFloor returns a NaN floor', function() {
|
|
953
|
+
sandbox.stub(utils, 'isSafariBrowser').callsFake(() => false);
|
|
954
|
+
sandbox.stub(storage, 'cookiesAreEnabled').callsFake(() => true);
|
|
955
|
+
|
|
956
|
+
let testbidRequest = clone(bidderRequest);
|
|
957
|
+
let bids = testbidRequest.bids.map(b => {
|
|
958
|
+
b.getFloor = function () { return { floor: undefined }; }
|
|
959
|
+
return b;
|
|
960
|
+
});
|
|
961
|
+
let result = spec.buildRequests(bids, testbidRequest);
|
|
962
|
+
let data = JSON.parse(result.data);
|
|
963
|
+
|
|
964
|
+
expect(result.url).to.equal('https://lwadm.com/ad');
|
|
965
|
+
|
|
966
|
+
let expectedQuery = {
|
|
967
|
+
auctionId: 'F7557995-65F5-4682-8782-7D5D34D82A8C',
|
|
968
|
+
publisherId: '26947112-2289-405D-88C1-A7340C57E63E',
|
|
969
|
+
userId: 'user id',
|
|
970
|
+
url: 'https://www.domain.com',
|
|
971
|
+
seats: {'dsp': ['seat 1']},
|
|
972
|
+
version: '1.4',
|
|
973
|
+
width: 100,
|
|
974
|
+
height: 100,
|
|
975
|
+
cookieSupport: true,
|
|
976
|
+
adRequests: [{
|
|
977
|
+
adUnitId: '9E153CED-61BC-479E-98DF-24DC0D01BA37',
|
|
978
|
+
callerAdUnitId: 'panorama_d_1',
|
|
979
|
+
bidId: '2ffb201a808da7',
|
|
980
|
+
transactionId: '3D1C8CF7-D288-4D7F-8ADD-97C553056C3D',
|
|
981
|
+
formats: [{width: 980, height: 240}, {width: 980, height: 120}]
|
|
982
|
+
}]
|
|
983
|
+
};
|
|
984
|
+
|
|
985
|
+
expect(data).to.deep.equal(expectedQuery);
|
|
986
|
+
});
|
|
987
|
+
|
|
988
|
+
it('getFloor returns unexpected currency', function() {
|
|
989
|
+
sandbox.stub(utils, 'isSafariBrowser').callsFake(() => false);
|
|
990
|
+
sandbox.stub(storage, 'cookiesAreEnabled').callsFake(() => true);
|
|
991
|
+
|
|
992
|
+
let testbidRequest = clone(bidderRequest);
|
|
993
|
+
let bids = testbidRequest.bids.map(b => {
|
|
994
|
+
b.getFloor = function () { return { floor: 10, currency: 'EUR' }; }
|
|
995
|
+
return b;
|
|
996
|
+
});
|
|
997
|
+
let result = spec.buildRequests(bids, testbidRequest);
|
|
998
|
+
let data = JSON.parse(result.data);
|
|
999
|
+
|
|
1000
|
+
expect(result.url).to.equal('https://lwadm.com/ad');
|
|
1001
|
+
|
|
1002
|
+
let expectedQuery = {
|
|
1003
|
+
auctionId: 'F7557995-65F5-4682-8782-7D5D34D82A8C',
|
|
1004
|
+
publisherId: '26947112-2289-405D-88C1-A7340C57E63E',
|
|
1005
|
+
userId: 'user id',
|
|
1006
|
+
url: 'https://www.domain.com',
|
|
1007
|
+
seats: {'dsp': ['seat 1']},
|
|
1008
|
+
version: '1.4',
|
|
1009
|
+
width: 100,
|
|
1010
|
+
height: 100,
|
|
1011
|
+
cookieSupport: true,
|
|
1012
|
+
adRequests: [{
|
|
1013
|
+
adUnitId: '9E153CED-61BC-479E-98DF-24DC0D01BA37',
|
|
1014
|
+
callerAdUnitId: 'panorama_d_1',
|
|
1015
|
+
bidId: '2ffb201a808da7',
|
|
1016
|
+
transactionId: '3D1C8CF7-D288-4D7F-8ADD-97C553056C3D',
|
|
1017
|
+
formats: [{width: 980, height: 240}, {width: 980, height: 120}]
|
|
1018
|
+
}]
|
|
1019
|
+
};
|
|
1020
|
+
|
|
1021
|
+
expect(data).to.deep.equal(expectedQuery);
|
|
1022
|
+
});
|
|
1023
|
+
|
|
1024
|
+
it('getFloor returns valid floor - ad server currency', function() {
|
|
1025
|
+
sandbox.stub(utils, 'isSafariBrowser').callsFake(() => false);
|
|
1026
|
+
sandbox.stub(storage, 'cookiesAreEnabled').callsFake(() => true);
|
|
1027
|
+
|
|
1028
|
+
let origGetConfig = config.getConfig;
|
|
1029
|
+
sandbox.stub(config, 'getConfig').callsFake(function (key) {
|
|
1030
|
+
if (key === 'currency.adServerCurrency') {
|
|
1031
|
+
return 'EUR';
|
|
1032
|
+
}
|
|
1033
|
+
return origGetConfig.apply(config, arguments);
|
|
1034
|
+
});
|
|
1035
|
+
|
|
1036
|
+
let testbidRequest = clone(bidderRequest);
|
|
1037
|
+
let bids = testbidRequest.bids.map(b => {
|
|
1038
|
+
b.getFloor = function () { return { floor: 10, currency: 'EUR' }; }
|
|
1039
|
+
return b;
|
|
1040
|
+
});
|
|
1041
|
+
let result = spec.buildRequests(bids, testbidRequest);
|
|
1042
|
+
let data = JSON.parse(result.data);
|
|
1043
|
+
|
|
1044
|
+
expect(result.url).to.equal('https://lwadm.com/ad');
|
|
1045
|
+
|
|
1046
|
+
let expectedQuery = {
|
|
1047
|
+
auctionId: 'F7557995-65F5-4682-8782-7D5D34D82A8C',
|
|
1048
|
+
publisherId: '26947112-2289-405D-88C1-A7340C57E63E',
|
|
1049
|
+
userId: 'user id',
|
|
1050
|
+
url: 'https://www.domain.com',
|
|
1051
|
+
seats: {'dsp': ['seat 1']},
|
|
1052
|
+
version: '1.4',
|
|
1053
|
+
width: 100,
|
|
1054
|
+
height: 100,
|
|
1055
|
+
cookieSupport: true,
|
|
1056
|
+
flrCur: 'EUR',
|
|
1057
|
+
adRequests: [{
|
|
1058
|
+
adUnitId: '9E153CED-61BC-479E-98DF-24DC0D01BA37',
|
|
1059
|
+
callerAdUnitId: 'panorama_d_1',
|
|
1060
|
+
bidId: '2ffb201a808da7',
|
|
1061
|
+
transactionId: '3D1C8CF7-D288-4D7F-8ADD-97C553056C3D',
|
|
1062
|
+
formats: [{width: 980, height: 240}, {width: 980, height: 120}],
|
|
1063
|
+
flr: 10
|
|
1064
|
+
}]
|
|
1065
|
+
};
|
|
1066
|
+
|
|
1067
|
+
expect(data).to.deep.equal(expectedQuery);
|
|
1068
|
+
});
|
|
1069
|
+
|
|
1070
|
+
it('getFloor returns valid floor - default currency', function() {
|
|
1071
|
+
sandbox.stub(utils, 'isSafariBrowser').callsFake(() => false);
|
|
1072
|
+
sandbox.stub(storage, 'cookiesAreEnabled').callsFake(() => true);
|
|
1073
|
+
|
|
1074
|
+
let testbidRequest = clone(bidderRequest);
|
|
1075
|
+
let bids = testbidRequest.bids.map(b => {
|
|
1076
|
+
b.getFloor = function () { return { floor: 10, currency: 'USD' }; }
|
|
1077
|
+
return b;
|
|
1078
|
+
});
|
|
1079
|
+
let result = spec.buildRequests(bids, testbidRequest);
|
|
1080
|
+
let data = JSON.parse(result.data);
|
|
1081
|
+
|
|
1082
|
+
expect(result.url).to.equal('https://lwadm.com/ad');
|
|
1083
|
+
|
|
1084
|
+
let expectedQuery = {
|
|
1085
|
+
auctionId: 'F7557995-65F5-4682-8782-7D5D34D82A8C',
|
|
1086
|
+
publisherId: '26947112-2289-405D-88C1-A7340C57E63E',
|
|
1087
|
+
userId: 'user id',
|
|
1088
|
+
url: 'https://www.domain.com',
|
|
1089
|
+
seats: {'dsp': ['seat 1']},
|
|
1090
|
+
version: '1.4',
|
|
1091
|
+
width: 100,
|
|
1092
|
+
height: 100,
|
|
1093
|
+
cookieSupport: true,
|
|
1094
|
+
flrCur: 'USD',
|
|
1095
|
+
adRequests: [{
|
|
1096
|
+
adUnitId: '9E153CED-61BC-479E-98DF-24DC0D01BA37',
|
|
1097
|
+
callerAdUnitId: 'panorama_d_1',
|
|
1098
|
+
bidId: '2ffb201a808da7',
|
|
1099
|
+
transactionId: '3D1C8CF7-D288-4D7F-8ADD-97C553056C3D',
|
|
1100
|
+
formats: [{width: 980, height: 240}, {width: 980, height: 120}],
|
|
1101
|
+
flr: 10
|
|
1102
|
+
}]
|
|
1103
|
+
};
|
|
1104
|
+
|
|
1105
|
+
expect(data).to.deep.equal(expectedQuery);
|
|
1106
|
+
});
|
|
842
1107
|
});
|
|
843
1108
|
|
|
844
1109
|
it('should make use of user ids if available', function() {
|