prebid.js 7.20.0 → 7.22.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/1plusXRtdProvider.js +1 -1
- 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/adyoulikeBidAdapter.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/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/carodaBidAdapter.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/dacIdSystem.js +1 -1
- package/dist/dspxBidAdapter.js +1 -1
- package/dist/eplanningBidAdapter.js +1 -1
- package/dist/finativeBidAdapter.js +1 -1
- package/dist/freewheel-sspBidAdapter.js +1 -1
- package/dist/ftrackIdSystem.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/iasRtdProvider.js +1 -1
- package/dist/id5IdSystem.js +1 -1
- package/dist/impactifyBidAdapter.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/jixieBidAdapter.js +1 -1
- package/dist/justpremiumBidAdapter.js +1 -1
- package/dist/konduitAnalyticsAdapter.js +1 -1
- package/dist/kueezBidAdapter.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/mediakeysBidAdapter.js +1 -1
- package/dist/medianetAnalyticsAdapter.js +1 -1
- package/dist/medianetBidAdapter.js +1 -1
- package/dist/mediasquareBidAdapter.js +1 -1
- package/dist/mgidBidAdapter.js +1 -1
- package/dist/minutemediaBidAdapter.js +1 -1
- package/dist/not-for-prod/prebid.js +127 -127
- 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/publinkIdSystem.js +1 -1
- package/dist/pubmaticBidAdapter.js +1 -1
- package/dist/pubwiseAnalyticsAdapter.js +1 -1
- package/dist/pubwiseBidAdapter.js +1 -1
- package/dist/pulsepointBidAdapter.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/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/weboramaRtdProvider.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/dist/yieldoneBidAdapter.js +1 -1
- package/integrationExamples/gpt/weboramaRtdProvider_example.html +10 -51
- package/modules/1plusXRtdProvider.js +32 -5
- package/modules/33acrossBidAdapter.js +18 -11
- package/modules/adyoulikeBidAdapter.js +12 -6
- package/modules/asoBidAdapter.js +11 -6
- package/modules/asoBidAdapter.md +5 -6
- package/modules/brightcomBidAdapter.js +30 -10
- package/modules/dacIdSystem.js +145 -27
- package/modules/dacIdSystem.md +7 -2
- package/modules/fledgeForGpt.md +101 -23
- package/modules/freewheel-sspBidAdapter.js +48 -7
- package/modules/freewheel-sspBidAdapter.md +1 -1
- package/modules/ftrackIdSystem.js +28 -9
- package/modules/gridBidAdapter.js +1 -0
- package/modules/iasRtdProvider.js +21 -6
- package/modules/iasRtdProvider.md +1 -1
- package/modules/ixBidAdapter.js +9 -4
- package/modules/medianetAnalyticsAdapter.js +26 -22
- package/modules/medianetBidAdapter.js +5 -1
- package/modules/mediasquareBidAdapter.js +42 -3
- package/modules/mgidBidAdapter.js +8 -1
- package/modules/oguryBidAdapter.js +6 -2
- package/modules/prebidServerBidAdapter/index.js +1 -1
- package/modules/pubmaticBidAdapter.js +27 -3
- package/modules/pubwiseBidAdapter.js +14 -12
- package/modules/pulsepointBidAdapter.js +11 -6
- package/modules/smaatoBidAdapter.js +54 -5
- package/modules/smaatoBidAdapter.md +78 -0
- package/modules/teadsBidAdapter.js +26 -8
- package/modules/ttdBidAdapter.js +8 -0
- package/modules/userId/eids.js +7 -11
- package/modules/weboramaRtdProvider.js +800 -643
- package/modules/weboramaRtdProvider.md +32 -0
- package/modules/yieldoneBidAdapter.js +7 -4
- package/package.json +3 -3
- package/src/adapters/bidderFactory.js +11 -9
- package/src/auction.js +3 -3
- package/test/spec/auctionmanager_spec.js +29 -20
- package/test/spec/modules/1plusXRtdProvider_spec.js +30 -14
- package/test/spec/modules/33acrossBidAdapter_spec.js +44 -1
- package/test/spec/modules/adyoulikeBidAdapter_spec.js +1 -1
- package/test/spec/modules/asoBidAdapter_spec.js +2 -2
- package/test/spec/modules/brightcomBidAdapter_spec.js +94 -1
- package/test/spec/modules/dacIdSystem_spec.js +93 -11
- package/test/spec/modules/eids_spec.js +11 -7
- package/test/spec/modules/freewheel-sspBidAdapter_spec.js +25 -4
- package/test/spec/modules/ftrackIdSystem_spec.js +200 -90
- package/test/spec/modules/iasRtdProvider_spec.js +57 -1
- package/test/spec/modules/ixBidAdapter_spec.js +12 -0
- package/test/spec/modules/medianetAnalyticsAdapter_spec.js +50 -8
- package/test/spec/modules/medianetBidAdapter_spec.js +76 -0
- package/test/spec/modules/mediasquareBidAdapter_spec.js +4 -2
- package/test/spec/modules/mgidBidAdapter_spec.js +50 -0
- package/test/spec/modules/oguryBidAdapter_spec.js +33 -17
- package/test/spec/modules/prebidServerBidAdapter_spec.js +24 -0
- package/test/spec/modules/pubmaticBidAdapter_spec.js +60 -5
- package/test/spec/modules/pubwiseBidAdapter_spec.js +6 -4
- package/test/spec/modules/pulsepointBidAdapter_spec.js +123 -0
- package/test/spec/modules/smaatoBidAdapter_spec.js +307 -36
- package/test/spec/modules/teadsBidAdapter_spec.js +119 -6
- package/test/spec/modules/weboramaRtdProvider_spec.js +382 -0
- package/test/spec/modules/yieldoneBidAdapter_spec.js +2 -3
- package/test/spec/unit/core/bidderFactory_spec.js +0 -4
|
@@ -444,11 +444,15 @@ describe('eids array generation for known sub-modules', function() {
|
|
|
444
444
|
|
|
445
445
|
describe('ftrackId', () => {
|
|
446
446
|
it('should return the correct EID schema', () => {
|
|
447
|
+
// This is the schema returned from the ftrack decode() method
|
|
447
448
|
expect(createEidsArray({
|
|
448
449
|
ftrackId: {
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
450
|
+
uid: 'test-device-id',
|
|
451
|
+
ext: {
|
|
452
|
+
DeviceID: 'test-device-id',
|
|
453
|
+
SingleDeviceID: 'test-single-device-id',
|
|
454
|
+
HHID: 'test-household-id'
|
|
455
|
+
}
|
|
452
456
|
},
|
|
453
457
|
foo: {
|
|
454
458
|
bar: 'baz'
|
|
@@ -458,11 +462,11 @@ describe('eids array generation for known sub-modules', function() {
|
|
|
458
462
|
}
|
|
459
463
|
})).to.deep.equal([{
|
|
460
464
|
atype: 1,
|
|
461
|
-
id: '
|
|
465
|
+
id: 'test-device-id',
|
|
462
466
|
ext: {
|
|
463
|
-
DeviceID: '
|
|
464
|
-
SingleDeviceID: '
|
|
465
|
-
HHID: '
|
|
467
|
+
DeviceID: 'test-device-id',
|
|
468
|
+
SingleDeviceID: 'test-single-device-id',
|
|
469
|
+
HHID: 'test-household-id'
|
|
466
470
|
}
|
|
467
471
|
}]);
|
|
468
472
|
});
|
|
@@ -483,6 +483,23 @@ describe('freewheelSSP BidAdapter Test', () => {
|
|
|
483
483
|
'bidId': '2',
|
|
484
484
|
'bidderRequestId': '3',
|
|
485
485
|
'auctionId': '4',
|
|
486
|
+
},
|
|
487
|
+
{
|
|
488
|
+
'bidder': 'freewheelssp',
|
|
489
|
+
'params': {
|
|
490
|
+
'zoneId': '277225',
|
|
491
|
+
'format': 'test'
|
|
492
|
+
},
|
|
493
|
+
'adUnitCode': 'adunit-code',
|
|
494
|
+
'mediaTypes': {
|
|
495
|
+
'video': {
|
|
496
|
+
'playerSize': [300, 600],
|
|
497
|
+
}
|
|
498
|
+
},
|
|
499
|
+
'sizes': [[300, 400]],
|
|
500
|
+
'bidId': '2',
|
|
501
|
+
'bidderRequestId': '3',
|
|
502
|
+
'auctionId': '4',
|
|
486
503
|
}
|
|
487
504
|
];
|
|
488
505
|
|
|
@@ -510,7 +527,8 @@ describe('freewheelSSP BidAdapter Test', () => {
|
|
|
510
527
|
' </Creatives>' +
|
|
511
528
|
' <Extensions>' +
|
|
512
529
|
' <Extension type=\'StickyPricing\'><Price currency="EUR">0.2000</Price></Extension>' +
|
|
513
|
-
'
|
|
530
|
+
' <Extension type=\'StickyBrand\'><Domain><![CDATA[minotaur.com]]></Domain><Sector><![CDATA[BEAUTY & HYGIENE]]></Sector><Advertiser><![CDATA[James Bond Trademarks]]></Advertiser><Brand><![CDATA[007 Seven]]></Brand></Extension>' +
|
|
531
|
+
' </Extensions>' +
|
|
514
532
|
' </InLine>' +
|
|
515
533
|
' </Ad>' +
|
|
516
534
|
'</VAST>';
|
|
@@ -536,12 +554,15 @@ describe('freewheelSSP BidAdapter Test', () => {
|
|
|
536
554
|
bannerId: '12345',
|
|
537
555
|
vastXml: response,
|
|
538
556
|
mediaType: 'video',
|
|
539
|
-
ad: ad
|
|
557
|
+
ad: ad,
|
|
558
|
+
meta: {
|
|
559
|
+
advertiserDomains: 'minotaur.com'
|
|
560
|
+
}
|
|
540
561
|
}
|
|
541
562
|
];
|
|
542
563
|
|
|
543
564
|
let result = spec.interpretResponse(response, request[0]);
|
|
544
|
-
expect(result[0].meta.advertiserDomains).to.deep.equal([]);
|
|
565
|
+
expect(result[0].meta.advertiserDomains).to.deep.equal(['minotaur.com']);
|
|
545
566
|
expect(result[0].dealId).to.equal('NRJ-PRO-00008');
|
|
546
567
|
expect(result[0].campaignId).to.equal('SMF-WOW-55555');
|
|
547
568
|
expect(result[0].bannerId).to.equal('12345');
|
|
@@ -570,7 +591,7 @@ describe('freewheelSSP BidAdapter Test', () => {
|
|
|
570
591
|
];
|
|
571
592
|
|
|
572
593
|
let result = spec.interpretResponse(response, request[0]);
|
|
573
|
-
expect(result[0].meta.advertiserDomains).to.deep.equal([]);
|
|
594
|
+
expect(result[0].meta.advertiserDomains).to.deep.equal(['minotaur.com']);
|
|
574
595
|
expect(result[0].dealId).to.equal('NRJ-PRO-00008');
|
|
575
596
|
expect(result[0].campaignId).to.equal('SMF-WOW-55555');
|
|
576
597
|
expect(result[0].bannerId).to.equal('12345');
|
|
@@ -275,10 +275,55 @@ describe('FTRACK ID System', () => {
|
|
|
275
275
|
|
|
276
276
|
describe(`decode() method`, () => {
|
|
277
277
|
it(`should respond with an object with the key 'ftrackId'`, () => {
|
|
278
|
-
|
|
278
|
+
const MOCK_VALUE_STRINGS = {
|
|
279
|
+
HHID: 'household_test_id',
|
|
280
|
+
DeviceID: 'device_test_id',
|
|
281
|
+
SingleDeviceID: 'single_device_test_id'
|
|
282
|
+
},
|
|
283
|
+
MOCK_VALUE_ARRAYS = {
|
|
284
|
+
HHID: ['household_test_id', 'a', 'b'],
|
|
285
|
+
DeviceID: ['device_test_id', 'c', 'd'],
|
|
286
|
+
SingleDeviceID: ['single_device_test_id', 'e', 'f']
|
|
287
|
+
},
|
|
288
|
+
MOCK_VALUE_BOTH = {
|
|
289
|
+
foo: ['foo', 'a', 'b'],
|
|
290
|
+
bar: 'bar',
|
|
291
|
+
baz: ['baz', 'baz', 'baz']
|
|
292
|
+
};
|
|
293
|
+
|
|
294
|
+
// strings are just passed through
|
|
295
|
+
expect(ftrackIdSubmodule.decode(MOCK_VALUE_STRINGS, configMock)).to.deep.equal({
|
|
296
|
+
ftrackId: {
|
|
297
|
+
ext: {
|
|
298
|
+
HHID: 'household_test_id',
|
|
299
|
+
DeviceID: 'device_test_id',
|
|
300
|
+
SingleDeviceID: 'single_device_test_id'
|
|
301
|
+
},
|
|
302
|
+
uid: 'device_test_id',
|
|
303
|
+
},
|
|
304
|
+
});
|
|
305
|
+
|
|
306
|
+
// arrays are converted to strings
|
|
307
|
+
expect(ftrackIdSubmodule.decode(MOCK_VALUE_ARRAYS, configMock)).to.deep.equal({
|
|
279
308
|
ftrackId: {
|
|
280
|
-
ext: {
|
|
281
|
-
|
|
309
|
+
ext: {
|
|
310
|
+
HHID: 'household_test_id|a|b',
|
|
311
|
+
DeviceID: 'device_test_id|c|d',
|
|
312
|
+
SingleDeviceID: 'single_device_test_id|e|f'
|
|
313
|
+
},
|
|
314
|
+
uid: 'device_test_id|c|d',
|
|
315
|
+
},
|
|
316
|
+
});
|
|
317
|
+
|
|
318
|
+
// mix of both but uid should be empty string because DeviceId is not defined
|
|
319
|
+
expect(ftrackIdSubmodule.decode(MOCK_VALUE_BOTH, configMock)).to.deep.equal({
|
|
320
|
+
ftrackId: {
|
|
321
|
+
ext: {
|
|
322
|
+
foo: 'foo|a|b',
|
|
323
|
+
bar: 'bar',
|
|
324
|
+
baz: 'baz|baz|baz'
|
|
325
|
+
},
|
|
326
|
+
uid: '',
|
|
282
327
|
},
|
|
283
328
|
});
|
|
284
329
|
});
|
|
@@ -309,56 +354,40 @@ describe('FTRACK ID System', () => {
|
|
|
309
354
|
});
|
|
310
355
|
|
|
311
356
|
describe('pbjs "get id" methods', () => {
|
|
312
|
-
// The full set of ftrack IDs to test against
|
|
313
|
-
let expectedIds = {
|
|
314
|
-
HHID: ['household_test_id'],
|
|
315
|
-
DeviceID: ['device_test_id'],
|
|
316
|
-
SingleDeviceID: ['single_device_test_id']
|
|
317
|
-
};
|
|
318
|
-
// The full config mock
|
|
319
|
-
let userSyncConfigMock = {
|
|
320
|
-
userSync: {
|
|
321
|
-
auctionDelay: 10,
|
|
322
|
-
userIds: [{
|
|
323
|
-
name: 'ftrack',
|
|
324
|
-
value: {
|
|
325
|
-
ftrackId: expectedIds
|
|
326
|
-
}
|
|
327
|
-
}]
|
|
328
|
-
}
|
|
329
|
-
};
|
|
330
|
-
// The full eids response
|
|
331
|
-
let expectedEids = [{
|
|
332
|
-
id: 'device_test_id',
|
|
333
|
-
atype: 1,
|
|
334
|
-
ext: {
|
|
335
|
-
HHID: expectedIds.HHID.join('|'),
|
|
336
|
-
DeviceID: expectedIds.DeviceID.join('|'),
|
|
337
|
-
SingleDeviceID: expectedIds.SingleDeviceID.join('|')
|
|
338
|
-
}
|
|
339
|
-
}];
|
|
340
|
-
|
|
341
357
|
beforeEach(() => {
|
|
342
358
|
init(config);
|
|
343
359
|
setSubmoduleRegistry([ftrackIdSubmodule]);
|
|
344
360
|
});
|
|
345
361
|
|
|
346
|
-
afterEach(() => {
|
|
347
|
-
// Reset expectedIds to the default values because some tests overwrite them
|
|
348
|
-
expectedIds = {
|
|
349
|
-
HHID: ['household_test_id'],
|
|
350
|
-
DeviceID: ['device_test_id'],
|
|
351
|
-
SingleDeviceID: ['single_device_test_id']
|
|
352
|
-
};
|
|
353
|
-
});
|
|
354
|
-
|
|
355
362
|
describe('pbjs.getUserIdsAsync()', () => {
|
|
356
|
-
it('should return the IDs in the correct schema', () => {
|
|
357
|
-
config.setConfig(
|
|
363
|
+
it('should return the IDs in the correct schema - flat schema', () => {
|
|
364
|
+
config.setConfig({
|
|
365
|
+
userSync: {
|
|
366
|
+
auctionDelay: 10,
|
|
367
|
+
userIds: [{
|
|
368
|
+
name: 'ftrack',
|
|
369
|
+
value: {
|
|
370
|
+
ftrackId: {
|
|
371
|
+
uid: 'device_test_id',
|
|
372
|
+
ext: {
|
|
373
|
+
HHID: 'household_test_id',
|
|
374
|
+
DeviceID: 'device_test_id',
|
|
375
|
+
SingleDeviceID: 'single_device_test_id'
|
|
376
|
+
}
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
}]
|
|
380
|
+
}
|
|
381
|
+
});
|
|
358
382
|
|
|
359
383
|
getGlobal().getUserIdsAsync().then(ids => {
|
|
360
384
|
expect(ids).to.deep.equal({
|
|
361
|
-
|
|
385
|
+
uid: 'device_test_id',
|
|
386
|
+
ftrackId: {
|
|
387
|
+
HHID: 'household_test_id',
|
|
388
|
+
DeviceID: 'device_test_id',
|
|
389
|
+
SingleDeviceID: 'single_device_test_id'
|
|
390
|
+
}
|
|
362
391
|
});
|
|
363
392
|
});
|
|
364
393
|
});
|
|
@@ -366,73 +395,154 @@ describe('FTRACK ID System', () => {
|
|
|
366
395
|
|
|
367
396
|
describe('pbjs.getUserIds()', () => {
|
|
368
397
|
it('should return the IDs in the correct schema', () => {
|
|
369
|
-
config.setConfig(
|
|
398
|
+
config.setConfig({
|
|
399
|
+
userSync: {
|
|
400
|
+
auctionDelay: 10,
|
|
401
|
+
userIds: [{
|
|
402
|
+
name: 'ftrack',
|
|
403
|
+
value: {
|
|
404
|
+
ftrackId: {
|
|
405
|
+
uid: 'device_test_id',
|
|
406
|
+
ext: {
|
|
407
|
+
HHID: 'household_test_id',
|
|
408
|
+
DeviceID: 'device_test_id',
|
|
409
|
+
SingleDeviceID: 'single_device_test_id'
|
|
410
|
+
}
|
|
411
|
+
}
|
|
412
|
+
}
|
|
413
|
+
}]
|
|
414
|
+
}
|
|
415
|
+
});
|
|
370
416
|
|
|
371
417
|
expect(getGlobal().getUserIds()).to.deep.equal({
|
|
372
|
-
|
|
418
|
+
ftrackId: {
|
|
419
|
+
uid: 'device_test_id',
|
|
420
|
+
ext: {
|
|
421
|
+
HHID: 'household_test_id',
|
|
422
|
+
DeviceID: 'device_test_id',
|
|
423
|
+
SingleDeviceID: 'single_device_test_id'
|
|
424
|
+
}
|
|
425
|
+
}
|
|
373
426
|
});
|
|
374
427
|
});
|
|
375
428
|
});
|
|
376
429
|
|
|
377
430
|
describe('pbjs.getUserIdsAsEids()', () => {
|
|
378
|
-
it('should return the correct EIDs schema', () => {
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
431
|
+
it('should return the correct EIDs schema ', () => {
|
|
432
|
+
// Pass all three IDs
|
|
433
|
+
config.setConfig({
|
|
434
|
+
userSync: {
|
|
435
|
+
auctionDelay: 10,
|
|
436
|
+
userIds: [{
|
|
437
|
+
name: 'ftrack',
|
|
438
|
+
value: {
|
|
439
|
+
ftrackId: {
|
|
440
|
+
uid: 'device_test_id',
|
|
441
|
+
ext: {
|
|
442
|
+
HHID: 'household_test_id',
|
|
443
|
+
DeviceID: 'device_test_id',
|
|
444
|
+
SingleDeviceID: 'single_device_test_id'
|
|
445
|
+
}
|
|
446
|
+
}
|
|
447
|
+
}
|
|
448
|
+
}]
|
|
449
|
+
}
|
|
450
|
+
});
|
|
382
451
|
|
|
383
|
-
expect(getGlobal().getUserIdsAsEids()).to.deep.equal(
|
|
452
|
+
expect(getGlobal().getUserIdsAsEids()).to.deep.equal([{
|
|
453
|
+
id: 'device_test_id',
|
|
454
|
+
atype: 1,
|
|
455
|
+
ext: {
|
|
456
|
+
HHID: 'household_test_id',
|
|
457
|
+
DeviceID: 'device_test_id',
|
|
458
|
+
SingleDeviceID: 'single_device_test_id'
|
|
459
|
+
}
|
|
460
|
+
}]);
|
|
384
461
|
});
|
|
385
462
|
|
|
386
463
|
describe('by ID type:', () => {
|
|
387
464
|
it('- DeviceID', () => {
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
465
|
+
// Pass DeviceID only
|
|
466
|
+
config.setConfig({
|
|
467
|
+
userSync: {
|
|
468
|
+
auctionDelay: 10,
|
|
469
|
+
userIds: [{
|
|
470
|
+
name: 'ftrack',
|
|
471
|
+
value: {
|
|
472
|
+
ftrackId: {
|
|
473
|
+
uid: 'device_test_id',
|
|
474
|
+
ext: {
|
|
475
|
+
DeviceID: 'device_test_id',
|
|
476
|
+
}
|
|
477
|
+
}
|
|
478
|
+
}
|
|
479
|
+
}]
|
|
480
|
+
}
|
|
481
|
+
});
|
|
400
482
|
|
|
401
|
-
expect(getGlobal().getUserIdsAsEids()).to.deep.equal(
|
|
483
|
+
expect(getGlobal().getUserIdsAsEids()).to.deep.equal([{
|
|
484
|
+
id: 'device_test_id',
|
|
485
|
+
atype: 1,
|
|
486
|
+
ext: {
|
|
487
|
+
DeviceID: 'device_test_id'
|
|
488
|
+
}
|
|
489
|
+
}]);
|
|
402
490
|
});
|
|
403
491
|
|
|
404
492
|
it('- HHID', () => {
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
493
|
+
// Pass HHID only
|
|
494
|
+
config.setConfig({
|
|
495
|
+
userSync: {
|
|
496
|
+
auctionDelay: 10,
|
|
497
|
+
userIds: [{
|
|
498
|
+
name: 'ftrack',
|
|
499
|
+
value: {
|
|
500
|
+
ftrackId: {
|
|
501
|
+
uid: '',
|
|
502
|
+
ext: {
|
|
503
|
+
HHID: 'household_test_id'
|
|
504
|
+
}
|
|
505
|
+
}
|
|
506
|
+
}
|
|
507
|
+
}]
|
|
508
|
+
}
|
|
509
|
+
});
|
|
417
510
|
|
|
418
|
-
expect(getGlobal().getUserIdsAsEids()).to.deep.equal(
|
|
511
|
+
expect(getGlobal().getUserIdsAsEids()).to.deep.equal([{
|
|
512
|
+
id: '',
|
|
513
|
+
atype: 1,
|
|
514
|
+
ext: {
|
|
515
|
+
HHID: 'household_test_id'
|
|
516
|
+
}
|
|
517
|
+
}]);
|
|
419
518
|
});
|
|
420
519
|
|
|
421
520
|
it('- SingleDeviceID', () => {
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
521
|
+
// Pass SingleDeviceID only
|
|
522
|
+
config.setConfig({
|
|
523
|
+
userSync: {
|
|
524
|
+
auctionDelay: 10,
|
|
525
|
+
userIds: [{
|
|
526
|
+
name: 'ftrack',
|
|
527
|
+
value: {
|
|
528
|
+
ftrackId: {
|
|
529
|
+
uid: '',
|
|
530
|
+
ext: {
|
|
531
|
+
SingleDeviceID: 'single_device_test_id'
|
|
532
|
+
}
|
|
533
|
+
}
|
|
534
|
+
}
|
|
535
|
+
}]
|
|
536
|
+
}
|
|
537
|
+
});
|
|
434
538
|
|
|
435
|
-
expect(getGlobal().getUserIdsAsEids()).to.deep.equal(
|
|
539
|
+
expect(getGlobal().getUserIdsAsEids()).to.deep.equal([{
|
|
540
|
+
id: '',
|
|
541
|
+
atype: 1,
|
|
542
|
+
ext: {
|
|
543
|
+
SingleDeviceID: 'single_device_test_id'
|
|
544
|
+
}
|
|
545
|
+
}]);
|
|
436
546
|
});
|
|
437
547
|
});
|
|
438
548
|
});
|
|
@@ -54,6 +54,59 @@ describe('iasRtdProvider is a RTD provider that', function () {
|
|
|
54
54
|
const value = iasSubModule.init(config);
|
|
55
55
|
expect(value).to.equal(true);
|
|
56
56
|
});
|
|
57
|
+
it('returns true with the pubId, keyMappings and adUnitPath params', function () {
|
|
58
|
+
const config = {
|
|
59
|
+
name: 'ias',
|
|
60
|
+
waitForIt: true,
|
|
61
|
+
params: {
|
|
62
|
+
pubId: '123456',
|
|
63
|
+
keyMappings: {
|
|
64
|
+
'id': 'ias_id'
|
|
65
|
+
},
|
|
66
|
+
adUnitPath: {'one-div-id': '/012345/ad/unit/path'}
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
const value = iasSubModule.init(config);
|
|
70
|
+
expect(value).to.equal(true);
|
|
71
|
+
});
|
|
72
|
+
it('returns true with the pubId and adUnitPath params with multiple keys', function () {
|
|
73
|
+
const config = {
|
|
74
|
+
name: 'ias',
|
|
75
|
+
waitForIt: true,
|
|
76
|
+
params: {
|
|
77
|
+
pubId: '123456',
|
|
78
|
+
keyMappings: {
|
|
79
|
+
'id': 'ias_id'
|
|
80
|
+
},
|
|
81
|
+
adUnitPath: {
|
|
82
|
+
'one-div-id': '/012345/ad/unit/path',
|
|
83
|
+
'another-div-id': '/012345/ad/unit/path',
|
|
84
|
+
'third-div-id': '/012345/another/ad/unit/path'
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
};
|
|
88
|
+
const value = iasSubModule.init(config);
|
|
89
|
+
expect(value).to.equal(true);
|
|
90
|
+
});
|
|
91
|
+
it('returns true with the pubId and adUnitPath params with empty values', function () {
|
|
92
|
+
const config = {
|
|
93
|
+
name: 'ias',
|
|
94
|
+
waitForIt: true,
|
|
95
|
+
params: {
|
|
96
|
+
pubId: '123456',
|
|
97
|
+
keyMappings: {
|
|
98
|
+
'id': 'ias_id'
|
|
99
|
+
},
|
|
100
|
+
adUnitPath: {
|
|
101
|
+
'one-div-id': '/012345/ad/unit/path',
|
|
102
|
+
'another-div-id': '',
|
|
103
|
+
'third-div-id': ''
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
};
|
|
107
|
+
const value = iasSubModule.init(config);
|
|
108
|
+
expect(value).to.equal(true);
|
|
109
|
+
});
|
|
57
110
|
});
|
|
58
111
|
describe('has a method `getBidRequestData` that', function () {
|
|
59
112
|
it('exists', function () {
|
|
@@ -138,7 +191,10 @@ const config = {
|
|
|
138
191
|
keyMappings: {
|
|
139
192
|
'id': 'ias_id'
|
|
140
193
|
},
|
|
141
|
-
pageUrl: 'https://integralads.com/test'
|
|
194
|
+
pageUrl: 'https://integralads.com/test',
|
|
195
|
+
adUnitPath: {
|
|
196
|
+
'one-div-id': '/012345/ad/unit/path'
|
|
197
|
+
}
|
|
142
198
|
}
|
|
143
199
|
};
|
|
144
200
|
|
|
@@ -1870,6 +1870,18 @@ describe('IndexexchangeAdapter', function () {
|
|
|
1870
1870
|
expect(impression.banner.format[0].ext.fl).to.equal('x');
|
|
1871
1871
|
});
|
|
1872
1872
|
|
|
1873
|
+
it('banner multi size impression should have bidFloor both in imp and format ext obejcts', function () {
|
|
1874
|
+
const bid = utils.deepClone(DEFAULT_BANNER_VALID_BID[0]);
|
|
1875
|
+
bid.params.bidFloor = 50;
|
|
1876
|
+
bid.params.bidFloorCur = 'USD';
|
|
1877
|
+
const requestBidFloor = spec.buildRequests([bid], {})[0];
|
|
1878
|
+
const impression = JSON.parse(requestBidFloor.data.r).imp[0];
|
|
1879
|
+
|
|
1880
|
+
expect(impression.bidfloor).to.equal(bid.params.bidFloor);
|
|
1881
|
+
expect(impression.bidfloorcur).to.equal(bid.params.bidFloorCur);
|
|
1882
|
+
expect(impression.banner.format[0].ext.bidfloor).to.equal(50);
|
|
1883
|
+
});
|
|
1884
|
+
|
|
1873
1885
|
it('missing sizes impressions should contain floors from priceFloors module ', function () {
|
|
1874
1886
|
const bid = utils.deepClone(ONE_BANNER[0]);
|
|
1875
1887
|
bid.mediaTypes.banner.sizes.push([500, 400])
|