prebid.js 9.52.0 → 9.53.2
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/.circleci/config.yml +27 -4
- package/creative/crossDomain.js +4 -2
- package/dist/33acrossAnalyticsAdapter.js +1 -1
- package/dist/33acrossBidAdapter.js +1 -1
- package/dist/33acrossIdSystem.js +1 -1
- package/dist/BTBidAdapter.js +1 -1
- package/dist/adagioAnalyticsAdapter.js +1 -1
- package/dist/adagioBidAdapter.js +1 -1
- package/dist/adagioUtils.js +1 -1
- package/dist/addefendBidAdapter.js +1 -1
- package/dist/adgenerationBidAdapter.js +1 -1
- package/dist/adlooxRtdProvider.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/adxcgAnalyticsAdapter.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/aniviewBidAdapter.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/beopBidAdapter.js +1 -1
- package/dist/bidglassBidAdapter.js +1 -1
- package/dist/big-richmediaBidAdapter.js +1 -1
- package/dist/bitmediaBidAdapter.js +1 -1
- package/dist/bridBidAdapter.js +1 -1
- package/dist/bridgeuppBidAdapter.js +1 -1
- package/dist/bridgewellBidAdapter.js +1 -1
- package/dist/brightMountainMediaBidAdapter.js +1 -1
- package/dist/carodaBidAdapter.js +1 -1
- package/dist/chromeAiRtdProvider.js +1 -0
- package/dist/chtnwBidAdapter.js +1 -1
- package/dist/chunk-core.js +1 -1
- package/dist/concertBidAdapter.js +1 -1
- package/dist/connectadBidAdapter.js +1 -1
- package/dist/consumableBidAdapter.js +1 -1
- package/dist/contxtfulBidAdapter.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/dailymotionBidAdapter.js +1 -1
- package/dist/debugging-standalone.js +1 -1
- package/dist/dependencies.json +10 -2
- package/dist/dspxBidAdapter.js +1 -1
- package/dist/dxkultureBidAdapter.js +1 -1
- package/dist/eplanningBidAdapter.js +1 -1
- package/dist/equativBidAdapter.js +1 -1
- package/dist/eskimiBidAdapter.js +1 -1
- package/dist/euidIdSystem.js +1 -1
- package/dist/exadsBidAdapter.js +1 -1
- package/dist/excoBidAdapter.js +1 -1
- package/dist/fanAdapter.js +1 -1
- package/dist/feedadBidAdapter.js +1 -1
- package/dist/finativeBidAdapter.js +1 -1
- package/dist/freewheel-sspBidAdapter.js +1 -1
- package/dist/gmosspBidAdapter.js +1 -1
- package/dist/greenbidsAnalyticsAdapter.js +1 -1
- package/dist/greenbidsBidAdapter.js +1 -1
- package/dist/greenbidsRtdProvider.js +1 -1
- package/dist/gridBidAdapter.js +1 -1
- package/dist/gumgumBidAdapter.js +1 -1
- package/dist/h12mediaBidAdapter.js +1 -1
- package/dist/hypelabBidAdapter.js +1 -1
- package/dist/id5AnalyticsAdapter.js +1 -1
- package/dist/id5IdSystem.js +1 -1
- package/dist/imdsBidAdapter.js +1 -1
- package/dist/improvedigitalBidAdapter.js +1 -1
- package/dist/inmobiBidAdapter.js +1 -1
- package/dist/insticatorBidAdapter.js +1 -1
- package/dist/intentIqAnalyticsAdapter.js +1 -1
- package/dist/ixBidAdapter.js +1 -1
- package/dist/jixieBidAdapter.js +1 -1
- package/dist/jixieIdSystem.js +1 -0
- package/dist/justpremiumBidAdapter.js +1 -1
- package/dist/kargoBidAdapter.js +1 -1
- package/dist/kimberliteBidAdapter.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/liveIntentId.js +1 -1
- package/dist/logicadBidAdapter.js +1 -1
- package/dist/loglyliftBidAdapter.js +1 -1
- package/dist/luceadBidAdapter.js +1 -1
- package/dist/mabidderBidAdapter.js +1 -1
- package/dist/madsenseBidAdapter.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/medianetBidAdapter.js +1 -1
- package/dist/medianetUtils.js +1 -1
- package/dist/mediasquareBidAdapter.js +1 -1
- package/dist/mgidBidAdapter.js +1 -1
- package/dist/missenaBidAdapter.js +1 -1
- package/dist/mobilefuseBidAdapter.js +1 -1
- package/dist/nextMillenniumBidAdapter.js +1 -1
- package/dist/nexx360Utils.js +1 -1
- package/dist/nobidAnalyticsAdapter.js +1 -1
- package/dist/nobidBidAdapter.js +1 -1
- package/dist/nodalsAiRtdProvider.js +1 -1
- package/dist/not-for-prod/prebid.js +175 -173
- 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/orbidderBidAdapter.js +1 -1
- package/dist/ortb2.5Translator.js +1 -1
- package/dist/outbrainBidAdapter.js +1 -1
- package/dist/ozoneBidAdapter.js +1 -1
- package/dist/pixfutureBidAdapter.js +1 -1
- package/dist/prebidServerBidAdapter.js +1 -1
- package/dist/publinkIdSystem.js +1 -1
- package/dist/pubmaticAnalyticsAdapter.js +1 -1
- package/dist/pubmaticBidAdapter.js +1 -1
- package/dist/pubmaticRtdProvider.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/relevatehealthBidAdapter.js +1 -1
- package/dist/retailspotBidAdapter.js +1 -1
- package/dist/rhythmoneBidAdapter.js +1 -1
- package/dist/riseUtils.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/showheroes-bsBidAdapter.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/snigelBidAdapter.js +1 -1
- package/dist/sonobiBidAdapter.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/tappxBidAdapter.js +1 -1
- package/dist/targetVideoBidAdapter.js +1 -1
- package/dist/teadsBidAdapter.js +1 -1
- package/dist/terceptAnalyticsAdapter.js +1 -1
- package/dist/themoneytizerBidAdapter.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/vidazooUtils.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/yahooAdsBidAdapter.js +1 -1
- package/dist/yandexBidAdapter.js +1 -1
- package/dist/yieldmoBidAdapter.js +1 -1
- package/dist/yieldoneAnalyticsAdapter.js +1 -1
- package/gulpfile.js +12 -6
- package/integrationExamples/chromeai/japanese.html +224 -0
- package/integrationExamples/gpt/x-domain/creative.html +1 -1
- package/karma.conf.maker.js +7 -7
- package/karmaRunner.js +3 -3
- package/libraries/liveIntentId/shared.js +16 -0
- package/modules/.submodules.json +1 -0
- package/modules/aniviewBidAdapter.js +32 -23
- package/modules/chromeAiRtdProvider.js +421 -0
- package/modules/chromeAiRtdProvider.md +230 -0
- package/modules/fanAdapter.js +318 -124
- package/modules/ixBidAdapter.js +5 -0
- package/modules/jixieIdSystem.js +186 -0
- package/modules/ozoneBidAdapter.js +214 -336
- package/modules/prebidServerBidAdapter/index.js +59 -35
- package/modules/pubmaticRtdProvider.js +418 -4
- package/modules/pubmaticRtdProvider.md +12 -2
- package/modules/relevatehealthBidAdapter.js +20 -130
- package/modules/relevatehealthBidAdapter.md +1 -2
- package/modules/sovrnBidAdapter.js +4 -4
- package/modules/teadsBidAdapter.js +5 -0
- package/modules/ttdBidAdapter.js +5 -4
- package/modules/userId/index.js +30 -31
- package/package.json +5 -4
- package/src/adapterManager.js +3 -0
- package/test/spec/libraries/cmUtils_spec.js +17 -12
- package/test/spec/modules/aniviewBidAdapter_spec.js +15 -2
- package/test/spec/modules/chromeAiRtdProvider_spec.js +393 -0
- package/test/spec/modules/dgkeywordRtdProvider_spec.js +5 -2
- package/test/spec/modules/euidIdSystem_spec.js +9 -3
- package/test/spec/modules/fanAdapter_spec.js +264 -268
- package/test/spec/modules/id5IdSystem_spec.js +57 -101
- package/test/spec/modules/identityLinkIdSystem_spec.js +1 -0
- package/test/spec/modules/idxIdSystem_spec.js +2 -75
- package/test/spec/modules/instreamTracking_spec.js +15 -18
- package/test/spec/modules/ixBidAdapter_spec.js +26 -0
- package/test/spec/modules/jixieIdSystem_spec.js +303 -0
- package/test/spec/modules/liveIntentExternalIdSystem_spec.js +5 -0
- package/test/spec/modules/liveIntentIdMinimalSystem_spec.js +5 -0
- package/test/spec/modules/liveIntentIdSystem_spec.js +38 -0
- package/test/spec/modules/lmpIdSystem_spec.js +2 -81
- package/test/spec/modules/ozoneBidAdapter_spec.js +511 -658
- package/test/spec/modules/prebidServerBidAdapter_spec.js +72 -2
- package/test/spec/modules/pubmaticBidAdapter_spec.js +411 -126
- package/test/spec/modules/pubmaticRtdProvider_spec.js +946 -2
- package/test/spec/modules/raynRtdProvider_spec.js +18 -22
- package/test/spec/modules/relevatehealthBidAdapter_spec.js +9 -39
- package/test/spec/modules/sharedIdSystem_spec.js +3 -3
- package/test/spec/modules/sovrnBidAdapter_spec.js +71 -3
- package/test/spec/modules/teadsBidAdapter_spec.js +9 -4
- package/test/spec/modules/ttdBidAdapter_spec.js +24 -2
- package/test/spec/modules/uid2IdSystem_helpers.js +5 -2
- package/test/spec/modules/userId_spec.js +142 -387
- package/test/spec/modules/yieldoneAnalyticsAdapter_spec.js +13 -12
- package/test/spec/modules/zeotapIdPlusIdSystem_spec.js +3 -69
- package/wdio.shared.conf.js +2 -2
- package/CLAUDE.md +0 -1
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
import { expect } from 'chai';
|
|
2
|
-
import { spec, getWidthAndHeightFromVideoObject,
|
|
2
|
+
import { spec, getWidthAndHeightFromVideoObject, defaultSize } from 'modules/ozoneBidAdapter.js';
|
|
3
3
|
import { config } from 'src/config.js';
|
|
4
4
|
import {Renderer} from '../../../src/Renderer.js';
|
|
5
|
-
import {getGranularityKeyName, getGranularityObject} from '../../../modules/ozoneBidAdapter.js';
|
|
6
5
|
import * as utils from '../../../src/utils.js';
|
|
7
6
|
import {deepSetValue} from '../../../src/utils.js';
|
|
8
7
|
const OZONEURI = 'https://elb.the-ozone-project.com/openrtb2/auction';
|
|
9
8
|
const BIDDER_CODE = 'ozone';
|
|
10
9
|
spec.getGetParametersAsObject = function() {
|
|
11
10
|
return {
|
|
12
|
-
page: 'https://www.
|
|
13
|
-
location: 'https://www.
|
|
11
|
+
page: 'https://www.ozoneproject.com/sometestPage/?qsParam1=123',
|
|
12
|
+
location: 'https://www.ozoneproject.com/sometestPage/?qsParam1=123'
|
|
14
13
|
};
|
|
15
14
|
}
|
|
16
15
|
var validBidRequests = [
|
|
@@ -153,11 +152,11 @@ var validBidRequestsWithAuctionIdTransactionId = [{
|
|
|
153
152
|
}
|
|
154
153
|
},
|
|
155
154
|
'site': {
|
|
156
|
-
'domain': '
|
|
155
|
+
'domain': 'ozoneproject.com',
|
|
157
156
|
'publisher': {
|
|
158
|
-
'domain': '
|
|
157
|
+
'domain': 'ozoneproject.com'
|
|
159
158
|
},
|
|
160
|
-
'page': 'https://www.
|
|
159
|
+
'page': 'https://www.ozoneproject.com/ozone/2.9.4/20240715-test-singlereq-optin.html?pbjs_debug=true'
|
|
161
160
|
},
|
|
162
161
|
'device': {
|
|
163
162
|
'w': 1609,
|
|
@@ -252,11 +251,11 @@ var valid6BidRequestsWithAuctionIdTransactionId = [{
|
|
|
252
251
|
}
|
|
253
252
|
},
|
|
254
253
|
'site': {
|
|
255
|
-
'domain': '
|
|
254
|
+
'domain': 'ozoneproject.com',
|
|
256
255
|
'publisher': {
|
|
257
|
-
'domain': '
|
|
256
|
+
'domain': 'ozoneproject.com'
|
|
258
257
|
},
|
|
259
|
-
'page': 'https://www.
|
|
258
|
+
'page': 'https://www.ozoneproject.com/ozone/2.9.4/20240715-test-singlereq-optin.html?pbjs_debug=true'
|
|
260
259
|
},
|
|
261
260
|
'device': {
|
|
262
261
|
'w': 1609,
|
|
@@ -267,501 +266,501 @@ var valid6BidRequestsWithAuctionIdTransactionId = [{
|
|
|
267
266
|
}
|
|
268
267
|
}
|
|
269
268
|
},
|
|
270
|
-
{
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
}
|
|
289
|
-
]
|
|
290
|
-
},
|
|
291
|
-
'ortb2Imp': {
|
|
292
|
-
'ext': {
|
|
293
|
-
'gpid': 'mpu_pbadslot_from_adunit',
|
|
294
|
-
'data': {
|
|
295
|
-
'pbadslot': 'mpu_pbadslot_from_adunit',
|
|
296
|
-
'adserver': {
|
|
297
|
-
'name': 'gam',
|
|
298
|
-
'adslot': '/22037345/projectozone'
|
|
269
|
+
{
|
|
270
|
+
'bidder': 'ozone',
|
|
271
|
+
'params': {
|
|
272
|
+
'publisherId': 'OZONENUK0001',
|
|
273
|
+
'siteId': '4204204201',
|
|
274
|
+
'placementId': '8000000330',
|
|
275
|
+
'customData': [
|
|
276
|
+
{
|
|
277
|
+
'settings': {},
|
|
278
|
+
'targeting': {
|
|
279
|
+
'sens': 'f',
|
|
280
|
+
'pt1': '/uk',
|
|
281
|
+
'pt5': [
|
|
282
|
+
'uk'
|
|
283
|
+
],
|
|
284
|
+
'pt7': 'desktop',
|
|
285
|
+
'pt9': '|k0xw2vqzp33kklb3j5w4|||'
|
|
286
|
+
}
|
|
299
287
|
}
|
|
300
|
-
},
|
|
301
|
-
'tid': 'f0dac8b5-09df-4da7-9d83-c99786d4517a'
|
|
302
|
-
}
|
|
303
|
-
},
|
|
304
|
-
'mediaTypes': {
|
|
305
|
-
'banner': {
|
|
306
|
-
'sizes': [
|
|
307
|
-
[
|
|
308
|
-
300,
|
|
309
|
-
250
|
|
310
|
-
],
|
|
311
|
-
[
|
|
312
|
-
300,
|
|
313
|
-
600
|
|
314
|
-
]
|
|
315
288
|
]
|
|
316
|
-
}
|
|
317
|
-
},
|
|
318
|
-
'adUnitCode': 'mpu2',
|
|
319
|
-
'transactionId': 'f0dac8b5-09df-4da7-9d83-c99786d4517a',
|
|
320
|
-
'adUnitId': '715b4bdc-515f-488b-8633-333654e72f3f',
|
|
321
|
-
'sizes': [
|
|
322
|
-
[
|
|
323
|
-
300,
|
|
324
|
-
250
|
|
325
|
-
],
|
|
326
|
-
[
|
|
327
|
-
300,
|
|
328
|
-
600
|
|
329
|
-
]
|
|
330
|
-
],
|
|
331
|
-
'bidId': '3da18cc31f1ddb',
|
|
332
|
-
'bidderRequestId': '263c3b0d970326',
|
|
333
|
-
'auctionId': 'a9c479d0-d9cc-4505-a0a6-5982ce8fb8f0',
|
|
334
|
-
'src': 'client',
|
|
335
|
-
'bidRequestsCount': 1,
|
|
336
|
-
'bidderRequestsCount': 1,
|
|
337
|
-
'bidderWinsCount': 0,
|
|
338
|
-
'ortb2': {
|
|
339
|
-
'source': {
|
|
340
|
-
'tid': 'a9c479d0-d9cc-4505-a0a6-5982ce8fb8f0'
|
|
341
289
|
},
|
|
342
|
-
'
|
|
290
|
+
'ortb2Imp': {
|
|
343
291
|
'ext': {
|
|
344
|
-
'
|
|
345
|
-
'
|
|
292
|
+
'gpid': 'mpu_pbadslot_from_adunit',
|
|
293
|
+
'data': {
|
|
294
|
+
'pbadslot': 'mpu_pbadslot_from_adunit',
|
|
295
|
+
'adserver': {
|
|
296
|
+
'name': 'gam',
|
|
297
|
+
'adslot': '/22037345/projectozone'
|
|
298
|
+
}
|
|
299
|
+
},
|
|
300
|
+
'tid': 'f0dac8b5-09df-4da7-9d83-c99786d4517a'
|
|
346
301
|
}
|
|
347
302
|
},
|
|
348
|
-
'
|
|
349
|
-
'
|
|
350
|
-
'
|
|
303
|
+
'mediaTypes': {
|
|
304
|
+
'banner': {
|
|
305
|
+
'sizes': [
|
|
306
|
+
[
|
|
307
|
+
300,
|
|
308
|
+
250
|
|
309
|
+
],
|
|
310
|
+
[
|
|
311
|
+
300,
|
|
312
|
+
600
|
|
313
|
+
]
|
|
314
|
+
]
|
|
351
315
|
}
|
|
352
316
|
},
|
|
353
|
-
'
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
317
|
+
'adUnitCode': 'mpu2',
|
|
318
|
+
'transactionId': 'f0dac8b5-09df-4da7-9d83-c99786d4517a',
|
|
319
|
+
'adUnitId': '715b4bdc-515f-488b-8633-333654e72f3f',
|
|
320
|
+
'sizes': [
|
|
321
|
+
[
|
|
322
|
+
300,
|
|
323
|
+
250
|
|
324
|
+
],
|
|
325
|
+
[
|
|
326
|
+
300,
|
|
327
|
+
600
|
|
328
|
+
]
|
|
329
|
+
],
|
|
330
|
+
'bidId': '3da18cc31f1ddb',
|
|
331
|
+
'bidderRequestId': '263c3b0d970326',
|
|
332
|
+
'auctionId': 'a9c479d0-d9cc-4505-a0a6-5982ce8fb8f0',
|
|
333
|
+
'src': 'client',
|
|
334
|
+
'bidRequestsCount': 1,
|
|
335
|
+
'bidderRequestsCount': 1,
|
|
336
|
+
'bidderWinsCount': 0,
|
|
337
|
+
'ortb2': {
|
|
338
|
+
'source': {
|
|
339
|
+
'tid': 'a9c479d0-d9cc-4505-a0a6-5982ce8fb8f0'
|
|
357
340
|
},
|
|
358
|
-
'
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
'h': 279,
|
|
363
|
-
'dnt': 0,
|
|
364
|
-
'ua': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36',
|
|
365
|
-
'language': 'en'
|
|
366
|
-
}
|
|
367
|
-
}
|
|
368
|
-
},
|
|
369
|
-
{
|
|
370
|
-
'bidder': 'ozone',
|
|
371
|
-
'params': {
|
|
372
|
-
'publisherId': 'OZONENUK0001',
|
|
373
|
-
'siteId': '4204204201',
|
|
374
|
-
'placementId': '8000000330',
|
|
375
|
-
'customData': [
|
|
376
|
-
{
|
|
377
|
-
'settings': {},
|
|
378
|
-
'targeting': {
|
|
379
|
-
'sens': 'f',
|
|
380
|
-
'pt1': '/uk',
|
|
381
|
-
'pt5': [
|
|
382
|
-
'uk'
|
|
383
|
-
],
|
|
384
|
-
'pt7': 'desktop',
|
|
385
|
-
'pt9': '|k0xw2vqzp33kklb3j5w4|||'
|
|
341
|
+
'regs': {
|
|
342
|
+
'ext': {
|
|
343
|
+
'gdpr': 1,
|
|
344
|
+
'us_privacy': '1Y--'
|
|
386
345
|
}
|
|
387
|
-
}
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
'ext': {
|
|
392
|
-
'gpid': 'mpu_pbadslot_from_adunit',
|
|
393
|
-
'data': {
|
|
394
|
-
'pbadslot': 'mpu_pbadslot_from_adunit',
|
|
395
|
-
'adserver': {
|
|
396
|
-
'name': 'gam',
|
|
397
|
-
'adslot': '/22037345/projectozone'
|
|
346
|
+
},
|
|
347
|
+
'user': {
|
|
348
|
+
'ext': {
|
|
349
|
+
'consent': 'CQAaAwAQAaAwAAKA1AENA5EsAP_gAEPgACiQKRNV_G__bWlr8X73aftkeY1P9_h77sQxBhfJE-4FzLuW_JwXx2ExNA36tqIKmRIEu3bBIQNlHJDUTVCgaogVryDMakWcoTNKJ6BkiFMRO2dYCF5vmwtj-QKY5vr993dx2B-t_dv83dzyz4VHn3a5_2e0WJCdA58tDfv9bROb-9IPd_58v4v8_F_rE2_eT1l_tevp7D9-cts7_XW-9_fff79Ll_-mBwUcALMNCogDLIkJCDQMIIEAKgrCAigQAAAAkDRAQAmDAp2BgEusJEAIAUAAwQAgABRkACAAASABCIAIACgQAAQCBQAAgAACAQAMDAAGACwEAgABAdAhTAggUCwASMyIhTAgCgSCAlsqEEgCBBXCEIs8CCAREwUAAAJABWAAICwWAxJICViQQJcQbQAAEACAQQAVCKTswBBAGbLVXiibRlaQFo-ACjgAAAAA.YAAAAAAAAAAA'
|
|
398
350
|
}
|
|
399
351
|
},
|
|
400
|
-
'
|
|
352
|
+
'site': {
|
|
353
|
+
'domain': 'ozoneproject.com',
|
|
354
|
+
'publisher': {
|
|
355
|
+
'domain': 'ozoneproject.com'
|
|
356
|
+
},
|
|
357
|
+
'page': 'https://www.ozoneproject.com/ozone/2.9.4/20240715-test-singlereq-optin.html?pbjs_debug=true'
|
|
358
|
+
},
|
|
359
|
+
'device': {
|
|
360
|
+
'w': 1609,
|
|
361
|
+
'h': 279,
|
|
362
|
+
'dnt': 0,
|
|
363
|
+
'ua': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36',
|
|
364
|
+
'language': 'en'
|
|
365
|
+
}
|
|
401
366
|
}
|
|
402
367
|
},
|
|
403
|
-
|
|
404
|
-
'
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
368
|
+
{
|
|
369
|
+
'bidder': 'ozone',
|
|
370
|
+
'params': {
|
|
371
|
+
'publisherId': 'OZONENUK0001',
|
|
372
|
+
'siteId': '4204204201',
|
|
373
|
+
'placementId': '8000000330',
|
|
374
|
+
'customData': [
|
|
375
|
+
{
|
|
376
|
+
'settings': {},
|
|
377
|
+
'targeting': {
|
|
378
|
+
'sens': 'f',
|
|
379
|
+
'pt1': '/uk',
|
|
380
|
+
'pt5': [
|
|
381
|
+
'uk'
|
|
382
|
+
],
|
|
383
|
+
'pt7': 'desktop',
|
|
384
|
+
'pt9': '|k0xw2vqzp33kklb3j5w4|||'
|
|
385
|
+
}
|
|
386
|
+
}
|
|
414
387
|
]
|
|
415
|
-
}
|
|
416
|
-
},
|
|
417
|
-
'adUnitCode': 'mpu3',
|
|
418
|
-
'transactionId': 'f0dac8b5-09df-4da7-9d83-c99786d4517a',
|
|
419
|
-
'adUnitId': '715b4bdc-515f-488b-8633-333654e72f3f',
|
|
420
|
-
'sizes': [
|
|
421
|
-
[
|
|
422
|
-
300,
|
|
423
|
-
250
|
|
424
|
-
],
|
|
425
|
-
[
|
|
426
|
-
300,
|
|
427
|
-
600
|
|
428
|
-
]
|
|
429
|
-
],
|
|
430
|
-
'bidId': '3da18cc31f1ddc',
|
|
431
|
-
'bidderRequestId': '263c3b0d970326',
|
|
432
|
-
'auctionId': 'a9c479d0-d9cc-4505-a0a6-5982ce8fb8f0',
|
|
433
|
-
'src': 'client',
|
|
434
|
-
'bidRequestsCount': 1,
|
|
435
|
-
'bidderRequestsCount': 1,
|
|
436
|
-
'bidderWinsCount': 0,
|
|
437
|
-
'ortb2': {
|
|
438
|
-
'source': {
|
|
439
|
-
'tid': 'a9c479d0-d9cc-4505-a0a6-5982ce8fb8f0'
|
|
440
388
|
},
|
|
441
|
-
'
|
|
389
|
+
'ortb2Imp': {
|
|
442
390
|
'ext': {
|
|
443
|
-
'
|
|
444
|
-
'
|
|
391
|
+
'gpid': 'mpu_pbadslot_from_adunit',
|
|
392
|
+
'data': {
|
|
393
|
+
'pbadslot': 'mpu_pbadslot_from_adunit',
|
|
394
|
+
'adserver': {
|
|
395
|
+
'name': 'gam',
|
|
396
|
+
'adslot': '/22037345/projectozone'
|
|
397
|
+
}
|
|
398
|
+
},
|
|
399
|
+
'tid': 'f0dac8b5-09df-4da7-9d83-c99786d4517a'
|
|
445
400
|
}
|
|
446
401
|
},
|
|
447
|
-
'
|
|
448
|
-
'
|
|
449
|
-
'
|
|
402
|
+
'mediaTypes': {
|
|
403
|
+
'banner': {
|
|
404
|
+
'sizes': [
|
|
405
|
+
[
|
|
406
|
+
300,
|
|
407
|
+
250
|
|
408
|
+
],
|
|
409
|
+
[
|
|
410
|
+
300,
|
|
411
|
+
600
|
|
412
|
+
]
|
|
413
|
+
]
|
|
450
414
|
}
|
|
451
415
|
},
|
|
452
|
-
'
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
416
|
+
'adUnitCode': 'mpu3',
|
|
417
|
+
'transactionId': 'f0dac8b5-09df-4da7-9d83-c99786d4517a',
|
|
418
|
+
'adUnitId': '715b4bdc-515f-488b-8633-333654e72f3f',
|
|
419
|
+
'sizes': [
|
|
420
|
+
[
|
|
421
|
+
300,
|
|
422
|
+
250
|
|
423
|
+
],
|
|
424
|
+
[
|
|
425
|
+
300,
|
|
426
|
+
600
|
|
427
|
+
]
|
|
428
|
+
],
|
|
429
|
+
'bidId': '3da18cc31f1ddc',
|
|
430
|
+
'bidderRequestId': '263c3b0d970326',
|
|
431
|
+
'auctionId': 'a9c479d0-d9cc-4505-a0a6-5982ce8fb8f0',
|
|
432
|
+
'src': 'client',
|
|
433
|
+
'bidRequestsCount': 1,
|
|
434
|
+
'bidderRequestsCount': 1,
|
|
435
|
+
'bidderWinsCount': 0,
|
|
436
|
+
'ortb2': {
|
|
437
|
+
'source': {
|
|
438
|
+
'tid': 'a9c479d0-d9cc-4505-a0a6-5982ce8fb8f0'
|
|
456
439
|
},
|
|
457
|
-
'
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
'h': 279,
|
|
462
|
-
'dnt': 0,
|
|
463
|
-
'ua': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36',
|
|
464
|
-
'language': 'en'
|
|
465
|
-
}
|
|
466
|
-
}
|
|
467
|
-
},
|
|
468
|
-
{
|
|
469
|
-
'bidder': 'ozone',
|
|
470
|
-
'params': {
|
|
471
|
-
'publisherId': 'OZONENUK0001',
|
|
472
|
-
'siteId': '4204204201',
|
|
473
|
-
'placementId': '8000000330',
|
|
474
|
-
'customData': [
|
|
475
|
-
{
|
|
476
|
-
'settings': {},
|
|
477
|
-
'targeting': {
|
|
478
|
-
'sens': 'f',
|
|
479
|
-
'pt1': '/uk',
|
|
480
|
-
'pt5': [
|
|
481
|
-
'uk'
|
|
482
|
-
],
|
|
483
|
-
'pt7': 'desktop',
|
|
484
|
-
'pt9': '|k0xw2vqzp33kklb3j5w4|||'
|
|
440
|
+
'regs': {
|
|
441
|
+
'ext': {
|
|
442
|
+
'gdpr': 1,
|
|
443
|
+
'us_privacy': '1Y--'
|
|
485
444
|
}
|
|
486
|
-
}
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
'ext': {
|
|
491
|
-
'gpid': 'mpu_pbadslot_from_adunit',
|
|
492
|
-
'data': {
|
|
493
|
-
'pbadslot': 'mpu_pbadslot_from_adunit',
|
|
494
|
-
'adserver': {
|
|
495
|
-
'name': 'gam',
|
|
496
|
-
'adslot': '/22037345/projectozone'
|
|
445
|
+
},
|
|
446
|
+
'user': {
|
|
447
|
+
'ext': {
|
|
448
|
+
'consent': 'CQAaAwAQAaAwAAKA1AENA5EsAP_gAEPgACiQKRNV_G__bWlr8X73aftkeY1P9_h77sQxBhfJE-4FzLuW_JwXx2ExNA36tqIKmRIEu3bBIQNlHJDUTVCgaogVryDMakWcoTNKJ6BkiFMRO2dYCF5vmwtj-QKY5vr993dx2B-t_dv83dzyz4VHn3a5_2e0WJCdA58tDfv9bROb-9IPd_58v4v8_F_rE2_eT1l_tevp7D9-cts7_XW-9_fff79Ll_-mBwUcALMNCogDLIkJCDQMIIEAKgrCAigQAAAAkDRAQAmDAp2BgEusJEAIAUAAwQAgABRkACAAASABCIAIACgQAAQCBQAAgAACAQAMDAAGACwEAgABAdAhTAggUCwASMyIhTAgCgSCAlsqEEgCBBXCEIs8CCAREwUAAAJABWAAICwWAxJICViQQJcQbQAAEACAQQAVCKTswBBAGbLVXiibRlaQFo-ACjgAAAAA.YAAAAAAAAAAA'
|
|
497
449
|
}
|
|
498
450
|
},
|
|
499
|
-
'
|
|
451
|
+
'site': {
|
|
452
|
+
'domain': 'ozoneproject.com',
|
|
453
|
+
'publisher': {
|
|
454
|
+
'domain': 'ozoneproject.com'
|
|
455
|
+
},
|
|
456
|
+
'page': 'https://www.ozoneproject.com/ozone/2.9.4/20240715-test-singlereq-optin.html?pbjs_debug=true'
|
|
457
|
+
},
|
|
458
|
+
'device': {
|
|
459
|
+
'w': 1609,
|
|
460
|
+
'h': 279,
|
|
461
|
+
'dnt': 0,
|
|
462
|
+
'ua': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36',
|
|
463
|
+
'language': 'en'
|
|
464
|
+
}
|
|
500
465
|
}
|
|
501
466
|
},
|
|
502
|
-
|
|
503
|
-
'
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
467
|
+
{
|
|
468
|
+
'bidder': 'ozone',
|
|
469
|
+
'params': {
|
|
470
|
+
'publisherId': 'OZONENUK0001',
|
|
471
|
+
'siteId': '4204204201',
|
|
472
|
+
'placementId': '8000000330',
|
|
473
|
+
'customData': [
|
|
474
|
+
{
|
|
475
|
+
'settings': {},
|
|
476
|
+
'targeting': {
|
|
477
|
+
'sens': 'f',
|
|
478
|
+
'pt1': '/uk',
|
|
479
|
+
'pt5': [
|
|
480
|
+
'uk'
|
|
481
|
+
],
|
|
482
|
+
'pt7': 'desktop',
|
|
483
|
+
'pt9': '|k0xw2vqzp33kklb3j5w4|||'
|
|
484
|
+
}
|
|
485
|
+
}
|
|
513
486
|
]
|
|
514
|
-
}
|
|
515
|
-
},
|
|
516
|
-
'adUnitCode': 'mpu4',
|
|
517
|
-
'transactionId': 'f0dac8b5-09df-4da7-9d83-c99786d4517a',
|
|
518
|
-
'adUnitId': '715b4bdc-515f-488b-8633-333654e72f3f',
|
|
519
|
-
'sizes': [
|
|
520
|
-
[
|
|
521
|
-
300,
|
|
522
|
-
250
|
|
523
|
-
],
|
|
524
|
-
[
|
|
525
|
-
300,
|
|
526
|
-
600
|
|
527
|
-
]
|
|
528
|
-
],
|
|
529
|
-
'bidId': '3da18cc31f1ddd',
|
|
530
|
-
'bidderRequestId': '263c3b0d970326',
|
|
531
|
-
'auctionId': 'a9c479d0-d9cc-4505-a0a6-5982ce8fb8f0',
|
|
532
|
-
'src': 'client',
|
|
533
|
-
'bidRequestsCount': 1,
|
|
534
|
-
'bidderRequestsCount': 1,
|
|
535
|
-
'bidderWinsCount': 0,
|
|
536
|
-
'ortb2': {
|
|
537
|
-
'source': {
|
|
538
|
-
'tid': 'a9c479d0-d9cc-4505-a0a6-5982ce8fb8f0'
|
|
539
487
|
},
|
|
540
|
-
'
|
|
488
|
+
'ortb2Imp': {
|
|
541
489
|
'ext': {
|
|
542
|
-
'
|
|
543
|
-
'
|
|
490
|
+
'gpid': 'mpu_pbadslot_from_adunit',
|
|
491
|
+
'data': {
|
|
492
|
+
'pbadslot': 'mpu_pbadslot_from_adunit',
|
|
493
|
+
'adserver': {
|
|
494
|
+
'name': 'gam',
|
|
495
|
+
'adslot': '/22037345/projectozone'
|
|
496
|
+
}
|
|
497
|
+
},
|
|
498
|
+
'tid': 'f0dac8b5-09df-4da7-9d83-c99786d4517a'
|
|
544
499
|
}
|
|
545
500
|
},
|
|
546
|
-
'
|
|
547
|
-
'
|
|
548
|
-
'
|
|
501
|
+
'mediaTypes': {
|
|
502
|
+
'banner': {
|
|
503
|
+
'sizes': [
|
|
504
|
+
[
|
|
505
|
+
300,
|
|
506
|
+
250
|
|
507
|
+
],
|
|
508
|
+
[
|
|
509
|
+
300,
|
|
510
|
+
600
|
|
511
|
+
]
|
|
512
|
+
]
|
|
549
513
|
}
|
|
550
514
|
},
|
|
551
|
-
'
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
515
|
+
'adUnitCode': 'mpu4',
|
|
516
|
+
'transactionId': 'f0dac8b5-09df-4da7-9d83-c99786d4517a',
|
|
517
|
+
'adUnitId': '715b4bdc-515f-488b-8633-333654e72f3f',
|
|
518
|
+
'sizes': [
|
|
519
|
+
[
|
|
520
|
+
300,
|
|
521
|
+
250
|
|
522
|
+
],
|
|
523
|
+
[
|
|
524
|
+
300,
|
|
525
|
+
600
|
|
526
|
+
]
|
|
527
|
+
],
|
|
528
|
+
'bidId': '3da18cc31f1ddd',
|
|
529
|
+
'bidderRequestId': '263c3b0d970326',
|
|
530
|
+
'auctionId': 'a9c479d0-d9cc-4505-a0a6-5982ce8fb8f0',
|
|
531
|
+
'src': 'client',
|
|
532
|
+
'bidRequestsCount': 1,
|
|
533
|
+
'bidderRequestsCount': 1,
|
|
534
|
+
'bidderWinsCount': 0,
|
|
535
|
+
'ortb2': {
|
|
536
|
+
'source': {
|
|
537
|
+
'tid': 'a9c479d0-d9cc-4505-a0a6-5982ce8fb8f0'
|
|
555
538
|
},
|
|
556
|
-
'
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
'h': 279,
|
|
561
|
-
'dnt': 0,
|
|
562
|
-
'ua': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36',
|
|
563
|
-
'language': 'en'
|
|
564
|
-
}
|
|
565
|
-
}
|
|
566
|
-
},
|
|
567
|
-
{
|
|
568
|
-
'bidder': 'ozone',
|
|
569
|
-
'params': {
|
|
570
|
-
'publisherId': 'OZONENUK0001',
|
|
571
|
-
'siteId': '4204204201',
|
|
572
|
-
'placementId': '8000000330',
|
|
573
|
-
'customData': [
|
|
574
|
-
{
|
|
575
|
-
'settings': {},
|
|
576
|
-
'targeting': {
|
|
577
|
-
'sens': 'f',
|
|
578
|
-
'pt1': '/uk',
|
|
579
|
-
'pt5': [
|
|
580
|
-
'uk'
|
|
581
|
-
],
|
|
582
|
-
'pt7': 'desktop',
|
|
583
|
-
'pt9': '|k0xw2vqzp33kklb3j5w4|||'
|
|
539
|
+
'regs': {
|
|
540
|
+
'ext': {
|
|
541
|
+
'gdpr': 1,
|
|
542
|
+
'us_privacy': '1Y--'
|
|
584
543
|
}
|
|
585
|
-
}
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
'ext': {
|
|
590
|
-
'gpid': 'mpu_pbadslot_from_adunit',
|
|
591
|
-
'data': {
|
|
592
|
-
'pbadslot': 'mpu_pbadslot_from_adunit',
|
|
593
|
-
'adserver': {
|
|
594
|
-
'name': 'gam',
|
|
595
|
-
'adslot': '/22037345/projectozone'
|
|
544
|
+
},
|
|
545
|
+
'user': {
|
|
546
|
+
'ext': {
|
|
547
|
+
'consent': 'CQAaAwAQAaAwAAKA1AENA5EsAP_gAEPgACiQKRNV_G__bWlr8X73aftkeY1P9_h77sQxBhfJE-4FzLuW_JwXx2ExNA36tqIKmRIEu3bBIQNlHJDUTVCgaogVryDMakWcoTNKJ6BkiFMRO2dYCF5vmwtj-QKY5vr993dx2B-t_dv83dzyz4VHn3a5_2e0WJCdA58tDfv9bROb-9IPd_58v4v8_F_rE2_eT1l_tevp7D9-cts7_XW-9_fff79Ll_-mBwUcALMNCogDLIkJCDQMIIEAKgrCAigQAAAAkDRAQAmDAp2BgEusJEAIAUAAwQAgABRkACAAASABCIAIACgQAAQCBQAAgAACAQAMDAAGACwEAgABAdAhTAggUCwASMyIhTAgCgSCAlsqEEgCBBXCEIs8CCAREwUAAAJABWAAICwWAxJICViQQJcQbQAAEACAQQAVCKTswBBAGbLVXiibRlaQFo-ACjgAAAAA.YAAAAAAAAAAA'
|
|
596
548
|
}
|
|
597
549
|
},
|
|
598
|
-
'
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
]
|
|
550
|
+
'site': {
|
|
551
|
+
'domain': 'ozoneproject.com',
|
|
552
|
+
'publisher': {
|
|
553
|
+
'domain': 'ozoneproject.com'
|
|
554
|
+
},
|
|
555
|
+
'page': 'https://www.ozoneproject.com/ozone/2.9.4/20240715-test-singlereq-optin.html?pbjs_debug=true'
|
|
556
|
+
},
|
|
557
|
+
'device': {
|
|
558
|
+
'w': 1609,
|
|
559
|
+
'h': 279,
|
|
560
|
+
'dnt': 0,
|
|
561
|
+
'ua': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36',
|
|
562
|
+
'language': 'en'
|
|
563
|
+
}
|
|
613
564
|
}
|
|
614
565
|
},
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
'ortb2': {
|
|
636
|
-
'source': {
|
|
637
|
-
'tid': 'a9c479d0-d9cc-4505-a0a6-5982ce8fb8f0'
|
|
566
|
+
{
|
|
567
|
+
'bidder': 'ozone',
|
|
568
|
+
'params': {
|
|
569
|
+
'publisherId': 'OZONENUK0001',
|
|
570
|
+
'siteId': '4204204201',
|
|
571
|
+
'placementId': '8000000330',
|
|
572
|
+
'customData': [
|
|
573
|
+
{
|
|
574
|
+
'settings': {},
|
|
575
|
+
'targeting': {
|
|
576
|
+
'sens': 'f',
|
|
577
|
+
'pt1': '/uk',
|
|
578
|
+
'pt5': [
|
|
579
|
+
'uk'
|
|
580
|
+
],
|
|
581
|
+
'pt7': 'desktop',
|
|
582
|
+
'pt9': '|k0xw2vqzp33kklb3j5w4|||'
|
|
583
|
+
}
|
|
584
|
+
}
|
|
585
|
+
]
|
|
638
586
|
},
|
|
639
|
-
'
|
|
587
|
+
'ortb2Imp': {
|
|
640
588
|
'ext': {
|
|
641
|
-
'
|
|
642
|
-
'
|
|
589
|
+
'gpid': 'mpu_pbadslot_from_adunit',
|
|
590
|
+
'data': {
|
|
591
|
+
'pbadslot': 'mpu_pbadslot_from_adunit',
|
|
592
|
+
'adserver': {
|
|
593
|
+
'name': 'gam',
|
|
594
|
+
'adslot': '/22037345/projectozone'
|
|
595
|
+
}
|
|
596
|
+
},
|
|
597
|
+
'tid': 'f0dac8b5-09df-4da7-9d83-c99786d4517a'
|
|
643
598
|
}
|
|
644
599
|
},
|
|
645
|
-
'
|
|
646
|
-
'
|
|
647
|
-
'
|
|
600
|
+
'mediaTypes': {
|
|
601
|
+
'banner': {
|
|
602
|
+
'sizes': [
|
|
603
|
+
[
|
|
604
|
+
300,
|
|
605
|
+
250
|
|
606
|
+
],
|
|
607
|
+
[
|
|
608
|
+
300,
|
|
609
|
+
600
|
|
610
|
+
]
|
|
611
|
+
]
|
|
648
612
|
}
|
|
649
613
|
},
|
|
650
|
-
'
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
614
|
+
'adUnitCode': 'mpu5',
|
|
615
|
+
'transactionId': 'f0dac8b5-09df-4da7-9d83-c99786d4517a',
|
|
616
|
+
'adUnitId': '715b4bdc-515f-488b-8633-333654e72f3f',
|
|
617
|
+
'sizes': [
|
|
618
|
+
[
|
|
619
|
+
300,
|
|
620
|
+
250
|
|
621
|
+
],
|
|
622
|
+
[
|
|
623
|
+
300,
|
|
624
|
+
600
|
|
625
|
+
]
|
|
626
|
+
],
|
|
627
|
+
'bidId': '3da18cc31f1dde',
|
|
628
|
+
'bidderRequestId': '263c3b0d970326',
|
|
629
|
+
'auctionId': 'a9c479d0-d9cc-4505-a0a6-5982ce8fb8f0',
|
|
630
|
+
'src': 'client',
|
|
631
|
+
'bidRequestsCount': 1,
|
|
632
|
+
'bidderRequestsCount': 1,
|
|
633
|
+
'bidderWinsCount': 0,
|
|
634
|
+
'ortb2': {
|
|
635
|
+
'source': {
|
|
636
|
+
'tid': 'a9c479d0-d9cc-4505-a0a6-5982ce8fb8f0'
|
|
654
637
|
},
|
|
655
|
-
'
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
'h': 279,
|
|
660
|
-
'dnt': 0,
|
|
661
|
-
'ua': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36',
|
|
662
|
-
'language': 'en'
|
|
663
|
-
}
|
|
664
|
-
}
|
|
665
|
-
},
|
|
666
|
-
{
|
|
667
|
-
'bidder': 'ozone',
|
|
668
|
-
'params': {
|
|
669
|
-
'publisherId': 'OZONENUK0001',
|
|
670
|
-
'siteId': '4204204201',
|
|
671
|
-
'placementId': '8000000330',
|
|
672
|
-
'customData': [
|
|
673
|
-
{
|
|
674
|
-
'settings': {},
|
|
675
|
-
'targeting': {
|
|
676
|
-
'sens': 'f',
|
|
677
|
-
'pt1': '/uk',
|
|
678
|
-
'pt5': [
|
|
679
|
-
'uk'
|
|
680
|
-
],
|
|
681
|
-
'pt7': 'desktop',
|
|
682
|
-
'pt9': '|k0xw2vqzp33kklb3j5w4|||'
|
|
638
|
+
'regs': {
|
|
639
|
+
'ext': {
|
|
640
|
+
'gdpr': 1,
|
|
641
|
+
'us_privacy': '1Y--'
|
|
683
642
|
}
|
|
684
|
-
}
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
'ext': {
|
|
689
|
-
'gpid': 'mpu_pbadslot_from_adunit',
|
|
690
|
-
'data': {
|
|
691
|
-
'pbadslot': 'mpu_pbadslot_from_adunit',
|
|
692
|
-
'adserver': {
|
|
693
|
-
'name': 'gam',
|
|
694
|
-
'adslot': '/22037345/projectozone'
|
|
643
|
+
},
|
|
644
|
+
'user': {
|
|
645
|
+
'ext': {
|
|
646
|
+
'consent': 'CQAaAwAQAaAwAAKA1AENA5EsAP_gAEPgACiQKRNV_G__bWlr8X73aftkeY1P9_h77sQxBhfJE-4FzLuW_JwXx2ExNA36tqIKmRIEu3bBIQNlHJDUTVCgaogVryDMakWcoTNKJ6BkiFMRO2dYCF5vmwtj-QKY5vr993dx2B-t_dv83dzyz4VHn3a5_2e0WJCdA58tDfv9bROb-9IPd_58v4v8_F_rE2_eT1l_tevp7D9-cts7_XW-9_fff79Ll_-mBwUcALMNCogDLIkJCDQMIIEAKgrCAigQAAAAkDRAQAmDAp2BgEusJEAIAUAAwQAgABRkACAAASABCIAIACgQAAQCBQAAgAACAQAMDAAGACwEAgABAdAhTAggUCwASMyIhTAgCgSCAlsqEEgCBBXCEIs8CCAREwUAAAJABWAAICwWAxJICViQQJcQbQAAEACAQQAVCKTswBBAGbLVXiibRlaQFo-ACjgAAAAA.YAAAAAAAAAAA'
|
|
695
647
|
}
|
|
696
648
|
},
|
|
697
|
-
'
|
|
649
|
+
'site': {
|
|
650
|
+
'domain': 'ozoneproject.com',
|
|
651
|
+
'publisher': {
|
|
652
|
+
'domain': 'ozoneproject.com'
|
|
653
|
+
},
|
|
654
|
+
'page': 'https://www.ozoneproject.com/ozone/2.9.4/20240715-test-singlereq-optin.html?pbjs_debug=true'
|
|
655
|
+
},
|
|
656
|
+
'device': {
|
|
657
|
+
'w': 1609,
|
|
658
|
+
'h': 279,
|
|
659
|
+
'dnt': 0,
|
|
660
|
+
'ua': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36',
|
|
661
|
+
'language': 'en'
|
|
662
|
+
}
|
|
698
663
|
}
|
|
699
664
|
},
|
|
700
|
-
|
|
701
|
-
'
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
665
|
+
{
|
|
666
|
+
'bidder': 'ozone',
|
|
667
|
+
'params': {
|
|
668
|
+
'publisherId': 'OZONENUK0001',
|
|
669
|
+
'siteId': '4204204201',
|
|
670
|
+
'placementId': '8000000330',
|
|
671
|
+
'customData': [
|
|
672
|
+
{
|
|
673
|
+
'settings': {},
|
|
674
|
+
'targeting': {
|
|
675
|
+
'sens': 'f',
|
|
676
|
+
'pt1': '/uk',
|
|
677
|
+
'pt5': [
|
|
678
|
+
'uk'
|
|
679
|
+
],
|
|
680
|
+
'pt7': 'desktop',
|
|
681
|
+
'pt9': '|k0xw2vqzp33kklb3j5w4|||'
|
|
682
|
+
}
|
|
683
|
+
}
|
|
711
684
|
]
|
|
712
|
-
}
|
|
713
|
-
},
|
|
714
|
-
'adUnitCode': 'mpu6',
|
|
715
|
-
'transactionId': 'f0dac8b5-09df-4da7-9d83-c99786d4517a',
|
|
716
|
-
'adUnitId': '715b4bdc-515f-488b-8633-333654e72f3f',
|
|
717
|
-
'sizes': [
|
|
718
|
-
[
|
|
719
|
-
300,
|
|
720
|
-
250
|
|
721
|
-
],
|
|
722
|
-
[
|
|
723
|
-
300,
|
|
724
|
-
600
|
|
725
|
-
]
|
|
726
|
-
],
|
|
727
|
-
'bidId': '3da18cc31f1ddf',
|
|
728
|
-
'bidderRequestId': '263c3b0d970326',
|
|
729
|
-
'auctionId': 'a9c479d0-d9cc-4505-a0a6-5982ce8fb8f0',
|
|
730
|
-
'src': 'client',
|
|
731
|
-
'bidRequestsCount': 1,
|
|
732
|
-
'bidderRequestsCount': 1,
|
|
733
|
-
'bidderWinsCount': 0,
|
|
734
|
-
'ortb2': {
|
|
735
|
-
'source': {
|
|
736
|
-
'tid': 'a9c479d0-d9cc-4505-a0a6-5982ce8fb8f0'
|
|
737
685
|
},
|
|
738
|
-
'
|
|
686
|
+
'ortb2Imp': {
|
|
739
687
|
'ext': {
|
|
740
|
-
'
|
|
741
|
-
'
|
|
688
|
+
'gpid': 'mpu_pbadslot_from_adunit',
|
|
689
|
+
'data': {
|
|
690
|
+
'pbadslot': 'mpu_pbadslot_from_adunit',
|
|
691
|
+
'adserver': {
|
|
692
|
+
'name': 'gam',
|
|
693
|
+
'adslot': '/22037345/projectozone'
|
|
694
|
+
}
|
|
695
|
+
},
|
|
696
|
+
'tid': 'f0dac8b5-09df-4da7-9d83-c99786d4517a'
|
|
742
697
|
}
|
|
743
698
|
},
|
|
744
|
-
'
|
|
745
|
-
'
|
|
746
|
-
'
|
|
699
|
+
'mediaTypes': {
|
|
700
|
+
'banner': {
|
|
701
|
+
'sizes': [
|
|
702
|
+
[
|
|
703
|
+
300,
|
|
704
|
+
250
|
|
705
|
+
],
|
|
706
|
+
[
|
|
707
|
+
300,
|
|
708
|
+
600
|
|
709
|
+
]
|
|
710
|
+
]
|
|
747
711
|
}
|
|
748
712
|
},
|
|
749
|
-
'
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
713
|
+
'adUnitCode': 'mpu6',
|
|
714
|
+
'transactionId': 'f0dac8b5-09df-4da7-9d83-c99786d4517a',
|
|
715
|
+
'adUnitId': '715b4bdc-515f-488b-8633-333654e72f3f',
|
|
716
|
+
'sizes': [
|
|
717
|
+
[
|
|
718
|
+
300,
|
|
719
|
+
250
|
|
720
|
+
],
|
|
721
|
+
[
|
|
722
|
+
300,
|
|
723
|
+
600
|
|
724
|
+
]
|
|
725
|
+
],
|
|
726
|
+
'bidId': '3da18cc31f1ddf',
|
|
727
|
+
'bidderRequestId': '263c3b0d970326',
|
|
728
|
+
'auctionId': 'a9c479d0-d9cc-4505-a0a6-5982ce8fb8f0',
|
|
729
|
+
'src': 'client',
|
|
730
|
+
'bidRequestsCount': 1,
|
|
731
|
+
'bidderRequestsCount': 1,
|
|
732
|
+
'bidderWinsCount': 0,
|
|
733
|
+
'ortb2': {
|
|
734
|
+
'source': {
|
|
735
|
+
'tid': 'a9c479d0-d9cc-4505-a0a6-5982ce8fb8f0'
|
|
753
736
|
},
|
|
754
|
-
'
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
'
|
|
761
|
-
|
|
737
|
+
'regs': {
|
|
738
|
+
'ext': {
|
|
739
|
+
'gdpr': 1,
|
|
740
|
+
'us_privacy': '1Y--'
|
|
741
|
+
}
|
|
742
|
+
},
|
|
743
|
+
'user': {
|
|
744
|
+
'ext': {
|
|
745
|
+
'consent': 'CQAaAwAQAaAwAAKA1AENA5EsAP_gAEPgACiQKRNV_G__bWlr8X73aftkeY1P9_h77sQxBhfJE-4FzLuW_JwXx2ExNA36tqIKmRIEu3bBIQNlHJDUTVCgaogVryDMakWcoTNKJ6BkiFMRO2dYCF5vmwtj-QKY5vr993dx2B-t_dv83dzyz4VHn3a5_2e0WJCdA58tDfv9bROb-9IPd_58v4v8_F_rE2_eT1l_tevp7D9-cts7_XW-9_fff79Ll_-mBwUcALMNCogDLIkJCDQMIIEAKgrCAigQAAAAkDRAQAmDAp2BgEusJEAIAUAAwQAgABRkACAAASABCIAIACgQAAQCBQAAgAACAQAMDAAGACwEAgABAdAhTAggUCwASMyIhTAgCgSCAlsqEEgCBBXCEIs8CCAREwUAAAJABWAAICwWAxJICViQQJcQbQAAEACAQQAVCKTswBBAGbLVXiibRlaQFo-ACjgAAAAA.YAAAAAAAAAAA'
|
|
746
|
+
}
|
|
747
|
+
},
|
|
748
|
+
'site': {
|
|
749
|
+
'domain': 'ozoneproject.com',
|
|
750
|
+
'publisher': {
|
|
751
|
+
'domain': 'ozoneproject.com'
|
|
752
|
+
},
|
|
753
|
+
'page': 'https://www.www.ozoneproject.com/ozone/2.9.4/20240715-test-singlereq-optin.html?pbjs_debug=true'
|
|
754
|
+
},
|
|
755
|
+
'device': {
|
|
756
|
+
'w': 1609,
|
|
757
|
+
'h': 279,
|
|
758
|
+
'dnt': 0,
|
|
759
|
+
'ua': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36',
|
|
760
|
+
'language': 'en'
|
|
761
|
+
}
|
|
762
762
|
}
|
|
763
|
-
}
|
|
764
|
-
}];
|
|
763
|
+
}];
|
|
765
764
|
var validBidRequestsWithUserIdData = [
|
|
766
765
|
{
|
|
767
766
|
adUnitCode: 'div-gpt-ad-1460505748561-0',
|
|
@@ -1206,7 +1205,7 @@ var bidderRequestWithFullGdpr = {
|
|
|
1206
1205
|
'vendorConsents': {
|
|
1207
1206
|
'468': true,
|
|
1208
1207
|
'522': true,
|
|
1209
|
-
'524': true,
|
|
1208
|
+
'524': true,
|
|
1210
1209
|
'565': true,
|
|
1211
1210
|
'591': true
|
|
1212
1211
|
}
|
|
@@ -1239,7 +1238,7 @@ var gdpr1 = {
|
|
|
1239
1238
|
'vendorConsents': {
|
|
1240
1239
|
'468': true,
|
|
1241
1240
|
'522': true,
|
|
1242
|
-
'524': true,
|
|
1241
|
+
'524': true,
|
|
1243
1242
|
'565': true,
|
|
1244
1243
|
'591': true
|
|
1245
1244
|
}
|
|
@@ -1331,7 +1330,7 @@ var validResponse = {
|
|
|
1331
1330
|
'seat': 'appnexus'
|
|
1332
1331
|
}
|
|
1333
1332
|
],
|
|
1334
|
-
'cur': 'GBP',
|
|
1333
|
+
'cur': 'GBP',
|
|
1335
1334
|
'ext': {
|
|
1336
1335
|
'responsetimemillis': {
|
|
1337
1336
|
'appnexus': 47,
|
|
@@ -1417,7 +1416,7 @@ var validResponse2Bids = {
|
|
|
1417
1416
|
'seat': 'appnexus'
|
|
1418
1417
|
}
|
|
1419
1418
|
],
|
|
1420
|
-
'cur': 'GBP',
|
|
1419
|
+
'cur': 'GBP',
|
|
1421
1420
|
'ext': {
|
|
1422
1421
|
'responsetimemillis': {
|
|
1423
1422
|
'appnexus': 47,
|
|
@@ -1503,7 +1502,7 @@ var validResponse2BidsSameAdunit = {
|
|
|
1503
1502
|
'seat': 'ozappnexus'
|
|
1504
1503
|
}
|
|
1505
1504
|
],
|
|
1506
|
-
'cur': 'GBP',
|
|
1505
|
+
'cur': 'GBP',
|
|
1507
1506
|
'ext': {
|
|
1508
1507
|
'responsetimemillis': {
|
|
1509
1508
|
'appnexus': 47,
|
|
@@ -1964,11 +1963,11 @@ var multiBidderRequest1 = {
|
|
|
1964
1963
|
'auctionStart': 1592918645574,
|
|
1965
1964
|
'timeout': 3000,
|
|
1966
1965
|
'refererInfo': {
|
|
1967
|
-
'referer': 'http://ozone.
|
|
1966
|
+
'referer': 'http://ozone.ozoneproject.com/adapter/2.4.0/620x350-switch.html?guardian=true&pbjs_debug=true',
|
|
1968
1967
|
'reachedTop': true,
|
|
1969
1968
|
'numIframes': 0,
|
|
1970
1969
|
'stack': [
|
|
1971
|
-
'http://ozone.
|
|
1970
|
+
'http://ozone.ozoneproject.com/adapter/2.4.0/620x350-switch.html?guardian=true&pbjs_debug=true'
|
|
1972
1971
|
]
|
|
1973
1972
|
},
|
|
1974
1973
|
'gdprConsent': {
|
|
@@ -2269,7 +2268,7 @@ describe('ozone Adapter', function () {
|
|
|
2269
2268
|
var xBadPlacementTooShort = {
|
|
2270
2269
|
bidder: BIDDER_CODE,
|
|
2271
2270
|
params: {
|
|
2272
|
-
placementId: 123456789,
|
|
2271
|
+
placementId: 123456789,
|
|
2273
2272
|
publisherId: '9876abcd12-3',
|
|
2274
2273
|
siteId: '1234567890'
|
|
2275
2274
|
}
|
|
@@ -2280,7 +2279,7 @@ describe('ozone Adapter', function () {
|
|
|
2280
2279
|
var xBadPlacementTooLong = {
|
|
2281
2280
|
bidder: BIDDER_CODE,
|
|
2282
2281
|
params: {
|
|
2283
|
-
placementId: 12345678901,
|
|
2282
|
+
placementId: 12345678901,
|
|
2284
2283
|
publisherId: '9876abcd12-3',
|
|
2285
2284
|
siteId: '1234567890'
|
|
2286
2285
|
}
|
|
@@ -2615,7 +2614,7 @@ describe('ozone Adapter', function () {
|
|
|
2615
2614
|
vendorData: {
|
|
2616
2615
|
metadata: consentString,
|
|
2617
2616
|
gdprApplies: true,
|
|
2618
|
-
vendorConsents: {},
|
|
2617
|
+
vendorConsents: {},
|
|
2619
2618
|
purposeConsents: {1: true, 2: true, 3: true, 4: true, 5: true}
|
|
2620
2619
|
}
|
|
2621
2620
|
};
|
|
@@ -2630,8 +2629,8 @@ describe('ozone Adapter', function () {
|
|
|
2630
2629
|
bidderRequest.ortb2 = {regs: {gpp: gppString, gpp_sid: gppSections}};
|
|
2631
2630
|
const request = spec.buildRequests(validBidRequestsNoSizes, bidderRequest);
|
|
2632
2631
|
const payload = JSON.parse(request.data);
|
|
2633
|
-
expect(payload.regs.gpp).to.equal(gppString);
|
|
2634
|
-
expect(payload.regs.gpp_sid).to.have.same.members(gppSections);
|
|
2632
|
+
expect(payload.regs.ext.gpp).to.equal(gppString);
|
|
2633
|
+
expect(payload.regs.ext.gpp_sid).to.have.same.members(gppSections);
|
|
2635
2634
|
});
|
|
2636
2635
|
it('should not set gpp and gpp_sid keys when not available', function() {
|
|
2637
2636
|
const request = spec.buildRequests(validBidRequestsNoSizes, validBidderRequest);
|
|
@@ -2695,7 +2694,6 @@ describe('ozone Adapter', function () {
|
|
|
2695
2694
|
expect(payload.user.ext.eids[6]['uids'][0]['id']['eid']).to.equal('01.5678.parrableid');
|
|
2696
2695
|
});
|
|
2697
2696
|
it('replaces the auction url for a config override', function () {
|
|
2698
|
-
spec.propertyBag.whitelabel = null;
|
|
2699
2697
|
let fakeOrigin = 'http://sometestendpoint';
|
|
2700
2698
|
config.setConfig({'ozone': {'endpointOverride': {'origin': fakeOrigin}}});
|
|
2701
2699
|
const request = spec.buildRequests(validBidRequests, validBidderRequest);
|
|
@@ -2704,10 +2702,8 @@ describe('ozone Adapter', function () {
|
|
|
2704
2702
|
const data = JSON.parse(request.data);
|
|
2705
2703
|
expect(data.ext.ozone.origin).to.equal(fakeOrigin);
|
|
2706
2704
|
config.setConfig({'ozone': {'kvpPrefix': null, 'endpointOverride': null}});
|
|
2707
|
-
spec.propertyBag.whitelabel = null;
|
|
2708
2705
|
});
|
|
2709
2706
|
it('replaces the FULL auction url for a config override', function () {
|
|
2710
|
-
spec.propertyBag.whitelabel = null;
|
|
2711
2707
|
let fakeurl = 'http://sometestendpoint/myfullurl';
|
|
2712
2708
|
config.setConfig({'ozone': {'endpointOverride': {'auctionUrl': fakeurl}}});
|
|
2713
2709
|
const request = spec.buildRequests(validBidRequests, validBidderRequest);
|
|
@@ -2716,31 +2712,15 @@ describe('ozone Adapter', function () {
|
|
|
2716
2712
|
const data = JSON.parse(request.data);
|
|
2717
2713
|
expect(data.ext.ozone.origin).to.equal(fakeurl);
|
|
2718
2714
|
config.setConfig({'ozone': {'kvpPrefix': null, 'endpointOverride': null}});
|
|
2719
|
-
spec.propertyBag.whitelabel = null;
|
|
2720
2715
|
});
|
|
2721
2716
|
it('replaces the renderer url for a config override', function () {
|
|
2722
|
-
spec.propertyBag.whitelabel = null;
|
|
2723
2717
|
let fakeUrl = 'http://renderer.com';
|
|
2724
2718
|
config.setConfig({'ozone': {'endpointOverride': {'rendererUrl': fakeUrl}}});
|
|
2725
|
-
const request = spec.buildRequests(validBidRequests1OutstreamVideo2020, validBidderRequest1OutstreamVideo2020.bidderRequest);
|
|
2726
2719
|
const result = spec.interpretResponse(getCleanValidVideoResponse(), validBidderRequest1OutstreamVideo2020);
|
|
2727
2720
|
const bid = result[0];
|
|
2728
2721
|
expect(bid.renderer).to.be.an.instanceOf(Renderer);
|
|
2729
2722
|
expect(bid.renderer.url).to.equal(fakeUrl);
|
|
2730
2723
|
config.setConfig({'ozone': {'kvpPrefix': null, 'endpointOverride': null}});
|
|
2731
|
-
spec.propertyBag.whitelabel = null;
|
|
2732
|
-
});
|
|
2733
|
-
it('should generate all the adservertargeting keys correctly named', function () {
|
|
2734
|
-
config.setConfig({'ozone': {'kvpPrefix': 'xx'}});
|
|
2735
|
-
const request = spec.buildRequests(validBidRequests, validBidderRequest);
|
|
2736
|
-
const result = spec.interpretResponse(validResponse, request);
|
|
2737
|
-
expect(result[0].adserverTargeting).to.have.own.property('xx_appnexus_crid');
|
|
2738
|
-
expect(utils.deepAccess(result[0].adserverTargeting, 'xx_appnexus_crid')).to.equal('98493581');
|
|
2739
|
-
expect(utils.deepAccess(result[0].adserverTargeting, 'xx_pb')).to.equal(0.5);
|
|
2740
|
-
expect(utils.deepAccess(result[0].adserverTargeting, 'xx_adId')).to.equal('2899ec066a91ff8-0-xx-0');
|
|
2741
|
-
expect(utils.deepAccess(result[0].adserverTargeting, 'xx_size')).to.equal('300x600');
|
|
2742
|
-
expect(utils.deepAccess(result[0].adserverTargeting, 'xx_pb_r')).to.equal('0.50');
|
|
2743
|
-
expect(utils.deepAccess(result[0].adserverTargeting, 'xx_bid')).to.equal('true');
|
|
2744
2724
|
});
|
|
2745
2725
|
it('should create a meta object on each bid returned', function () {
|
|
2746
2726
|
const request = spec.buildRequests(validBidRequests, validBidderRequest);
|
|
@@ -2748,26 +2728,6 @@ describe('ozone Adapter', function () {
|
|
|
2748
2728
|
expect(result[0]).to.have.own.property('meta');
|
|
2749
2729
|
expect(result[0].meta.advertiserDomains[0]).to.equal('http://prebid.org');
|
|
2750
2730
|
});
|
|
2751
|
-
it('replaces the kvp prefix ', function () {
|
|
2752
|
-
spec.propertyBag.whitelabel = null;
|
|
2753
|
-
config.setConfig({'ozone': {'kvpPrefix': 'test'}});
|
|
2754
|
-
const request = spec.buildRequests(validBidRequests, validBidderRequest);
|
|
2755
|
-
const data = JSON.parse(request.data);
|
|
2756
|
-
expect(data.ext.ozone).to.haveOwnProperty('test_rw');
|
|
2757
|
-
config.resetConfig();
|
|
2758
|
-
spec.propertyBag.whitelabel = null;
|
|
2759
|
-
});
|
|
2760
|
-
it('handles an alias ', function () {
|
|
2761
|
-
spec.propertyBag.whitelabel = null;
|
|
2762
|
-
config.setConfig({'venatus': {'kvpPrefix': 've'}});
|
|
2763
|
-
let br = JSON.parse(JSON.stringify(validBidRequests));
|
|
2764
|
-
br[0]['bidder'] = 'venatus';
|
|
2765
|
-
const request = spec.buildRequests(br, validBidderRequest);
|
|
2766
|
-
const data = JSON.parse(request.data);
|
|
2767
|
-
expect(data.ext.venatus).to.haveOwnProperty('ve_rw');
|
|
2768
|
-
config.resetConfig();
|
|
2769
|
-
spec.propertyBag.whitelabel = null;
|
|
2770
|
-
});
|
|
2771
2731
|
it('should use oztestmode GET value if set', function() {
|
|
2772
2732
|
var specMock = utils.deepClone(spec);
|
|
2773
2733
|
specMock.getGetParametersAsObject = function() {
|
|
@@ -2869,56 +2829,36 @@ describe('ozone Adapter', function () {
|
|
|
2869
2829
|
arrReq.push(b);
|
|
2870
2830
|
}
|
|
2871
2831
|
let request = specMock.buildRequests(arrReq, validBidderRequest);
|
|
2872
|
-
expect(request.length).to.equal(5);
|
|
2832
|
+
expect(request.length).to.equal(5);
|
|
2873
2833
|
specMock = utils.deepClone(spec);
|
|
2874
2834
|
specMock.getGetParametersAsObject = function() {
|
|
2875
|
-
return {'batchRequests': '10'};
|
|
2835
|
+
return {'batchRequests': '10'};
|
|
2876
2836
|
};
|
|
2877
2837
|
request = specMock.buildRequests(arrReq, validBidderRequest);
|
|
2878
|
-
expect(request.length).to.equal(3);
|
|
2838
|
+
expect(request.length).to.equal(3);
|
|
2879
2839
|
specMock = utils.deepClone(spec);
|
|
2880
2840
|
specMock.getGetParametersAsObject = function() {
|
|
2881
2841
|
return {'batchRequests': true};
|
|
2882
2842
|
};
|
|
2883
2843
|
request = specMock.buildRequests(arrReq, validBidderRequest);
|
|
2884
|
-
expect(request.method).to.equal('POST');
|
|
2844
|
+
expect(request.method).to.equal('POST');
|
|
2885
2845
|
specMock = utils.deepClone(spec);
|
|
2886
2846
|
specMock.getGetParametersAsObject = function() {
|
|
2887
2847
|
return {'batchRequests': 'true'};
|
|
2888
2848
|
};
|
|
2889
2849
|
request = specMock.buildRequests(arrReq, validBidderRequest);
|
|
2890
|
-
expect(request.method).to.equal('POST');
|
|
2850
|
+
expect(request.method).to.equal('POST');
|
|
2891
2851
|
specMock = utils.deepClone(spec);
|
|
2892
2852
|
specMock.getGetParametersAsObject = function() {
|
|
2893
2853
|
return {'batchRequests': -5};
|
|
2894
2854
|
};
|
|
2895
2855
|
request = specMock.buildRequests(arrReq, validBidderRequest);
|
|
2896
|
-
expect(request.method).to.equal('POST');
|
|
2897
|
-
});
|
|
2898
|
-
it('should use GET values auction=dev & cookiesync=dev if set', function() {
|
|
2899
|
-
var specMock = utils.deepClone(spec);
|
|
2900
|
-
specMock.getGetParametersAsObject = function() {
|
|
2901
|
-
return {};
|
|
2902
|
-
};
|
|
2903
|
-
let request = specMock.buildRequests(validBidRequestsMinimal, validBidderRequest);
|
|
2904
|
-
let url = request.url;
|
|
2905
|
-
expect(url).to.equal('https://elb.the-ozone-project.com/openrtb2/auction');
|
|
2906
|
-
let cookieUrl = specMock.getCookieSyncUrl();
|
|
2907
|
-
expect(cookieUrl).to.equal('https://elb.the-ozone-project.com/static/load-cookie.html');
|
|
2908
|
-
specMock = utils.deepClone(spec);
|
|
2909
|
-
specMock.getGetParametersAsObject = function() {
|
|
2910
|
-
return {'auction': 'dev', 'cookiesync': 'dev'};
|
|
2911
|
-
};
|
|
2912
|
-
request = specMock.buildRequests(validBidRequestsMinimal, validBidderRequest);
|
|
2913
|
-
url = request.url;
|
|
2914
|
-
expect(url).to.equal('https://test.ozpr.net/openrtb2/auction');
|
|
2915
|
-
cookieUrl = specMock.getCookieSyncUrl();
|
|
2916
|
-
expect(cookieUrl).to.equal('https://test.ozpr.net/static/load-cookie.html');
|
|
2856
|
+
expect(request.method).to.equal('POST');
|
|
2917
2857
|
});
|
|
2918
2858
|
it('should use a valid ozstoredrequest GET value if set to override the placementId values, and set oz_rw if we find it', function() {
|
|
2919
2859
|
var specMock = utils.deepClone(spec);
|
|
2920
2860
|
specMock.getGetParametersAsObject = function() {
|
|
2921
|
-
return {'ozstoredrequest': '1122334455'};
|
|
2861
|
+
return {'ozstoredrequest': '1122334455'};
|
|
2922
2862
|
};
|
|
2923
2863
|
const request = specMock.buildRequests(validBidRequestsMinimal, validBidderRequest);
|
|
2924
2864
|
const data = JSON.parse(request.data);
|
|
@@ -2928,7 +2868,7 @@ describe('ozone Adapter', function () {
|
|
|
2928
2868
|
it('should NOT use an invalid ozstoredrequest GET value if set to override the placementId values, and set oz_rw to 0', function() {
|
|
2929
2869
|
var specMock = utils.deepClone(spec);
|
|
2930
2870
|
specMock.getGetParametersAsObject = function() {
|
|
2931
|
-
return {'ozstoredrequest': 'BADVAL'};
|
|
2871
|
+
return {'ozstoredrequest': 'BADVAL'};
|
|
2932
2872
|
};
|
|
2933
2873
|
const request = specMock.buildRequests(validBidRequestsMinimal, validBidderRequest);
|
|
2934
2874
|
const data = JSON.parse(request.data);
|
|
@@ -2966,21 +2906,21 @@ describe('ozone Adapter', function () {
|
|
|
2966
2906
|
});
|
|
2967
2907
|
it('should handle a valid ozFloor string value in the adunit correctly', function () {
|
|
2968
2908
|
let cloneBidRequests = JSON.parse(JSON.stringify(validBidRequests));
|
|
2969
|
-
cloneBidRequests[0].params.ozFloor = '0.1234';
|
|
2909
|
+
cloneBidRequests[0].params.ozFloor = '0.1234';
|
|
2970
2910
|
const request = spec.buildRequests(cloneBidRequests, validBidderRequest);
|
|
2971
2911
|
const payload = JSON.parse(request.data);
|
|
2972
2912
|
expect(utils.deepAccess(payload, 'imp.0.ext.ozone.ozFloor')).to.equal(0.1234);
|
|
2973
2913
|
});
|
|
2974
2914
|
it('should handle a valid ozFloor float value in the adunit correctly', function () {
|
|
2975
2915
|
let cloneBidRequests = JSON.parse(JSON.stringify(validBidRequests));
|
|
2976
|
-
cloneBidRequests[0].params.ozFloor = 0.1234;
|
|
2916
|
+
cloneBidRequests[0].params.ozFloor = 0.1234;
|
|
2977
2917
|
const request = spec.buildRequests(cloneBidRequests, validBidderRequest);
|
|
2978
2918
|
const payload = JSON.parse(request.data);
|
|
2979
2919
|
expect(utils.deepAccess(payload, 'imp.0.ext.ozone.ozFloor')).to.equal(0.1234);
|
|
2980
2920
|
});
|
|
2981
2921
|
it('should ignore an invalid ozFloor string value in the adunit correctly', function () {
|
|
2982
2922
|
let cloneBidRequests = JSON.parse(JSON.stringify(validBidRequests));
|
|
2983
|
-
cloneBidRequests[0].params.ozFloor = 'this is no good!';
|
|
2923
|
+
cloneBidRequests[0].params.ozFloor = 'this is no good!';
|
|
2984
2924
|
const request = spec.buildRequests(cloneBidRequests, validBidderRequest);
|
|
2985
2925
|
const payload = JSON.parse(request.data);
|
|
2986
2926
|
expect(utils.deepAccess(payload, 'imp.0.ext.ozone.ozFloor', null)).to.be.null;
|
|
@@ -3130,7 +3070,7 @@ describe('ozone Adapter', function () {
|
|
|
3130
3070
|
}
|
|
3131
3071
|
},
|
|
3132
3072
|
getFloor: function(obj) {
|
|
3133
|
-
return obj.size;
|
|
3073
|
+
return obj.size;
|
|
3134
3074
|
}
|
|
3135
3075
|
};
|
|
3136
3076
|
let floorObject = spec.getFloorObjectForAuction(testBidObject);
|
|
@@ -3155,7 +3095,7 @@ describe('ozone Adapter', function () {
|
|
|
3155
3095
|
const request = spec.buildRequests(br, validBidderRequest);
|
|
3156
3096
|
const data = JSON.parse(request.data);
|
|
3157
3097
|
expect(data.source.ext).to.haveOwnProperty('schain');
|
|
3158
|
-
expect(data.source.ext.schain).to.deep.equal(schainConfigObject);
|
|
3098
|
+
expect(data.source.ext.schain).to.deep.equal(schainConfigObject);
|
|
3159
3099
|
});
|
|
3160
3100
|
it('should find ortb2 cookieDeprecation values', function () {
|
|
3161
3101
|
let bidderRequest = JSON.parse(JSON.stringify(validBidderRequestWithCookieDeprecation));
|
|
@@ -3180,42 +3120,36 @@ describe('ozone Adapter', function () {
|
|
|
3180
3120
|
});
|
|
3181
3121
|
it('Single request: should use ortb auction ID & transaction ID values if set (this will be the case when publisher opts in with config)', function() {
|
|
3182
3122
|
var specMock = utils.deepClone(spec);
|
|
3183
|
-
specMock.propertyBag.whitelabel = null;
|
|
3184
3123
|
config.setConfig({'ozone': {'singleRequest': true}});
|
|
3185
|
-
specMock.
|
|
3186
|
-
const request = specMock.buildRequests(validBidRequestsWithAuctionIdTransactionId, validBidderRequest); // I don't look in the bidderRequest for this - there's no point
|
|
3124
|
+
const request = specMock.buildRequests(validBidRequestsWithAuctionIdTransactionId, validBidderRequest);
|
|
3187
3125
|
expect(request).to.be.an('Object');
|
|
3188
3126
|
const payload = JSON.parse(request.data);
|
|
3189
3127
|
expect(payload.source.tid).to.equal(validBidRequestsWithAuctionIdTransactionId[0].ortb2.source.tid);
|
|
3190
|
-
expect(payload.imp[0].ext.
|
|
3191
|
-
expect(payload.imp[0].ext.
|
|
3128
|
+
expect(payload.imp[0].ext.auctionId).to.equal(validBidRequestsWithAuctionIdTransactionId[0].ortb2.source.tid);
|
|
3129
|
+
expect(payload.imp[0].ext.tid).to.equal(validBidRequestsWithAuctionIdTransactionId[0].ortb2Imp.ext.tid);
|
|
3192
3130
|
config.resetConfig();
|
|
3193
3131
|
});
|
|
3194
3132
|
it('non-Single request: should use ortb auction ID & transaction ID values if set (this will be the case when publisher opts in with config)', function() {
|
|
3195
3133
|
var specMock = utils.deepClone(spec);
|
|
3196
|
-
specMock.propertyBag.whitelabel = null;
|
|
3197
3134
|
config.setConfig({'ozone': {'singleRequest': false}});
|
|
3198
|
-
specMock.
|
|
3199
|
-
const request = specMock.buildRequests(validBidRequestsWithAuctionIdTransactionId, validBidderRequest); // I don't look in the bidderRequest for this - there's no point
|
|
3135
|
+
const request = specMock.buildRequests(validBidRequestsWithAuctionIdTransactionId, validBidderRequest);
|
|
3200
3136
|
expect(request).to.be.an('Array');
|
|
3201
3137
|
const payload = JSON.parse(request[0].data);
|
|
3202
3138
|
expect(payload.source.tid).to.equal(validBidRequestsWithAuctionIdTransactionId[0].ortb2.source.tid);
|
|
3203
|
-
expect(payload.imp[0].ext.
|
|
3204
|
-
expect(payload.imp[0].ext.
|
|
3139
|
+
expect(payload.imp[0].ext.auctionId).to.equal(validBidRequestsWithAuctionIdTransactionId[0].ortb2.source.tid);
|
|
3140
|
+
expect(payload.imp[0].ext.tid).to.equal(validBidRequestsWithAuctionIdTransactionId[0].ortb2Imp.ext.tid);
|
|
3205
3141
|
config.resetConfig();
|
|
3206
3142
|
});
|
|
3207
3143
|
it('Batch request (flat array of single requests): should use ortb auction ID & transaction ID values if set (this will be the case when publisher opts in with config)', function() {
|
|
3208
3144
|
var specMock = utils.deepClone(spec);
|
|
3209
|
-
specMock.propertyBag.whitelabel = null;
|
|
3210
3145
|
config.setConfig({'ozone': {'batchRequests': 3}});
|
|
3211
|
-
specMock.
|
|
3212
|
-
const request = specMock.buildRequests(valid6BidRequestsWithAuctionIdTransactionId, validBidderRequest); // I don't look in the bidderRequest for this - there's no point
|
|
3146
|
+
const request = specMock.buildRequests(valid6BidRequestsWithAuctionIdTransactionId, validBidderRequest);
|
|
3213
3147
|
expect(request).to.be.an('Array');
|
|
3214
3148
|
expect(request).to.have.lengthOf(2);
|
|
3215
3149
|
const payload = JSON.parse(request[0].data);
|
|
3216
3150
|
expect(payload.source.tid).to.equal(valid6BidRequestsWithAuctionIdTransactionId[0].ortb2.source.tid);
|
|
3217
|
-
expect(payload.imp[0].ext.
|
|
3218
|
-
expect(payload.imp[0].ext.
|
|
3151
|
+
expect(payload.imp[0].ext.auctionId).to.equal(valid6BidRequestsWithAuctionIdTransactionId[0].ortb2.source.tid);
|
|
3152
|
+
expect(payload.imp[0].ext.tid).to.equal(valid6BidRequestsWithAuctionIdTransactionId[0].ortb2Imp.ext.tid);
|
|
3219
3153
|
config.resetConfig();
|
|
3220
3154
|
});
|
|
3221
3155
|
it('should handle ortb2 device data', function () {
|
|
@@ -3260,7 +3194,7 @@ describe('ozone Adapter', function () {
|
|
|
3260
3194
|
it('should build bid array with gdpr', function () {
|
|
3261
3195
|
let validBR = JSON.parse(JSON.stringify(bidderRequestWithFullGdpr));
|
|
3262
3196
|
validBR.gdprConsent = {'gdprApplies': 1, 'consentString': 'This is the gdpr consent string'};
|
|
3263
|
-
const request = spec.buildRequests(validBidRequests, validBR);
|
|
3197
|
+
const request = spec.buildRequests(validBidRequests, validBR);
|
|
3264
3198
|
const result = spec.interpretResponse(validResponse, request);
|
|
3265
3199
|
expect(result.length).to.equal(1);
|
|
3266
3200
|
});
|
|
@@ -3290,7 +3224,6 @@ describe('ozone Adapter', function () {
|
|
|
3290
3224
|
expect(result).to.be.empty;
|
|
3291
3225
|
});
|
|
3292
3226
|
it('should have video renderer for outstream video', function () {
|
|
3293
|
-
const request = spec.buildRequests(validBidRequests1OutstreamVideo2020, validBidderRequest1OutstreamVideo2020.bidderRequest);
|
|
3294
3227
|
const result = spec.interpretResponse(getCleanValidVideoResponse(), validBidderRequest1OutstreamVideo2020);
|
|
3295
3228
|
const bid = result[0];
|
|
3296
3229
|
expect(bid.renderer).to.be.an.instanceOf(Renderer);
|
|
@@ -3300,7 +3233,6 @@ describe('ozone Adapter', function () {
|
|
|
3300
3233
|
instreamRequestsObj[0].mediaTypes.video.context = 'instream';
|
|
3301
3234
|
let instreamBidderReq = JSON.parse(JSON.stringify(validBidderRequest1OutstreamVideo2020));
|
|
3302
3235
|
instreamBidderReq.bidderRequest.bids[0].mediaTypes.video.context = 'instream';
|
|
3303
|
-
const request = spec.buildRequests(instreamRequestsObj, validBidderRequest1OutstreamVideo2020.bidderRequest);
|
|
3304
3236
|
const result = spec.interpretResponse(getCleanValidVideoResponse(), instreamBidderReq);
|
|
3305
3237
|
const bid = result[0];
|
|
3306
3238
|
expect(bid.hasOwnProperty('renderer')).to.be.false;
|
|
@@ -3340,14 +3272,6 @@ describe('ozone Adapter', function () {
|
|
|
3340
3272
|
expect(utils.deepAccess(result[0].adserverTargeting, 'oz_appnexus_flr')).to.equal(1);
|
|
3341
3273
|
expect(utils.deepAccess(result[0].adserverTargeting, 'oz_appnexus_rid')).to.equal('ZjbsYE1q');
|
|
3342
3274
|
});
|
|
3343
|
-
it('Alias venatus: should handle ext.bidder.venatus.floor correctly, setting flr & rid as necessary', function () {
|
|
3344
|
-
const request = spec.buildRequests(validBidRequests, validBidderRequest);
|
|
3345
|
-
let vres = JSON.parse(JSON.stringify(validResponse));
|
|
3346
|
-
vres.body.seatbid[0].bid[0].ext.bidder.ozone = {floor: 1, ruleId: 'ZjbsYE1q'};
|
|
3347
|
-
const result = spec.interpretResponse(vres, request);
|
|
3348
|
-
expect(utils.deepAccess(result[0].adserverTargeting, 'oz_appnexus_flr')).to.equal(1);
|
|
3349
|
-
expect(utils.deepAccess(result[0].adserverTargeting, 'oz_appnexus_rid')).to.equal('ZjbsYE1q');
|
|
3350
|
-
});
|
|
3351
3275
|
it('should handle ext.bidder.ozone.floor correctly, inserting 0 as necessary', function () {
|
|
3352
3276
|
const request = spec.buildRequests(validBidRequests, validBidderRequest);
|
|
3353
3277
|
let vres = JSON.parse(JSON.stringify(validResponse));
|
|
@@ -3408,12 +3332,6 @@ describe('ozone Adapter', function () {
|
|
|
3408
3332
|
expect(utils.deepAccess(result[0].adserverTargeting, 'oz_appnexus_rid')).to.equal(123);
|
|
3409
3333
|
expect(utils.deepAccess(result[1].adserverTargeting, 'oz_appnexus_rid', '')).to.equal('');
|
|
3410
3334
|
});
|
|
3411
|
-
it('should add oz_ozappnexus_sid (cid value) for all appnexus bids', function () {
|
|
3412
|
-
const request = spec.buildRequests(validBidRequestsMulti, validBidderRequest);
|
|
3413
|
-
let validres = JSON.parse(JSON.stringify(validResponse2BidsSameAdunit));
|
|
3414
|
-
const result = spec.interpretResponse(validres, request);
|
|
3415
|
-
expect(utils.deepAccess(result[0].adserverTargeting, 'oz_ozappnexus_sid')).to.equal(result[0].cid);
|
|
3416
|
-
});
|
|
3417
3335
|
it('should add oz_auc_id (response id value)', function () {
|
|
3418
3336
|
const request = spec.buildRequests(validBidRequestsMulti, validBidderRequest);
|
|
3419
3337
|
let validres = JSON.parse(JSON.stringify(validBidResponse1adWith2Bidders));
|
|
@@ -3432,10 +3350,10 @@ describe('ozone Adapter', function () {
|
|
|
3432
3350
|
let validres = JSON.parse(JSON.stringify(multiResponse1));
|
|
3433
3351
|
let request = spec.buildRequests(multiRequest1, multiBidderRequest1);
|
|
3434
3352
|
let result = spec.interpretResponse(validres, request);
|
|
3435
|
-
expect(result.length).to.equal(4);
|
|
3436
|
-
expect(result[1]['price']).to.equal(0.521);
|
|
3353
|
+
expect(result.length).to.equal(4);
|
|
3437
3354
|
expect(result[1]['impid']).to.equal('3025f169863b7f8');
|
|
3438
3355
|
expect(result[1]['id']).to.equal('18552976939844999');
|
|
3356
|
+
expect(result[1]['price']).to.equal(0.521);
|
|
3439
3357
|
expect(result[1]['adserverTargeting']['oz_ozappnexus_adId']).to.equal('3025f169863b7f8-0-oz-2');
|
|
3440
3358
|
validres = JSON.parse(JSON.stringify(multiResponse1));
|
|
3441
3359
|
validres.body.seatbid[0].bid[1].price = 1.1;
|
|
@@ -3465,12 +3383,12 @@ describe('ozone Adapter', function () {
|
|
|
3465
3383
|
const req = spec.buildRequests(validBidRequests, validBidderRequest);
|
|
3466
3384
|
let objResp = JSON.parse(JSON.stringify(validResponse));
|
|
3467
3385
|
objResp.body.ext = {igi: [{
|
|
3468
|
-
|
|
3469
|
-
|
|
3470
|
-
|
|
3471
|
-
|
|
3472
|
-
|
|
3473
|
-
|
|
3386
|
+
'impid': '1',
|
|
3387
|
+
'igb': [{
|
|
3388
|
+
'origin': 'https://paapi.dsp.com',
|
|
3389
|
+
'pbs': '{"key": "value"}'
|
|
3390
|
+
}]
|
|
3391
|
+
}]};
|
|
3474
3392
|
const result = spec.interpretResponse(objResp, req);
|
|
3475
3393
|
expect(result).to.be.an('object');
|
|
3476
3394
|
expect(result.fledgeAuctionConfigs[0]['impid']).to.equal('1');
|
|
@@ -3478,45 +3396,45 @@ describe('ozone Adapter', function () {
|
|
|
3478
3396
|
it('should add labels in the adserver request if they are present in the auction response', function () {
|
|
3479
3397
|
const request = spec.buildRequests(validBidRequestsMulti, validBidderRequest);
|
|
3480
3398
|
let validres = JSON.parse(JSON.stringify(validResponse2Bids));
|
|
3481
|
-
validres.body.seatbid.push(JSON.parse(JSON.stringify(validres.body.seatbid[0])));
|
|
3399
|
+
validres.body.seatbid.push(JSON.parse(JSON.stringify(validres.body.seatbid[0])));
|
|
3482
3400
|
validres.body.seatbid[1].seat = 'marktest';
|
|
3483
3401
|
validres.body.seatbid[1].bid[0].ext.prebid.labels = ['b1', 'b2', 'b3'];
|
|
3484
|
-
validres.body.seatbid[1].bid[0].price = 10;
|
|
3485
|
-
validres.body.seatbid[1].bid[1].price = 0;
|
|
3402
|
+
validres.body.seatbid[1].bid[0].price = 10;
|
|
3403
|
+
validres.body.seatbid[1].bid[1].price = 0;
|
|
3486
3404
|
validres.body.seatbid[0].bid[0].ext.prebid.labels = ['bid1label1', 'bid1label2', 'bid1label3'];
|
|
3487
3405
|
validres.body.seatbid[0].bid[1].ext.prebid.labels = ['bid2label'];
|
|
3488
3406
|
const result = spec.interpretResponse(validres, request);
|
|
3489
|
-
expect(result.length).to.equal(4);
|
|
3490
|
-
expect(utils.deepAccess(result[0].adserverTargeting, 'oz_winner')).to.equal('marktest');
|
|
3491
|
-
expect(utils.deepAccess(result[0].adserverTargeting, 'oz_labels')).to.equal('b1,b2,b3');
|
|
3407
|
+
expect(result.length).to.equal(4);
|
|
3408
|
+
expect(utils.deepAccess(result[0].adserverTargeting, 'oz_winner')).to.equal('marktest');
|
|
3409
|
+
expect(utils.deepAccess(result[0].adserverTargeting, 'oz_labels')).to.equal('b1,b2,b3');
|
|
3492
3410
|
expect(utils.deepAccess(result[0].adserverTargeting, 'oz_appnexus_labels')).to.equal('bid1label1,bid1label2,bid1label3');
|
|
3493
|
-
expect(utils.deepAccess(result[1].adserverTargeting, 'oz_winner')).to.equal('appnexus');
|
|
3411
|
+
expect(utils.deepAccess(result[1].adserverTargeting, 'oz_winner')).to.equal('appnexus');
|
|
3494
3412
|
expect(utils.deepAccess(result[1].adserverTargeting, 'oz_appnexus_labels')).to.equal('bid2label');
|
|
3495
|
-
expect(utils.deepAccess(result[1].adserverTargeting, 'oz_labels')).to.equal('bid2label');
|
|
3496
|
-
expect(utils.deepAccess(result[2].adserverTargeting, 'oz_labels')).to.equal('b1,b2,b3');
|
|
3497
|
-
expect(utils.deepAccess(result[3].adserverTargeting, 'oz_labels')).to.equal('bid2label');
|
|
3413
|
+
expect(utils.deepAccess(result[1].adserverTargeting, 'oz_labels')).to.equal('bid2label');
|
|
3414
|
+
expect(utils.deepAccess(result[2].adserverTargeting, 'oz_labels')).to.equal('b1,b2,b3');
|
|
3415
|
+
expect(utils.deepAccess(result[3].adserverTargeting, 'oz_labels')).to.equal('bid2label');
|
|
3498
3416
|
});
|
|
3499
3417
|
it('should not add labels in the adserver request if they are present in the auction response when config contains ozone.enhancedAdserverTargeting', function () {
|
|
3500
3418
|
config.setConfig({'ozone': {'enhancedAdserverTargeting': false}});
|
|
3501
3419
|
const request = spec.buildRequests(validBidRequestsMulti, validBidderRequest);
|
|
3502
3420
|
let validres = JSON.parse(JSON.stringify(validResponse2Bids));
|
|
3503
|
-
validres.body.seatbid.push(JSON.parse(JSON.stringify(validres.body.seatbid[0])));
|
|
3421
|
+
validres.body.seatbid.push(JSON.parse(JSON.stringify(validres.body.seatbid[0])));
|
|
3504
3422
|
validres.body.seatbid[1].seat = 'marktest';
|
|
3505
3423
|
validres.body.seatbid[1].bid[0].ext.prebid.labels = ['b1', 'b2', 'b3'];
|
|
3506
|
-
validres.body.seatbid[1].bid[0].price = 10;
|
|
3507
|
-
validres.body.seatbid[1].bid[1].price = 0;
|
|
3424
|
+
validres.body.seatbid[1].bid[0].price = 10;
|
|
3425
|
+
validres.body.seatbid[1].bid[1].price = 0;
|
|
3508
3426
|
validres.body.seatbid[0].bid[0].ext.prebid.labels = ['bid1label1', 'bid1label2', 'bid1label3'];
|
|
3509
3427
|
validres.body.seatbid[0].bid[1].ext.prebid.labels = ['bid2label'];
|
|
3510
3428
|
const result = spec.interpretResponse(validres, request);
|
|
3511
|
-
expect(result.length).to.equal(4);
|
|
3512
|
-
expect(utils.deepAccess(result[0].adserverTargeting, 'oz_winner')).to.equal('marktest');
|
|
3429
|
+
expect(result.length).to.equal(4);
|
|
3430
|
+
expect(utils.deepAccess(result[0].adserverTargeting, 'oz_winner')).to.equal('marktest');
|
|
3513
3431
|
expect(result[0].adserverTargeting).to.not.have.property('oz_labels');
|
|
3514
3432
|
expect(result[0].adserverTargeting).to.not.have.property('oz_appnexus_labels');
|
|
3515
|
-
expect(utils.deepAccess(result[1].adserverTargeting, 'oz_winner')).to.equal('appnexus');
|
|
3433
|
+
expect(utils.deepAccess(result[1].adserverTargeting, 'oz_winner')).to.equal('appnexus');
|
|
3516
3434
|
expect(result[1].adserverTargeting).to.not.have.property('oz_appnexus_labels');
|
|
3517
|
-
expect(result[1].adserverTargeting).to.not.have.property('oz_labels');
|
|
3518
|
-
expect(result[2].adserverTargeting).to.not.have.property('oz_labels');
|
|
3519
|
-
expect(result[3].adserverTargeting).to.not.have.property('oz_labels');
|
|
3435
|
+
expect(result[1].adserverTargeting).to.not.have.property('oz_labels');
|
|
3436
|
+
expect(result[2].adserverTargeting).to.not.have.property('oz_labels');
|
|
3437
|
+
expect(result[3].adserverTargeting).to.not.have.property('oz_labels');
|
|
3520
3438
|
config.resetConfig();
|
|
3521
3439
|
});
|
|
3522
3440
|
});
|
|
@@ -3588,26 +3506,6 @@ describe('ozone Adapter', function () {
|
|
|
3588
3506
|
const result = getWidthAndHeightFromVideoObject(obj);
|
|
3589
3507
|
expect(result).to.be.null;
|
|
3590
3508
|
});
|
|
3591
|
-
it('should find that player size is nested', function () {
|
|
3592
|
-
let obj = {'playerSize': [[640, 480]], 'mimes': ['video/mp4'], 'context': 'outstream'};
|
|
3593
|
-
const result = playerSizeIsNestedArray(obj);
|
|
3594
|
-
expect(result).to.be.true;
|
|
3595
|
-
});
|
|
3596
|
-
it('should find null from bad video object', function () {
|
|
3597
|
-
let obj = {'playerSize': [], 'mimes': ['video/mp4'], 'context': 'outstream'};
|
|
3598
|
-
const result = playerSizeIsNestedArray(obj);
|
|
3599
|
-
expect(result).to.be.null;
|
|
3600
|
-
});
|
|
3601
|
-
it('should find null from bad video object2', function () {
|
|
3602
|
-
let obj = {'mimes': ['video/mp4'], 'context': 'outstream'};
|
|
3603
|
-
const result = playerSizeIsNestedArray(obj);
|
|
3604
|
-
expect(result).to.be.null;
|
|
3605
|
-
});
|
|
3606
|
-
it('should find null from bad video object3', function () {
|
|
3607
|
-
let obj = {'playerSize': 'should be an array', 'mimes': ['video/mp4'], 'context': 'outstream'};
|
|
3608
|
-
const result = playerSizeIsNestedArray(obj);
|
|
3609
|
-
expect(result).to.be.null;
|
|
3610
|
-
});
|
|
3611
3509
|
it('should add oz_appnexus_dealid into ads request if dealid exists in the auction response', function () {
|
|
3612
3510
|
const request = spec.buildRequests(validBidRequestsMulti, validBidderRequest);
|
|
3613
3511
|
let validres = JSON.parse(JSON.stringify(validResponse2Bids));
|
|
@@ -3625,30 +3523,6 @@ describe('ozone Adapter', function () {
|
|
|
3625
3523
|
expect(result.defaultWidth).to.equal(300);
|
|
3626
3524
|
});
|
|
3627
3525
|
});
|
|
3628
|
-
describe('getGranularityKeyName', function() {
|
|
3629
|
-
it('should return a string granularity as-is', function() {
|
|
3630
|
-
const result = getGranularityKeyName('', 'this is it', '');
|
|
3631
|
-
expect(result).to.equal('this is it');
|
|
3632
|
-
});
|
|
3633
|
-
it('should return "custom" for a mediaTypeGranularity object', function() {
|
|
3634
|
-
const result = getGranularityKeyName('', {}, '');
|
|
3635
|
-
expect(result).to.equal('custom');
|
|
3636
|
-
});
|
|
3637
|
-
it('should return "custom" for a mediaTypeGranularity object', function() {
|
|
3638
|
-
const result = getGranularityKeyName('', false, 'string buckets');
|
|
3639
|
-
expect(result).to.equal('string buckets');
|
|
3640
|
-
});
|
|
3641
|
-
});
|
|
3642
|
-
describe('getGranularityObject', function() {
|
|
3643
|
-
it('should return an object as-is', function() {
|
|
3644
|
-
const result = getGranularityObject('', {'name': 'mark'}, '', '');
|
|
3645
|
-
expect(result.name).to.equal('mark');
|
|
3646
|
-
});
|
|
3647
|
-
it('should return an object as-is', function() {
|
|
3648
|
-
const result = getGranularityObject('', false, 'custom', {'name': 'rupert'});
|
|
3649
|
-
expect(result.name).to.equal('rupert');
|
|
3650
|
-
});
|
|
3651
|
-
});
|
|
3652
3526
|
describe('blockTheRequest', function() {
|
|
3653
3527
|
beforeEach(function () {
|
|
3654
3528
|
config.resetConfig()
|
|
@@ -3697,7 +3571,7 @@ describe('ozone Adapter', function () {
|
|
|
3697
3571
|
let bid_params_video = {
|
|
3698
3572
|
skippable: true,
|
|
3699
3573
|
playback_method: ['auto_play_sound_off'],
|
|
3700
|
-
playbackmethod: 2,
|
|
3574
|
+
playbackmethod: 2,
|
|
3701
3575
|
minduration: 5,
|
|
3702
3576
|
maxduration: 60,
|
|
3703
3577
|
skipmin: 5,
|
|
@@ -3707,7 +3581,7 @@ describe('ozone Adapter', function () {
|
|
|
3707
3581
|
let result = spec.unpackVideoConfigIntoIABformat(mediaTypes, bid_params_video);
|
|
3708
3582
|
expect(result.mimes).to.be.an('array').that.includes('video/mp4');
|
|
3709
3583
|
expect(result.ext.context).to.equal('outstream');
|
|
3710
|
-
expect(result.ext.skippable).to.be.true;
|
|
3584
|
+
expect(result.ext.skippable).to.be.true;
|
|
3711
3585
|
expect(result.ext.testKey).to.equal('child value');
|
|
3712
3586
|
});
|
|
3713
3587
|
});
|
|
@@ -3721,7 +3595,7 @@ describe('ozone Adapter', function () {
|
|
|
3721
3595
|
let bid_params_video = {
|
|
3722
3596
|
skippable: true,
|
|
3723
3597
|
playback_method: ['auto_play_sound_off'],
|
|
3724
|
-
playbackmethod: 2,
|
|
3598
|
+
playbackmethod: 2,
|
|
3725
3599
|
minduration: 5,
|
|
3726
3600
|
maxduration: 60,
|
|
3727
3601
|
skipmin: 5,
|
|
@@ -3736,7 +3610,7 @@ describe('ozone Adapter', function () {
|
|
|
3736
3610
|
});
|
|
3737
3611
|
it('should correctly add video defaults if page config videoParams is defined, also check skip in the parent', function () {
|
|
3738
3612
|
var specMock = utils.deepClone(spec);
|
|
3739
|
-
|
|
3613
|
+
config.setConfig({'ozone': {videoParams: {outstream: 3, instream: 1}}});
|
|
3740
3614
|
let mediaTypes = {
|
|
3741
3615
|
playerSize: [640, 480],
|
|
3742
3616
|
mimes: ['video/mp4'],
|
|
@@ -3745,7 +3619,7 @@ describe('ozone Adapter', function () {
|
|
|
3745
3619
|
};
|
|
3746
3620
|
let bid_params_video = {
|
|
3747
3621
|
playback_method: ['auto_play_sound_off'],
|
|
3748
|
-
playbackmethod: 2,
|
|
3622
|
+
playbackmethod: 2,
|
|
3749
3623
|
minduration: 5,
|
|
3750
3624
|
maxduration: 60,
|
|
3751
3625
|
skipmin: 5,
|
|
@@ -3755,6 +3629,7 @@ describe('ozone Adapter', function () {
|
|
|
3755
3629
|
let result = specMock.addVideoDefaults({}, mediaTypes, bid_params_video);
|
|
3756
3630
|
expect(result.placement).to.equal(3);
|
|
3757
3631
|
expect(result.skip).to.equal(1);
|
|
3632
|
+
config.resetConfig();
|
|
3758
3633
|
});
|
|
3759
3634
|
});
|
|
3760
3635
|
describe('removeSingleBidderMultipleBids', function() {
|
|
@@ -3769,28 +3644,6 @@ describe('ozone Adapter', function () {
|
|
|
3769
3644
|
expect(response[1].bid.length).to.equal(2);
|
|
3770
3645
|
});
|
|
3771
3646
|
});
|
|
3772
|
-
describe('getWhitelabelConfigItem', function() {
|
|
3773
|
-
beforeEach(function () {
|
|
3774
|
-
config.resetConfig()
|
|
3775
|
-
})
|
|
3776
|
-
it('should fetch the whitelabelled equivalent config value correctly', function () {
|
|
3777
|
-
var specMock = utils.deepClone(spec);
|
|
3778
|
-
config.setConfig({'ozone': {'oz_omp_floor': 'ozone-floor-value'}});
|
|
3779
|
-
config.setConfig({'markbidder': {'mb_omp_floor': 'markbidder-floor-value'}});
|
|
3780
|
-
specMock.propertyBag.whitelabel = {bidder: 'ozone', keyPrefix: 'oz'};
|
|
3781
|
-
let testKey = 'ozone.oz_omp_floor';
|
|
3782
|
-
let ozone_value = specMock.getWhitelabelConfigItem(testKey);
|
|
3783
|
-
expect(ozone_value).to.equal('ozone-floor-value');
|
|
3784
|
-
specMock.propertyBag.whitelabel = {bidder: 'markbidder', keyPrefix: 'mb'};
|
|
3785
|
-
let markbidder_config = specMock.getWhitelabelConfigItem(testKey);
|
|
3786
|
-
expect(markbidder_config).to.equal('markbidder-floor-value');
|
|
3787
|
-
config.setConfig({'markbidder': {'singleRequest': 'markbidder-singlerequest-value'}});
|
|
3788
|
-
let testKey2 = 'ozone.singleRequest';
|
|
3789
|
-
let markbidder_config2 = specMock.getWhitelabelConfigItem(testKey2);
|
|
3790
|
-
expect(markbidder_config2).to.equal('markbidder-singlerequest-value');
|
|
3791
|
-
config.resetConfig();
|
|
3792
|
-
});
|
|
3793
|
-
});
|
|
3794
3647
|
describe('setBidMediaTypeIfNotExist', function() {
|
|
3795
3648
|
it('should leave the bid object alone if it already contains mediaType', function() {
|
|
3796
3649
|
let thisBid = {mediaType: 'marktest'};
|