prebid.js 5.19.0 → 6.2.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/.babelrc.js +1 -10
- package/README.md +4 -2
- package/browsers.json +13 -37
- package/gulpfile.js +1 -0
- package/karma.conf.maker.js +1 -1
- package/modules/adheseBidAdapter.js +7 -2
- package/modules/adkernelBidAdapter.js +1 -0
- package/modules/adlivetechBidAdapter.md +61 -0
- package/modules/admixerBidAdapter.js +2 -1
- package/modules/adnuntiusBidAdapter.js +2 -1
- package/modules/adomikAnalyticsAdapter.js +10 -4
- package/modules/adplusBidAdapter.js +203 -0
- package/modules/adplusBidAdapter.md +39 -0
- package/modules/adyoulikeBidAdapter.js +7 -2
- package/modules/airgridRtdProvider.js +1 -1
- package/modules/appnexusBidAdapter.js +28 -5
- package/modules/atsAnalyticsAdapter.js +67 -46
- package/modules/atsAnalyticsAdapter.md +1 -0
- package/modules/beachfrontBidAdapter.js +14 -17
- package/modules/betweenBidAdapter.js +2 -1
- package/modules/browsiRtdProvider.js +106 -18
- package/modules/cleanioRtdProvider.js +192 -0
- package/modules/cleanioRtdProvider.md +59 -0
- package/modules/codefuelBidAdapter.js +1 -3
- package/modules/codefuelBidAdapter.md +3 -3
- package/modules/craftBidAdapter.js +5 -3
- package/modules/datablocksBidAdapter.js +3 -3
- package/modules/dchain.js +149 -0
- package/modules/dchain.md +45 -0
- package/modules/deepintentBidAdapter.js +1 -1
- package/modules/deltaprojectsBidAdapter.js +252 -0
- package/modules/deltaprojectsBidAdapter.md +32 -0
- package/modules/emx_digitalBidAdapter.js +9 -1
- package/modules/engageyaBidAdapter.js +68 -54
- package/modules/freewheel-sspBidAdapter.js +6 -0
- package/modules/glimpseBidAdapter.js +31 -16
- package/modules/goldbachBidAdapter.js +1176 -0
- package/modules/goldbachBidAdapter.md +151 -0
- package/modules/gptPreAuction.js +11 -5
- package/modules/gridBidAdapter.js +1 -0
- package/modules/gumgumBidAdapter.js +5 -1
- package/modules/id5IdSystem.md +6 -6
- package/modules/imRtdProvider.js +31 -0
- package/modules/intersectionRtdProvider.js +114 -0
- package/modules/invibesBidAdapter.js +15 -9
- package/modules/ipromBidAdapter.js +79 -0
- package/modules/ixBidAdapter.js +173 -22
- package/modules/jixieBidAdapter.js +8 -2
- package/modules/justpremiumBidAdapter.js +6 -1
- package/modules/limelightDigitalBidAdapter.js +2 -1
- package/modules/livewrappedAnalyticsAdapter.js +5 -0
- package/modules/luponmediaBidAdapter.js +570 -0
- package/modules/merkleIdSystem.js +5 -0
- package/modules/missenaBidAdapter.js +89 -0
- package/modules/multibid/index.js +3 -3
- package/modules/nativoBidAdapter.js +32 -2
- package/modules/oguryBidAdapter.js +2 -1
- package/modules/openxBidAdapter.js +7 -2
- package/modules/operaadsBidAdapter.js +21 -1
- package/modules/otmBidAdapter.js +146 -0
- package/modules/otmBidAdapter.md +27 -26
- package/modules/outbrainBidAdapter.js +5 -0
- package/modules/playwireBidAdapter.md +61 -0
- package/modules/prebidServerBidAdapter/index.js +3 -3
- package/modules/pubmaticBidAdapter.js +5 -3
- package/modules/relaidoBidAdapter.js +86 -65
- package/modules/richaudienceBidAdapter.js +1 -1
- package/modules/rtdModule/index.js +2 -2
- package/modules/saambaaBidAdapter.js +420 -0
- package/modules/saambaaBidAdapter.md +65 -68
- package/modules/seedtagBidAdapter.js +6 -0
- package/modules/smaatoBidAdapter.js +9 -1
- package/modules/smartxBidAdapter.js +17 -1
- package/modules/sonobiBidAdapter.js +7 -0
- package/modules/sortableBidAdapter.js +1 -0
- package/modules/sspBCBidAdapter.js +34 -3
- package/modules/tappxBidAdapter.js +3 -1
- package/modules/teadsBidAdapter.js +3 -0
- package/modules/trustxBidAdapter.js +18 -7
- package/modules/undertoneBidAdapter.js +8 -1
- package/modules/userId/index.js +27 -2
- package/modules/ventes.md +71 -0
- package/modules/ventesBidAdapter.js +410 -0
- package/modules/ventesBidAdapter.md +93 -0
- package/modules/vidoomyBidAdapter.js +51 -100
- package/modules/visxBidAdapter.js +20 -3
- package/modules/visxBidAdapter.md +4 -6
- package/modules/yahoosspBidAdapter.js +6 -6
- package/modules/yahoosspBidAdapter.md +1 -1
- package/modules/yieldlabBidAdapter.js +41 -10
- package/modules/yieldlabBidAdapter.md +91 -48
- package/modules/yieldoneBidAdapter.js +115 -11
- package/package.json +6 -1
- package/src/adapterManager.js +14 -8
- package/src/auction.js +14 -13
- package/src/targeting.js +2 -2
- package/src/utils.js +7 -0
- package/test/spec/integration/faker/googletag.js +6 -0
- package/test/spec/modules/adheseBidAdapter_spec.js +27 -1
- package/test/spec/modules/adnuntiusBidAdapter_spec.js +18 -0
- package/test/spec/modules/adomikAnalyticsAdapter_spec.js +3 -1
- package/test/spec/modules/adplusBidAdapter_spec.js +213 -0
- package/test/spec/modules/adyoulikeBidAdapter_spec.js +26 -0
- package/test/spec/modules/appnexusBidAdapter_spec.js +65 -2
- package/test/spec/modules/atsAnalyticsAdapter_spec.js +42 -9
- package/test/spec/modules/beachfrontBidAdapter_spec.js +65 -1
- package/test/spec/modules/browsiRtdProvider_spec.js +62 -7
- package/test/spec/modules/cleanioRtdProvider_spec.js +188 -0
- package/test/spec/modules/codefuelBidAdapter_spec.js +1 -1
- package/test/spec/modules/datablocksBidAdapter_spec.js +3 -3
- package/test/spec/modules/dchain_spec.js +329 -0
- package/test/spec/modules/deltaprojectsBidAdapter_spec.js +399 -0
- package/test/spec/modules/emx_digitalBidAdapter_spec.js +10 -0
- package/test/spec/modules/engageyaBidAdapter_spec.js +231 -95
- package/test/spec/modules/eplanningBidAdapter_spec.js +8 -8
- package/test/spec/modules/freewheel-sspBidAdapter_spec.js +19 -0
- package/test/spec/modules/glimpseBidAdapter_spec.js +33 -0
- package/test/spec/modules/goldbachBidAdapter_spec.js +1359 -0
- package/test/spec/modules/gptPreAuction_spec.js +58 -4
- package/test/spec/modules/gumgumBidAdapter_spec.js +6 -0
- package/test/spec/modules/imRtdProvider_spec.js +25 -0
- package/test/spec/modules/intersectionRtdProvider_spec.js +141 -0
- package/test/spec/modules/invibesBidAdapter_spec.js +29 -4
- package/test/spec/modules/ipromBidAdapter_spec.js +195 -0
- package/test/spec/modules/ixBidAdapter_spec.js +288 -5
- package/test/spec/modules/jixieBidAdapter_spec.js +13 -11
- package/test/spec/modules/justpremiumBidAdapter_spec.js +9 -2
- package/test/spec/modules/konduitWrapper_spec.js +0 -1
- package/test/spec/modules/limelightDigitalBidAdapter_spec.js +10 -7
- package/test/spec/modules/livewrappedAnalyticsAdapter_spec.js +23 -4
- package/test/spec/modules/luponmediaBidAdapter_spec.js +412 -0
- package/test/spec/modules/merkleIdSystem_spec.js +18 -0
- package/test/spec/modules/missenaBidAdapter_spec.js +134 -0
- package/test/spec/modules/multibid_spec.js +31 -31
- package/test/spec/modules/nativoBidAdapter_spec.js +35 -18
- package/test/spec/modules/oguryBidAdapter_spec.js +13 -11
- package/test/spec/modules/openxBidAdapter_spec.js +5 -26
- package/test/spec/modules/operaadsBidAdapter_spec.js +38 -6
- package/test/spec/modules/otmBidAdapter_spec.js +67 -0
- package/test/spec/modules/outbrainBidAdapter_spec.js +18 -0
- package/test/spec/modules/prebidServerBidAdapter_spec.js +19 -2
- package/test/spec/modules/pubmaticBidAdapter_spec.js +1 -1
- package/test/spec/modules/relaidoBidAdapter_spec.js +71 -63
- package/test/spec/modules/seedtagBidAdapter_spec.js +3 -0
- package/test/spec/modules/smaatoBidAdapter_spec.js +61 -0
- package/test/spec/modules/smartxBidAdapter_spec.js +9 -0
- package/test/spec/modules/sonobiBidAdapter_spec.js +34 -1
- package/test/spec/modules/sortableBidAdapter_spec.js +11 -0
- package/test/spec/modules/sspBCBidAdapter_spec.js +33 -3
- package/test/spec/modules/tappxBidAdapter_spec.js +4 -0
- package/test/spec/modules/teadsBidAdapter_spec.js +132 -0
- package/test/spec/modules/trustxBidAdapter_spec.js +45 -3
- package/test/spec/modules/userId_spec.js +51 -0
- package/test/spec/modules/ventesBidAdapter_spec.js +845 -0
- package/test/spec/modules/vidoomyBidAdapter_spec.js +32 -13
- package/test/spec/modules/visxBidAdapter_spec.js +121 -5
- package/test/spec/modules/yieldlabBidAdapter_spec.js +81 -0
- package/test/spec/modules/yieldoneBidAdapter_spec.js +299 -53
- package/test/spec/unit/core/adapterManager_spec.js +26 -7
- package/test/spec/unit/core/targeting_spec.js +44 -0
- package/wdio.conf.js +1 -1
|
@@ -402,7 +402,7 @@ describe('TrustXAdapter', function () {
|
|
|
402
402
|
});
|
|
403
403
|
|
|
404
404
|
it('if segment is present in permutive targeting, payload must have right params', function () {
|
|
405
|
-
const permSegments = ['test_perm_1', 'test_perm_2'];
|
|
405
|
+
const permSegments = [{id: 'test_perm_1'}, {id: 'test_perm_2'}];
|
|
406
406
|
const bidRequestsWithPermutiveTargeting = bidRequests.map((bid) => {
|
|
407
407
|
return Object.assign({
|
|
408
408
|
rtd: {
|
|
@@ -421,8 +421,8 @@ describe('TrustXAdapter', function () {
|
|
|
421
421
|
expect(payload.user.data).to.deep.equal([{
|
|
422
422
|
name: 'permutive',
|
|
423
423
|
segment: [
|
|
424
|
-
{name: 'p_standard', value: permSegments[0]},
|
|
425
|
-
{name: 'p_standard', value: permSegments[1]}
|
|
424
|
+
{name: 'p_standard', value: permSegments[0].id},
|
|
425
|
+
{name: 'p_standard', value: permSegments[1].id}
|
|
426
426
|
]
|
|
427
427
|
}]);
|
|
428
428
|
});
|
|
@@ -519,6 +519,48 @@ describe('TrustXAdapter', function () {
|
|
|
519
519
|
expect(payload.tmax).to.equal(3000);
|
|
520
520
|
getConfigStub.restore();
|
|
521
521
|
});
|
|
522
|
+
it('should contain imp[].ext.data.adserver if available', function() {
|
|
523
|
+
const ortb2Imp = [{
|
|
524
|
+
ext: {
|
|
525
|
+
data: {
|
|
526
|
+
adserver: {
|
|
527
|
+
name: 'ad_server_name',
|
|
528
|
+
adslot: '/111111/slot'
|
|
529
|
+
},
|
|
530
|
+
pbadslot: '/111111/slot'
|
|
531
|
+
}
|
|
532
|
+
}
|
|
533
|
+
}, {
|
|
534
|
+
ext: {
|
|
535
|
+
data: {
|
|
536
|
+
adserver: {
|
|
537
|
+
name: 'ad_server_name',
|
|
538
|
+
adslot: '/222222/slot'
|
|
539
|
+
},
|
|
540
|
+
pbadslot: '/222222/slot'
|
|
541
|
+
}
|
|
542
|
+
}
|
|
543
|
+
}];
|
|
544
|
+
const bidRequestsWithOrtb2Imp = bidRequests.slice(0, 3).map((bid, ind) => {
|
|
545
|
+
return Object.assign(ortb2Imp[ind] ? { ortb2Imp: ortb2Imp[ind] } : {}, bid);
|
|
546
|
+
});
|
|
547
|
+
const request = spec.buildRequests(bidRequestsWithOrtb2Imp, bidderRequest);
|
|
548
|
+
expect(request.data).to.be.an('string');
|
|
549
|
+
const payload = parseRequest(request.data);
|
|
550
|
+
expect(payload.imp[0].ext).to.deep.equal({
|
|
551
|
+
divid: bidRequests[0].adUnitCode,
|
|
552
|
+
data: ortb2Imp[0].ext.data,
|
|
553
|
+
gpid: ortb2Imp[0].ext.data.adserver.adslot
|
|
554
|
+
});
|
|
555
|
+
expect(payload.imp[1].ext).to.deep.equal({
|
|
556
|
+
divid: bidRequests[1].adUnitCode,
|
|
557
|
+
data: ortb2Imp[1].ext.data,
|
|
558
|
+
gpid: ortb2Imp[1].ext.data.adserver.adslot
|
|
559
|
+
});
|
|
560
|
+
expect(payload.imp[2].ext).to.deep.equal({
|
|
561
|
+
divid: bidRequests[2].adUnitCode
|
|
562
|
+
});
|
|
563
|
+
});
|
|
522
564
|
it('all id like request fields must be a string', function () {
|
|
523
565
|
const bidderRequestWithNumId = Object.assign({}, bidderRequest, { bidderRequestId: 123123, auctionId: 345345543 });
|
|
524
566
|
|
|
@@ -49,6 +49,7 @@ import {flocIdSubmodule} from 'modules/flocIdSystem.js'
|
|
|
49
49
|
import {amxIdSubmodule} from '../../../modules/amxIdSystem.js';
|
|
50
50
|
import {akamaiDAPIdSubmodule} from 'modules/akamaiDAPIdSystem.js'
|
|
51
51
|
import {kinessoIdSubmodule} from 'modules/kinessoIdSystem.js'
|
|
52
|
+
import * as mockGpt from '../integration/faker/googletag.js';
|
|
52
53
|
|
|
53
54
|
let assert = require('chai').assert;
|
|
54
55
|
let expect = require('chai').expect;
|
|
@@ -114,15 +115,21 @@ describe('User ID', function () {
|
|
|
114
115
|
|
|
115
116
|
describe('Decorate Ad Units', function () {
|
|
116
117
|
beforeEach(function () {
|
|
118
|
+
// reset mockGpt so nothing else interferes
|
|
119
|
+
mockGpt.disable();
|
|
120
|
+
mockGpt.enable();
|
|
117
121
|
coreStorage.setCookie('pubcid', '', EXPIRED_COOKIE_DATE);
|
|
118
122
|
coreStorage.setCookie('pubcid_alt', 'altpubcid200000', (new Date(Date.now() + 5000).toUTCString()));
|
|
119
123
|
sinon.spy(coreStorage, 'setCookie');
|
|
124
|
+
sinon.stub(utils, 'logWarn');
|
|
120
125
|
});
|
|
121
126
|
|
|
122
127
|
afterEach(function () {
|
|
128
|
+
mockGpt.enable();
|
|
123
129
|
$$PREBID_GLOBAL$$.requestBids.removeAll();
|
|
124
130
|
config.resetConfig();
|
|
125
131
|
coreStorage.setCookie.restore();
|
|
132
|
+
utils.logWarn.restore();
|
|
126
133
|
});
|
|
127
134
|
|
|
128
135
|
after(function () {
|
|
@@ -321,6 +328,50 @@ describe('User ID', function () {
|
|
|
321
328
|
expect((getGlobal()).getUserIdsAsEids()).to.deep.equal(createEidsArray((getGlobal()).getUserIds()));
|
|
322
329
|
});
|
|
323
330
|
|
|
331
|
+
it('should set googletag ppid correctly', function () {
|
|
332
|
+
let adUnits = [getAdUnitMock()];
|
|
333
|
+
setSubmoduleRegistry([amxIdSubmodule, sharedIdSystemSubmodule, identityLinkSubmodule]);
|
|
334
|
+
init(config);
|
|
335
|
+
|
|
336
|
+
config.setConfig({
|
|
337
|
+
userSync: {
|
|
338
|
+
ppid: 'pubcid.org',
|
|
339
|
+
userIds: [
|
|
340
|
+
{ name: 'amxId', value: {'amxId': 'amx-id-value-amx-id-value-amx-id-value'} },
|
|
341
|
+
{ name: 'pubCommonId', value: {'pubcid': 'pubCommon-id-value-pubCommon-id-value'} },
|
|
342
|
+
{ name: 'identityLink', value: {'idl_env': 'identityLink-id-value-identityLink-id-value'} },
|
|
343
|
+
]
|
|
344
|
+
}
|
|
345
|
+
});
|
|
346
|
+
// before ppid should not be set
|
|
347
|
+
expect(window.googletag._ppid).to.equal(undefined);
|
|
348
|
+
requestBidsHook(() => {}, {adUnits});
|
|
349
|
+
// ppid should have been set without dashes and stuff
|
|
350
|
+
expect(window.googletag._ppid).to.equal('pubCommonidvaluepubCommonidvalue');
|
|
351
|
+
});
|
|
352
|
+
|
|
353
|
+
it('should log a warning if PPID too big or small', function () {
|
|
354
|
+
let adUnits = [getAdUnitMock()];
|
|
355
|
+
setSubmoduleRegistry([sharedIdSystemSubmodule]);
|
|
356
|
+
init(config);
|
|
357
|
+
|
|
358
|
+
config.setConfig({
|
|
359
|
+
userSync: {
|
|
360
|
+
ppid: 'pubcid.org',
|
|
361
|
+
userIds: [
|
|
362
|
+
{ name: 'pubCommonId', value: {'pubcid': 'pubcommonIdValue'} },
|
|
363
|
+
]
|
|
364
|
+
}
|
|
365
|
+
});
|
|
366
|
+
// before ppid should not be set
|
|
367
|
+
expect(window.googletag._ppid).to.equal(undefined);
|
|
368
|
+
requestBidsHook(() => {}, {adUnits});
|
|
369
|
+
// ppid should NOT have been set
|
|
370
|
+
expect(window.googletag._ppid).to.equal(undefined);
|
|
371
|
+
// a warning should have been emmited
|
|
372
|
+
expect(utils.logWarn.args[0][0]).to.exist.and.to.contain('User ID - Googletag Publisher Provided ID for pubcid.org is not between 32 and 150 characters - pubcommonIdValue');
|
|
373
|
+
});
|
|
374
|
+
|
|
324
375
|
it('pbjs.refreshUserIds refreshes', function() {
|
|
325
376
|
let sandbox = sinon.createSandbox();
|
|
326
377
|
|