prebid.js 7.24.0 → 7.25.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/33acrossBidAdapter.js +1 -1
- package/dist/adagioBidAdapter.js +1 -1
- package/dist/adbookpspBidAdapter.js +1 -1
- package/dist/adgenerationBidAdapter.js +1 -1
- package/dist/adrelevantisBidAdapter.js +1 -1
- package/dist/adtrgtmeBidAdapter.js +1 -1
- package/dist/adxcgBidAdapter.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/bridgewellBidAdapter.js +1 -1
- package/dist/brightMountainMediaBidAdapter.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/conversantBidAdapter.js +1 -1
- package/dist/craftBidAdapter.js +1 -1
- package/dist/criteoBidAdapter.js +1 -1
- package/dist/dspxBidAdapter.js +1 -1
- package/dist/eplanningBidAdapter.js +1 -1
- package/dist/finativeBidAdapter.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/improvedigitalBidAdapter.js +1 -1
- package/dist/inmarBidAdapter.js +1 -1
- package/dist/insticatorBidAdapter.js +1 -1
- package/dist/ixBidAdapter.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/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/mediasquareBidAdapter.js +1 -1
- package/dist/mgidBidAdapter.js +1 -1
- package/dist/microadBidAdapter.js +1 -1
- package/dist/minutemediaBidAdapter.js +1 -1
- package/dist/nextMillenniumBidAdapter.js +1 -1
- package/dist/not-for-prod/prebid.js +112 -112
- 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/publinkIdSystem.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/rhythmoneBidAdapter.js +1 -1
- package/dist/riseBidAdapter.js +1 -1
- package/dist/rubiconAnalyticsAdapter.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/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/underdogmediaBidAdapter.js +1 -1
- package/dist/undertoneBidAdapter.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/modules/adagioBidAdapter.js +1 -1
- package/modules/concertBidAdapter.js +17 -3
- package/modules/conversantAnalyticsAdapter.md +12 -13
- package/modules/conversantBidAdapter.md +3 -3
- package/modules/kargoBidAdapter.js +14 -8
- package/modules/magniteAnalyticsAdapter.js +1 -1
- package/modules/microadBidAdapter.js +22 -11
- package/modules/nextMillenniumBidAdapter.js +1 -1
- package/modules/oguryBidAdapter.js +5 -2
- package/modules/pubmaticBidAdapter.js +1 -1
- package/modules/seedtagBidAdapter.js +9 -4
- package/modules/vidazooBidAdapter.js +14 -1
- package/modules/yieldmoBidAdapter.js +22 -8
- package/package.json +1 -1
- package/test/spec/modules/adagioBidAdapter_spec.js +2 -2
- package/test/spec/modules/concertBidAdapter_spec.js +26 -15
- package/test/spec/modules/kargoBidAdapter_spec.js +76 -4
- package/test/spec/modules/magniteAnalyticsAdapter_spec.js +20 -0
- package/test/spec/modules/microadBidAdapter_spec.js +48 -0
- package/test/spec/modules/oguryBidAdapter_spec.js +27 -5
- package/test/spec/modules/pubmaticBidAdapter_spec.js +2 -2
- package/test/spec/modules/seedtagBidAdapter_spec.js +34 -10
- package/test/spec/modules/vidazooBidAdapter_spec.js +1 -0
- package/test/spec/modules/yieldmoBidAdapter_spec.js +3 -4
|
@@ -69,7 +69,33 @@ describe('kargo adapter tests', function () {
|
|
|
69
69
|
userId: {
|
|
70
70
|
tdid: 'fake-tdid'
|
|
71
71
|
},
|
|
72
|
-
sizes: [[320, 50], [300, 250], [300, 600]]
|
|
72
|
+
sizes: [[320, 50], [300, 250], [300, 600]],
|
|
73
|
+
ortb2: {
|
|
74
|
+
device: {
|
|
75
|
+
sua: {
|
|
76
|
+
platform: {
|
|
77
|
+
brand: 'macOS',
|
|
78
|
+
version: [ '12', '6', '0' ]
|
|
79
|
+
},
|
|
80
|
+
browsers: [
|
|
81
|
+
{
|
|
82
|
+
brand: 'Chromium',
|
|
83
|
+
version: [ '106', '0', '5249', '119' ]
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
brand: 'Google Chrome',
|
|
87
|
+
version: [ '106', '0', '5249', '119' ]
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
brand: 'Not;A=Brand',
|
|
91
|
+
version: [ '99', '0', '0', '0' ]
|
|
92
|
+
}
|
|
93
|
+
],
|
|
94
|
+
mobile: 0,
|
|
95
|
+
model: ''
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
73
99
|
},
|
|
74
100
|
{
|
|
75
101
|
params: {
|
|
@@ -259,6 +285,28 @@ describe('kargo adapter tests', function () {
|
|
|
259
285
|
device: {
|
|
260
286
|
width: screen.width,
|
|
261
287
|
height: screen.height,
|
|
288
|
+
sua: {
|
|
289
|
+
platform: {
|
|
290
|
+
brand: 'macOS',
|
|
291
|
+
version: [ '12', '6', '0' ]
|
|
292
|
+
},
|
|
293
|
+
browsers: [
|
|
294
|
+
{
|
|
295
|
+
brand: 'Chromium',
|
|
296
|
+
version: [ '106', '0', '5249', '119' ]
|
|
297
|
+
},
|
|
298
|
+
{
|
|
299
|
+
brand: 'Google Chrome',
|
|
300
|
+
version: [ '106', '0', '5249', '119' ]
|
|
301
|
+
},
|
|
302
|
+
{
|
|
303
|
+
brand: 'Not;A=Brand',
|
|
304
|
+
version: [ '99', '0', '0', '0' ]
|
|
305
|
+
}
|
|
306
|
+
],
|
|
307
|
+
mobile: 0,
|
|
308
|
+
model: '',
|
|
309
|
+
},
|
|
262
310
|
},
|
|
263
311
|
userIDs: {
|
|
264
312
|
kargoID: '5f108831-302d-11e7-bf6b-4595acd3bf6c',
|
|
@@ -280,13 +328,39 @@ describe('kargo adapter tests', function () {
|
|
|
280
328
|
prebidRawBidRequests: [
|
|
281
329
|
{
|
|
282
330
|
bidId: 1,
|
|
331
|
+
ortb2: {
|
|
332
|
+
device: {
|
|
333
|
+
sua: {
|
|
334
|
+
platform: {
|
|
335
|
+
brand: 'macOS',
|
|
336
|
+
version: [ '12', '6', '0' ]
|
|
337
|
+
},
|
|
338
|
+
browsers: [
|
|
339
|
+
{
|
|
340
|
+
brand: 'Chromium',
|
|
341
|
+
version: [ '106', '0', '5249', '119' ]
|
|
342
|
+
},
|
|
343
|
+
{
|
|
344
|
+
brand: 'Google Chrome',
|
|
345
|
+
version: [ '106', '0', '5249', '119' ]
|
|
346
|
+
},
|
|
347
|
+
{
|
|
348
|
+
brand: 'Not;A=Brand',
|
|
349
|
+
version: [ '99', '0', '0', '0' ]
|
|
350
|
+
}
|
|
351
|
+
],
|
|
352
|
+
mobile: 0,
|
|
353
|
+
model: ''
|
|
354
|
+
}
|
|
355
|
+
}
|
|
356
|
+
},
|
|
283
357
|
params: {
|
|
284
358
|
placementId: 'foo'
|
|
285
359
|
},
|
|
286
360
|
userId: {
|
|
287
361
|
tdid: 'fake-tdid'
|
|
288
362
|
},
|
|
289
|
-
sizes: [[320, 50], [300, 250], [300, 600]]
|
|
363
|
+
sizes: [[320, 50], [300, 250], [300, 600]],
|
|
290
364
|
},
|
|
291
365
|
{
|
|
292
366
|
bidId: 2,
|
|
@@ -330,7 +404,6 @@ describe('kargo adapter tests', function () {
|
|
|
330
404
|
var payload = {
|
|
331
405
|
timeout: 200,
|
|
332
406
|
uspConsent: '1---',
|
|
333
|
-
foo: 'bar',
|
|
334
407
|
refererInfo: {
|
|
335
408
|
page: 'https://www.prebid.org',
|
|
336
409
|
},
|
|
@@ -349,7 +422,6 @@ describe('kargo adapter tests', function () {
|
|
|
349
422
|
expect(request.method).to.equal('GET');
|
|
350
423
|
expect(request.currency).to.equal('USD');
|
|
351
424
|
expect(request.timeout).to.equal(200);
|
|
352
|
-
expect(request.foo).to.equal('bar');
|
|
353
425
|
expect(krakenParams).to.deep.equal(expected);
|
|
354
426
|
// Make sure session ID stays the same across requests simulating multiple auctions on one page load
|
|
355
427
|
for (let i in sessionIds) {
|
|
@@ -548,6 +548,26 @@ describe('magnite analytics adapter', function () {
|
|
|
548
548
|
]);
|
|
549
549
|
});
|
|
550
550
|
|
|
551
|
+
it('should pass along 1x1 size if no sizes in adUnit', function () {
|
|
552
|
+
const auctionInit = utils.deepClone(MOCK.AUCTION_INIT);
|
|
553
|
+
|
|
554
|
+
delete auctionInit.adUnits[0].sizes;
|
|
555
|
+
|
|
556
|
+
events.emit(AUCTION_INIT, auctionInit);
|
|
557
|
+
events.emit(BID_REQUESTED, MOCK.BID_REQUESTED);
|
|
558
|
+
events.emit(BIDDER_DONE, MOCK.BIDDER_DONE);
|
|
559
|
+
events.emit(AUCTION_END, MOCK.AUCTION_END);
|
|
560
|
+
clock.tick(rubiConf.analyticsBatchTimeout + 1000);
|
|
561
|
+
|
|
562
|
+
let message = JSON.parse(server.requests[0].requestBody);
|
|
563
|
+
expect(message.auctions[0].adUnits[0].dimensions).to.deep.equal([
|
|
564
|
+
{
|
|
565
|
+
width: 1,
|
|
566
|
+
height: 1
|
|
567
|
+
}
|
|
568
|
+
]);
|
|
569
|
+
});
|
|
570
|
+
|
|
551
571
|
it('should pass along user ids', function () {
|
|
552
572
|
let auctionInit = utils.deepClone(MOCK.AUCTION_INIT);
|
|
553
573
|
auctionInit.bidderRequests[0].bids[0].userId = {
|
|
@@ -330,6 +330,54 @@ describe('microadBidAdapter', () => {
|
|
|
330
330
|
})
|
|
331
331
|
})
|
|
332
332
|
})
|
|
333
|
+
|
|
334
|
+
Object.entries({
|
|
335
|
+
'ID5 ID': {
|
|
336
|
+
userId: {id5id: {uid: 'id5id-sample'}},
|
|
337
|
+
userIdAsEids: [
|
|
338
|
+
{
|
|
339
|
+
source: 'id5-sync.com',
|
|
340
|
+
uids: [{id: 'id5id-sample', aType: 1, ext: {linkType: 2, abTestingControlGroup: false}}]
|
|
341
|
+
}
|
|
342
|
+
],
|
|
343
|
+
expected: {
|
|
344
|
+
aids: JSON.stringify([{type: 8, id: 'id5id-sample', ext: {linkType: 2, abTestingControlGroup: false}}])
|
|
345
|
+
}
|
|
346
|
+
},
|
|
347
|
+
'Unified ID': {
|
|
348
|
+
userId: {tdid: 'unified-sample'},
|
|
349
|
+
userIdAsEids: [
|
|
350
|
+
{
|
|
351
|
+
source: 'adserver.org',
|
|
352
|
+
uids: [{id: 'unified-sample', aType: 1, ext: {rtiPartner: 'TDID'}}]
|
|
353
|
+
}
|
|
354
|
+
],
|
|
355
|
+
expected: {aids: JSON.stringify([{type: 9, id: 'unified-sample', ext: {rtiPartner: 'TDID'}}])}
|
|
356
|
+
},
|
|
357
|
+
'not add': {
|
|
358
|
+
userId: {id5id: {uid: 'id5id-sample'}},
|
|
359
|
+
userIdAsEids: [],
|
|
360
|
+
expected: {
|
|
361
|
+
aids: JSON.stringify([{type: 8, id: 'id5id-sample'}])
|
|
362
|
+
}
|
|
363
|
+
}
|
|
364
|
+
}).forEach(([test, arg]) => {
|
|
365
|
+
it(`should ${test} ext if it is available in request parameters`, () => {
|
|
366
|
+
const bidRequestWithUserId = {
|
|
367
|
+
...bidRequestTemplate,
|
|
368
|
+
userId: arg.userId,
|
|
369
|
+
userIdAsEids: arg.userIdAsEids
|
|
370
|
+
}
|
|
371
|
+
const requests = spec.buildRequests([bidRequestWithUserId], bidderRequest)
|
|
372
|
+
requests.forEach((request) => {
|
|
373
|
+
expect(request.data).to.deep.equal({
|
|
374
|
+
...expectedResultTemplate,
|
|
375
|
+
cbt: request.data.cbt,
|
|
376
|
+
...arg.expected
|
|
377
|
+
})
|
|
378
|
+
})
|
|
379
|
+
});
|
|
380
|
+
})
|
|
333
381
|
});
|
|
334
382
|
|
|
335
383
|
describe('interpretResponse', () => {
|
|
@@ -244,12 +244,16 @@ describe('OguryBidAdapter', function () {
|
|
|
244
244
|
describe('buildRequests', function () {
|
|
245
245
|
const stubbedWidth = 200
|
|
246
246
|
const stubbedHeight = 600
|
|
247
|
+
const stubbedCurrentTime = 1234567890
|
|
247
248
|
const stubbedWidthMethod = sinon.stub(window.top.document.documentElement, 'clientWidth').get(function() {
|
|
248
249
|
return stubbedWidth;
|
|
249
250
|
});
|
|
250
251
|
const stubbedHeightMethod = sinon.stub(window.top.document.documentElement, 'clientHeight').get(function() {
|
|
251
252
|
return stubbedHeight;
|
|
252
253
|
});
|
|
254
|
+
const stubbedCurrentTimeMethod = sinon.stub(document.timeline, 'currentTime').get(function() {
|
|
255
|
+
return stubbedCurrentTime;
|
|
256
|
+
});
|
|
253
257
|
|
|
254
258
|
const defaultTimeout = 1000;
|
|
255
259
|
const expectedRequestObject = {
|
|
@@ -266,7 +270,10 @@ describe('OguryBidAdapter', function () {
|
|
|
266
270
|
h: 250
|
|
267
271
|
}]
|
|
268
272
|
},
|
|
269
|
-
ext:
|
|
273
|
+
ext: {
|
|
274
|
+
...bidRequests[0].params,
|
|
275
|
+
timeSpentOnPage: stubbedCurrentTime
|
|
276
|
+
}
|
|
270
277
|
}, {
|
|
271
278
|
id: bidRequests[1].bidId,
|
|
272
279
|
tagid: bidRequests[1].params.adUnitId,
|
|
@@ -276,7 +283,10 @@ describe('OguryBidAdapter', function () {
|
|
|
276
283
|
h: 500
|
|
277
284
|
}]
|
|
278
285
|
},
|
|
279
|
-
ext:
|
|
286
|
+
ext: {
|
|
287
|
+
...bidRequests[1].params,
|
|
288
|
+
timeSpentOnPage: stubbedCurrentTime
|
|
289
|
+
}
|
|
280
290
|
}],
|
|
281
291
|
regs: {
|
|
282
292
|
ext: {
|
|
@@ -295,7 +305,7 @@ describe('OguryBidAdapter', function () {
|
|
|
295
305
|
},
|
|
296
306
|
ext: {
|
|
297
307
|
prebidversion: '$prebid.version$',
|
|
298
|
-
adapterversion: '1.
|
|
308
|
+
adapterversion: '1.4.0'
|
|
299
309
|
},
|
|
300
310
|
device: {
|
|
301
311
|
w: stubbedWidth,
|
|
@@ -306,6 +316,7 @@ describe('OguryBidAdapter', function () {
|
|
|
306
316
|
after(function() {
|
|
307
317
|
stubbedWidthMethod.restore();
|
|
308
318
|
stubbedHeightMethod.restore();
|
|
319
|
+
stubbedCurrentTimeMethod.restore();
|
|
309
320
|
});
|
|
310
321
|
|
|
311
322
|
it('sends bid request to ENDPOINT via POST', function () {
|
|
@@ -316,6 +327,17 @@ describe('OguryBidAdapter', function () {
|
|
|
316
327
|
expect(request.method).to.equal('POST');
|
|
317
328
|
});
|
|
318
329
|
|
|
330
|
+
it('timeSpentOnpage should be 0 if timeline is undefined', function () {
|
|
331
|
+
const stubbedTimelineMethod = sinon.stub(document, 'timeline').get(function() {
|
|
332
|
+
return undefined;
|
|
333
|
+
});
|
|
334
|
+
const validBidRequests = utils.deepClone(bidRequests)
|
|
335
|
+
|
|
336
|
+
const request = spec.buildRequests(validBidRequests, bidderRequest);
|
|
337
|
+
expect(request.data.imp[0].ext.timeSpentOnPage).to.equal(0);
|
|
338
|
+
stubbedTimelineMethod.restore();
|
|
339
|
+
});
|
|
340
|
+
|
|
319
341
|
it('bid request object should be conform', function () {
|
|
320
342
|
const validBidRequests = utils.deepClone(bidRequests)
|
|
321
343
|
|
|
@@ -675,7 +697,7 @@ describe('OguryBidAdapter', function () {
|
|
|
675
697
|
advertiserDomains: openRtbBidResponse.body.seatbid[0].bid[0].adomain
|
|
676
698
|
},
|
|
677
699
|
nurl: openRtbBidResponse.body.seatbid[0].bid[0].nurl,
|
|
678
|
-
adapterVersion: '1.
|
|
700
|
+
adapterVersion: '1.4.0',
|
|
679
701
|
prebidVersion: '$prebid.version$'
|
|
680
702
|
}, {
|
|
681
703
|
requestId: openRtbBidResponse.body.seatbid[0].bid[1].impid,
|
|
@@ -692,7 +714,7 @@ describe('OguryBidAdapter', function () {
|
|
|
692
714
|
advertiserDomains: openRtbBidResponse.body.seatbid[0].bid[1].adomain
|
|
693
715
|
},
|
|
694
716
|
nurl: openRtbBidResponse.body.seatbid[0].bid[1].nurl,
|
|
695
|
-
adapterVersion: '1.
|
|
717
|
+
adapterVersion: '1.4.0',
|
|
696
718
|
prebidVersion: '$prebid.version$'
|
|
697
719
|
}]
|
|
698
720
|
|
|
@@ -3406,7 +3406,7 @@ describe('PubMatic adapter', function () {
|
|
|
3406
3406
|
let response = spec.interpretResponse(bidResponses, request);
|
|
3407
3407
|
expect(response).to.be.an('array').with.length.above(0);
|
|
3408
3408
|
expect(response[0].requestId).to.equal(bidResponses.body.seatbid[0].bid[0].impid);
|
|
3409
|
-
expect(response[0].cpm).to.equal((bidResponses.body.seatbid[0].bid[0].price).toFixed(2));
|
|
3409
|
+
expect(response[0].cpm).to.equal(parseFloat((bidResponses.body.seatbid[0].bid[0].price).toFixed(2)));
|
|
3410
3410
|
expect(response[0].width).to.equal(bidResponses.body.seatbid[0].bid[0].w);
|
|
3411
3411
|
expect(response[0].height).to.equal(bidResponses.body.seatbid[0].bid[0].h);
|
|
3412
3412
|
if (bidResponses.body.seatbid[0].bid[0].crid) {
|
|
@@ -3430,7 +3430,7 @@ describe('PubMatic adapter', function () {
|
|
|
3430
3430
|
expect(response[0].partnerImpId).to.equal(bidResponses.body.seatbid[0].bid[0].id);
|
|
3431
3431
|
|
|
3432
3432
|
expect(response[1].requestId).to.equal(bidResponses.body.seatbid[1].bid[0].impid);
|
|
3433
|
-
expect(response[1].cpm).to.equal((bidResponses.body.seatbid[1].bid[0].price).toFixed(2));
|
|
3433
|
+
expect(response[1].cpm).to.equal(parseFloat((bidResponses.body.seatbid[1].bid[0].price).toFixed(2)));
|
|
3434
3434
|
expect(response[1].width).to.equal(bidResponses.body.seatbid[1].bid[0].w);
|
|
3435
3435
|
expect(response[1].height).to.equal(bidResponses.body.seatbid[1].bid[0].h);
|
|
3436
3436
|
if (bidResponses.body.seatbid[1].bid[0].crid) {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { expect } from 'chai';
|
|
2
2
|
import { spec, getTimeoutUrl } from 'modules/seedtagBidAdapter.js';
|
|
3
3
|
import * as utils from 'src/utils.js';
|
|
4
|
+
import { config } from '../../../src/config.js';
|
|
4
5
|
|
|
5
6
|
const PUBLISHER_ID = '0000-0000-01';
|
|
6
7
|
const ADUNIT_ID = '000000';
|
|
@@ -357,6 +358,29 @@ describe('Seedtag Adapter', function () {
|
|
|
357
358
|
});
|
|
358
359
|
});
|
|
359
360
|
|
|
361
|
+
describe('COPPA param', function () {
|
|
362
|
+
it('should add COPPA param to payload when prebid config has parameter COPPA equal to true', function () {
|
|
363
|
+
config.setConfig({ coppa: true })
|
|
364
|
+
|
|
365
|
+
const request = spec.buildRequests(validBidRequests, bidderRequest);
|
|
366
|
+
const data = JSON.parse(request.data);
|
|
367
|
+
expect(data.coppa).to.equal(true);
|
|
368
|
+
})
|
|
369
|
+
|
|
370
|
+
it('should not add COPPA param to payload when prebid config has parameter COPPA equal to false', function () {
|
|
371
|
+
config.setConfig({ coppa: false })
|
|
372
|
+
|
|
373
|
+
const request = spec.buildRequests(validBidRequests, bidderRequest);
|
|
374
|
+
const data = JSON.parse(request.data);
|
|
375
|
+
expect(data.coppa).to.be.undefined;
|
|
376
|
+
})
|
|
377
|
+
|
|
378
|
+
it('should not add COPPA param to payload when prebid config has not parameter COPPA', function () {
|
|
379
|
+
const request = spec.buildRequests(validBidRequests, bidderRequest);
|
|
380
|
+
const data = JSON.parse(request.data);
|
|
381
|
+
expect(data.coppa).to.be.undefined;
|
|
382
|
+
})
|
|
383
|
+
})
|
|
360
384
|
describe('schain param', function () {
|
|
361
385
|
it('should add schain to payload when exposed on validBidRequest', function () {
|
|
362
386
|
// https://github.com/prebid/Prebid.js/blob/master/modules/schain.md#sample-code-for-passing-the-schain-object
|
|
@@ -536,11 +560,11 @@ describe('Seedtag Adapter', function () {
|
|
|
536
560
|
const timeoutUrl = getTimeoutUrl(timeoutData);
|
|
537
561
|
expect(timeoutUrl).to.equal(
|
|
538
562
|
'https://s.seedtag.com/se/hb/timeout?publisherToken=' +
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
563
|
+
params.publisherId +
|
|
564
|
+
'&adUnitId=' +
|
|
565
|
+
params.adUnitId +
|
|
566
|
+
'&timeout=' +
|
|
567
|
+
timeout
|
|
544
568
|
);
|
|
545
569
|
});
|
|
546
570
|
|
|
@@ -552,11 +576,11 @@ describe('Seedtag Adapter', function () {
|
|
|
552
576
|
expect(
|
|
553
577
|
utils.triggerPixel.calledWith(
|
|
554
578
|
'https://s.seedtag.com/se/hb/timeout?publisherToken=' +
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
579
|
+
params.publisherId +
|
|
580
|
+
'&adUnitId=' +
|
|
581
|
+
params.adUnitId +
|
|
582
|
+
'&timeout=' +
|
|
583
|
+
timeout
|
|
560
584
|
)
|
|
561
585
|
).to.equal(true);
|
|
562
586
|
});
|
|
@@ -182,6 +182,7 @@ describe('VidazooBidAdapter', function () {
|
|
|
182
182
|
bidderVersion: adapter.version,
|
|
183
183
|
prebidVersion: version,
|
|
184
184
|
schain: BID.schain,
|
|
185
|
+
ptrace: '1000',
|
|
185
186
|
res: `${window.top.screen.width}x${window.top.screen.height}`,
|
|
186
187
|
uqs: getTopWindowQueryParams(),
|
|
187
188
|
'ext.param1': 'loremipsum',
|
|
@@ -34,6 +34,7 @@ describe('YieldmoAdapter', function () {
|
|
|
34
34
|
userId: {
|
|
35
35
|
tdid: '8d146286-91d4-4958-aff4-7e489dd1abd6'
|
|
36
36
|
},
|
|
37
|
+
transactionId: '54a58774-7a41-494e-9aaf-fa7b79164f0c',
|
|
37
38
|
...rootParams
|
|
38
39
|
});
|
|
39
40
|
|
|
@@ -63,6 +64,7 @@ describe('YieldmoAdapter', function () {
|
|
|
63
64
|
...videoParams
|
|
64
65
|
}
|
|
65
66
|
},
|
|
67
|
+
transactionId: '54a58774-7a41-494e-8cbc-fa7b79164f0c',
|
|
66
68
|
...rootParams
|
|
67
69
|
});
|
|
68
70
|
|
|
@@ -178,10 +180,9 @@ describe('YieldmoAdapter', function () {
|
|
|
178
180
|
expect(buildAndGetPlacementInfo(bidArray)).to.equal(
|
|
179
181
|
'[{"placement_id":"adunit-code","callback_id":"30b31c1838de1e","sizes":[[300,250],[300,600]],"bidFloor":0.1,"auctionId":"1d1a030790a475"}]'
|
|
180
182
|
);
|
|
181
|
-
|
|
182
183
|
// multiple placements
|
|
183
184
|
bidArray.push(mockBannerBid(
|
|
184
|
-
{adUnitCode: 'adunit-2', bidId: '123a', bidderRequestId: '321', auctionId: '222'}, {bidFloor: 0.2}));
|
|
185
|
+
{adUnitCode: 'adunit-2', bidId: '123a', bidderRequestId: '321', auctionId: '222', transactionId: '444'}, {bidFloor: 0.2}));
|
|
185
186
|
expect(buildAndGetPlacementInfo(bidArray)).to.equal(
|
|
186
187
|
'[{"placement_id":"adunit-code","callback_id":"30b31c1838de1e","sizes":[[300,250],[300,600]],"bidFloor":0.1,"auctionId":"1d1a030790a475"},' +
|
|
187
188
|
'{"placement_id":"adunit-2","callback_id":"123a","sizes":[[300,250],[300,600]],"bidFloor":0.2,"auctionId":"222"}]'
|
|
@@ -193,7 +194,6 @@ describe('YieldmoAdapter', function () {
|
|
|
193
194
|
let placementInfo = buildAndGetPlacementInfo(bidArray);
|
|
194
195
|
expect(placementInfo).to.include('"ym_placement_id":"ym_1293871298"');
|
|
195
196
|
expect(placementInfo).not.to.include('"ym_placement_id":"ym_0987654321"');
|
|
196
|
-
|
|
197
197
|
bidArray.push(mockBannerBid({}, {placementId: 'ym_0987654321'}));
|
|
198
198
|
placementInfo = buildAndGetPlacementInfo(bidArray);
|
|
199
199
|
expect(placementInfo).to.include('"ym_placement_id":"ym_1293871298"');
|
|
@@ -507,7 +507,6 @@ describe('YieldmoAdapter', function () {
|
|
|
507
507
|
|
|
508
508
|
it('should add auction id to video bid request', function() {
|
|
509
509
|
const auctionId = '1d1a03073455';
|
|
510
|
-
|
|
511
510
|
expect(buildAndGetData([mockVideoBid({})]).auctionId).to.deep.equal(auctionId);
|
|
512
511
|
});
|
|
513
512
|
|