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.
Files changed (235) hide show
  1. package/.circleci/config.yml +27 -4
  2. package/creative/crossDomain.js +4 -2
  3. package/dist/33acrossAnalyticsAdapter.js +1 -1
  4. package/dist/33acrossBidAdapter.js +1 -1
  5. package/dist/33acrossIdSystem.js +1 -1
  6. package/dist/BTBidAdapter.js +1 -1
  7. package/dist/adagioAnalyticsAdapter.js +1 -1
  8. package/dist/adagioBidAdapter.js +1 -1
  9. package/dist/adagioUtils.js +1 -1
  10. package/dist/addefendBidAdapter.js +1 -1
  11. package/dist/adgenerationBidAdapter.js +1 -1
  12. package/dist/adlooxRtdProvider.js +1 -1
  13. package/dist/adqueryBidAdapter.js +1 -1
  14. package/dist/adrelevantisBidAdapter.js +1 -1
  15. package/dist/adstirBidAdapter.js +1 -1
  16. package/dist/adtrgtmeBidAdapter.js +1 -1
  17. package/dist/adxcgAnalyticsAdapter.js +1 -1
  18. package/dist/adxcgBidAdapter.js +1 -1
  19. package/dist/adyoulikeBidAdapter.js +1 -1
  20. package/dist/agmaAnalyticsAdapter.js +1 -1
  21. package/dist/ajaBidAdapter.js +1 -1
  22. package/dist/amxBidAdapter.js +1 -1
  23. package/dist/amxIdSystem.js +1 -1
  24. package/dist/aniviewBidAdapter.js +1 -1
  25. package/dist/appierAnalyticsAdapter.js +1 -1
  26. package/dist/appnexusBidAdapter.js +1 -1
  27. package/dist/asoBidAdapter.js +1 -1
  28. package/dist/axonixBidAdapter.js +1 -1
  29. package/dist/beopBidAdapter.js +1 -1
  30. package/dist/bidglassBidAdapter.js +1 -1
  31. package/dist/big-richmediaBidAdapter.js +1 -1
  32. package/dist/bitmediaBidAdapter.js +1 -1
  33. package/dist/bridBidAdapter.js +1 -1
  34. package/dist/bridgeuppBidAdapter.js +1 -1
  35. package/dist/bridgewellBidAdapter.js +1 -1
  36. package/dist/brightMountainMediaBidAdapter.js +1 -1
  37. package/dist/carodaBidAdapter.js +1 -1
  38. package/dist/chromeAiRtdProvider.js +1 -0
  39. package/dist/chtnwBidAdapter.js +1 -1
  40. package/dist/chunk-core.js +1 -1
  41. package/dist/concertBidAdapter.js +1 -1
  42. package/dist/connectadBidAdapter.js +1 -1
  43. package/dist/consumableBidAdapter.js +1 -1
  44. package/dist/contxtfulBidAdapter.js +1 -1
  45. package/dist/conversantAnalyticsAdapter.js +1 -1
  46. package/dist/conversantBidAdapter.js +1 -1
  47. package/dist/craftBidAdapter.js +1 -1
  48. package/dist/criteoBidAdapter.js +1 -1
  49. package/dist/cwireBidAdapter.js +1 -1
  50. package/dist/dailymotionBidAdapter.js +1 -1
  51. package/dist/debugging-standalone.js +1 -1
  52. package/dist/dependencies.json +10 -2
  53. package/dist/dspxBidAdapter.js +1 -1
  54. package/dist/dxkultureBidAdapter.js +1 -1
  55. package/dist/eplanningBidAdapter.js +1 -1
  56. package/dist/equativBidAdapter.js +1 -1
  57. package/dist/eskimiBidAdapter.js +1 -1
  58. package/dist/euidIdSystem.js +1 -1
  59. package/dist/exadsBidAdapter.js +1 -1
  60. package/dist/excoBidAdapter.js +1 -1
  61. package/dist/fanAdapter.js +1 -1
  62. package/dist/feedadBidAdapter.js +1 -1
  63. package/dist/finativeBidAdapter.js +1 -1
  64. package/dist/freewheel-sspBidAdapter.js +1 -1
  65. package/dist/gmosspBidAdapter.js +1 -1
  66. package/dist/greenbidsAnalyticsAdapter.js +1 -1
  67. package/dist/greenbidsBidAdapter.js +1 -1
  68. package/dist/greenbidsRtdProvider.js +1 -1
  69. package/dist/gridBidAdapter.js +1 -1
  70. package/dist/gumgumBidAdapter.js +1 -1
  71. package/dist/h12mediaBidAdapter.js +1 -1
  72. package/dist/hypelabBidAdapter.js +1 -1
  73. package/dist/id5AnalyticsAdapter.js +1 -1
  74. package/dist/id5IdSystem.js +1 -1
  75. package/dist/imdsBidAdapter.js +1 -1
  76. package/dist/improvedigitalBidAdapter.js +1 -1
  77. package/dist/inmobiBidAdapter.js +1 -1
  78. package/dist/insticatorBidAdapter.js +1 -1
  79. package/dist/intentIqAnalyticsAdapter.js +1 -1
  80. package/dist/ixBidAdapter.js +1 -1
  81. package/dist/jixieBidAdapter.js +1 -1
  82. package/dist/jixieIdSystem.js +1 -0
  83. package/dist/justpremiumBidAdapter.js +1 -1
  84. package/dist/kargoBidAdapter.js +1 -1
  85. package/dist/kimberliteBidAdapter.js +1 -1
  86. package/dist/konduitAnalyticsAdapter.js +1 -1
  87. package/dist/kueezBidAdapter.js +1 -1
  88. package/dist/lassoBidAdapter.js +1 -1
  89. package/dist/lifestreetBidAdapter.js +1 -1
  90. package/dist/liveIntentId.js +1 -1
  91. package/dist/logicadBidAdapter.js +1 -1
  92. package/dist/loglyliftBidAdapter.js +1 -1
  93. package/dist/luceadBidAdapter.js +1 -1
  94. package/dist/mabidderBidAdapter.js +1 -1
  95. package/dist/madsenseBidAdapter.js +1 -1
  96. package/dist/magniteAnalyticsAdapter.js +1 -1
  97. package/dist/malltvAnalyticsAdapter.js +1 -1
  98. package/dist/marsmediaBidAdapter.js +1 -1
  99. package/dist/mediafuseBidAdapter.js +1 -1
  100. package/dist/medianetBidAdapter.js +1 -1
  101. package/dist/medianetUtils.js +1 -1
  102. package/dist/mediasquareBidAdapter.js +1 -1
  103. package/dist/mgidBidAdapter.js +1 -1
  104. package/dist/missenaBidAdapter.js +1 -1
  105. package/dist/mobilefuseBidAdapter.js +1 -1
  106. package/dist/nextMillenniumBidAdapter.js +1 -1
  107. package/dist/nexx360Utils.js +1 -1
  108. package/dist/nobidAnalyticsAdapter.js +1 -1
  109. package/dist/nobidBidAdapter.js +1 -1
  110. package/dist/nodalsAiRtdProvider.js +1 -1
  111. package/dist/not-for-prod/prebid.js +175 -173
  112. package/dist/oguryBidAdapter.js +1 -1
  113. package/dist/onetagBidAdapter.js +1 -1
  114. package/dist/ooloAnalyticsAdapter.js +1 -1
  115. package/dist/openxBidAdapter.js +1 -1
  116. package/dist/optidigitalBidAdapter.js +1 -1
  117. package/dist/orbidderBidAdapter.js +1 -1
  118. package/dist/ortb2.5Translator.js +1 -1
  119. package/dist/outbrainBidAdapter.js +1 -1
  120. package/dist/ozoneBidAdapter.js +1 -1
  121. package/dist/pixfutureBidAdapter.js +1 -1
  122. package/dist/prebidServerBidAdapter.js +1 -1
  123. package/dist/publinkIdSystem.js +1 -1
  124. package/dist/pubmaticAnalyticsAdapter.js +1 -1
  125. package/dist/pubmaticBidAdapter.js +1 -1
  126. package/dist/pubmaticRtdProvider.js +1 -1
  127. package/dist/pubwiseAnalyticsAdapter.js +1 -1
  128. package/dist/pubxaiAnalyticsAdapter.js +1 -1
  129. package/dist/pxyzBidAdapter.js +1 -1
  130. package/dist/quantcastBidAdapter.js +1 -1
  131. package/dist/readpeakBidAdapter.js +1 -1
  132. package/dist/relaidoBidAdapter.js +1 -1
  133. package/dist/relevatehealthBidAdapter.js +1 -1
  134. package/dist/retailspotBidAdapter.js +1 -1
  135. package/dist/rhythmoneBidAdapter.js +1 -1
  136. package/dist/riseUtils.js +1 -1
  137. package/dist/rubiconBidAdapter.js +1 -1
  138. package/dist/seedingAllianceBidAdapter.js +1 -1
  139. package/dist/seedtagBidAdapter.js +1 -1
  140. package/dist/sharethroughAnalyticsAdapter.js +1 -1
  141. package/dist/sharethroughBidAdapter.js +1 -1
  142. package/dist/showheroes-bsBidAdapter.js +1 -1
  143. package/dist/smaatoBidAdapter.js +1 -1
  144. package/dist/smartadserverBidAdapter.js +1 -1
  145. package/dist/smartxBidAdapter.js +1 -1
  146. package/dist/smilewantedBidAdapter.js +1 -1
  147. package/dist/snigelBidAdapter.js +1 -1
  148. package/dist/sonobiBidAdapter.js +1 -1
  149. package/dist/sovrnBidAdapter.js +1 -1
  150. package/dist/sparteoBidAdapter.js +1 -1
  151. package/dist/sspBCBidAdapter.js +1 -1
  152. package/dist/stvBidAdapter.js +1 -1
  153. package/dist/sublimeBidAdapter.js +1 -1
  154. package/dist/taboolaBidAdapter.js +1 -1
  155. package/dist/tappxBidAdapter.js +1 -1
  156. package/dist/targetVideoBidAdapter.js +1 -1
  157. package/dist/teadsBidAdapter.js +1 -1
  158. package/dist/terceptAnalyticsAdapter.js +1 -1
  159. package/dist/themoneytizerBidAdapter.js +1 -1
  160. package/dist/trionBidAdapter.js +1 -1
  161. package/dist/tripleliftBidAdapter.js +1 -1
  162. package/dist/ttdBidAdapter.js +1 -1
  163. package/dist/ucfunnelAnalyticsAdapter.js +1 -1
  164. package/dist/uid2IdSystem.js +1 -1
  165. package/dist/underdogmediaBidAdapter.js +1 -1
  166. package/dist/undertoneBidAdapter.js +1 -1
  167. package/dist/unrulyBidAdapter.js +1 -1
  168. package/dist/userId.js +1 -1
  169. package/dist/vidazooUtils.js +1 -1
  170. package/dist/videobyteBidAdapter.js +1 -1
  171. package/dist/visxBidAdapter.js +1 -1
  172. package/dist/vuukleBidAdapter.js +1 -1
  173. package/dist/widespaceBidAdapter.js +1 -1
  174. package/dist/winrBidAdapter.js +1 -1
  175. package/dist/yahooAdsBidAdapter.js +1 -1
  176. package/dist/yandexBidAdapter.js +1 -1
  177. package/dist/yieldmoBidAdapter.js +1 -1
  178. package/dist/yieldoneAnalyticsAdapter.js +1 -1
  179. package/gulpfile.js +12 -6
  180. package/integrationExamples/chromeai/japanese.html +224 -0
  181. package/integrationExamples/gpt/x-domain/creative.html +1 -1
  182. package/karma.conf.maker.js +7 -7
  183. package/karmaRunner.js +3 -3
  184. package/libraries/liveIntentId/shared.js +16 -0
  185. package/modules/.submodules.json +1 -0
  186. package/modules/aniviewBidAdapter.js +32 -23
  187. package/modules/chromeAiRtdProvider.js +421 -0
  188. package/modules/chromeAiRtdProvider.md +230 -0
  189. package/modules/fanAdapter.js +318 -124
  190. package/modules/ixBidAdapter.js +5 -0
  191. package/modules/jixieIdSystem.js +186 -0
  192. package/modules/ozoneBidAdapter.js +214 -336
  193. package/modules/prebidServerBidAdapter/index.js +59 -35
  194. package/modules/pubmaticRtdProvider.js +418 -4
  195. package/modules/pubmaticRtdProvider.md +12 -2
  196. package/modules/relevatehealthBidAdapter.js +20 -130
  197. package/modules/relevatehealthBidAdapter.md +1 -2
  198. package/modules/sovrnBidAdapter.js +4 -4
  199. package/modules/teadsBidAdapter.js +5 -0
  200. package/modules/ttdBidAdapter.js +5 -4
  201. package/modules/userId/index.js +30 -31
  202. package/package.json +5 -4
  203. package/src/adapterManager.js +3 -0
  204. package/test/spec/libraries/cmUtils_spec.js +17 -12
  205. package/test/spec/modules/aniviewBidAdapter_spec.js +15 -2
  206. package/test/spec/modules/chromeAiRtdProvider_spec.js +393 -0
  207. package/test/spec/modules/dgkeywordRtdProvider_spec.js +5 -2
  208. package/test/spec/modules/euidIdSystem_spec.js +9 -3
  209. package/test/spec/modules/fanAdapter_spec.js +264 -268
  210. package/test/spec/modules/id5IdSystem_spec.js +57 -101
  211. package/test/spec/modules/identityLinkIdSystem_spec.js +1 -0
  212. package/test/spec/modules/idxIdSystem_spec.js +2 -75
  213. package/test/spec/modules/instreamTracking_spec.js +15 -18
  214. package/test/spec/modules/ixBidAdapter_spec.js +26 -0
  215. package/test/spec/modules/jixieIdSystem_spec.js +303 -0
  216. package/test/spec/modules/liveIntentExternalIdSystem_spec.js +5 -0
  217. package/test/spec/modules/liveIntentIdMinimalSystem_spec.js +5 -0
  218. package/test/spec/modules/liveIntentIdSystem_spec.js +38 -0
  219. package/test/spec/modules/lmpIdSystem_spec.js +2 -81
  220. package/test/spec/modules/ozoneBidAdapter_spec.js +511 -658
  221. package/test/spec/modules/prebidServerBidAdapter_spec.js +72 -2
  222. package/test/spec/modules/pubmaticBidAdapter_spec.js +411 -126
  223. package/test/spec/modules/pubmaticRtdProvider_spec.js +946 -2
  224. package/test/spec/modules/raynRtdProvider_spec.js +18 -22
  225. package/test/spec/modules/relevatehealthBidAdapter_spec.js +9 -39
  226. package/test/spec/modules/sharedIdSystem_spec.js +3 -3
  227. package/test/spec/modules/sovrnBidAdapter_spec.js +71 -3
  228. package/test/spec/modules/teadsBidAdapter_spec.js +9 -4
  229. package/test/spec/modules/ttdBidAdapter_spec.js +24 -2
  230. package/test/spec/modules/uid2IdSystem_helpers.js +5 -2
  231. package/test/spec/modules/userId_spec.js +142 -387
  232. package/test/spec/modules/yieldoneAnalyticsAdapter_spec.js +13 -12
  233. package/test/spec/modules/zeotapIdPlusIdSystem_spec.js +3 -69
  234. package/wdio.shared.conf.js +2 -2
  235. package/CLAUDE.md +0 -1
@@ -1,16 +1,15 @@
1
1
  import { expect } from 'chai';
2
- import { spec, getWidthAndHeightFromVideoObject, playerSizeIsNestedArray, defaultSize } from 'modules/ozoneBidAdapter.js';
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.ardm.io/sometestPage/?qsParam1=123',
13
- location: 'https://www.ardm.io/sometestPage/?qsParam1=123'
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': 'ardm.io',
155
+ 'domain': 'ozoneproject.com',
157
156
  'publisher': {
158
- 'domain': 'ardm.io'
157
+ 'domain': 'ozoneproject.com'
159
158
  },
160
- 'page': 'https://www.ardm.io/ozone/2.9.4/20240715-test-singlereq-optin.html?pbjs_debug=true'
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': 'ardm.io',
254
+ 'domain': 'ozoneproject.com',
256
255
  'publisher': {
257
- 'domain': 'ardm.io'
256
+ 'domain': 'ozoneproject.com'
258
257
  },
259
- 'page': 'https://www.ardm.io/ozone/2.9.4/20240715-test-singlereq-optin.html?pbjs_debug=true'
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
- 'bidder': 'ozone',
272
- 'params': {
273
- 'publisherId': 'OZONENUK0001',
274
- 'siteId': '4204204201',
275
- 'placementId': '8000000330',
276
- 'customData': [
277
- {
278
- 'settings': {},
279
- 'targeting': {
280
- 'sens': 'f',
281
- 'pt1': '/uk',
282
- 'pt5': [
283
- 'uk'
284
- ],
285
- 'pt7': 'desktop',
286
- 'pt9': '|k0xw2vqzp33kklb3j5w4|||'
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
- 'regs': {
290
+ 'ortb2Imp': {
343
291
  'ext': {
344
- 'gdpr': 1,
345
- 'us_privacy': '1Y--'
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
- 'user': {
349
- 'ext': {
350
- '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'
303
+ 'mediaTypes': {
304
+ 'banner': {
305
+ 'sizes': [
306
+ [
307
+ 300,
308
+ 250
309
+ ],
310
+ [
311
+ 300,
312
+ 600
313
+ ]
314
+ ]
351
315
  }
352
316
  },
353
- 'site': {
354
- 'domain': 'ardm.io',
355
- 'publisher': {
356
- 'domain': 'ardm.io'
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
- 'page': 'https://www.ardm.io/ozone/2.9.4/20240715-test-singlereq-optin.html?pbjs_debug=true'
359
- },
360
- 'device': {
361
- 'w': 1609,
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
- 'ortb2Imp': {
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
- 'tid': 'f0dac8b5-09df-4da7-9d83-c99786d4517a'
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
- 'mediaTypes': {
404
- 'banner': {
405
- 'sizes': [
406
- [
407
- 300,
408
- 250
409
- ],
410
- [
411
- 300,
412
- 600
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
- 'regs': {
389
+ 'ortb2Imp': {
442
390
  'ext': {
443
- 'gdpr': 1,
444
- 'us_privacy': '1Y--'
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
- 'user': {
448
- 'ext': {
449
- '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'
402
+ 'mediaTypes': {
403
+ 'banner': {
404
+ 'sizes': [
405
+ [
406
+ 300,
407
+ 250
408
+ ],
409
+ [
410
+ 300,
411
+ 600
412
+ ]
413
+ ]
450
414
  }
451
415
  },
452
- 'site': {
453
- 'domain': 'ardm.io',
454
- 'publisher': {
455
- 'domain': 'ardm.io'
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
- 'page': 'https://www.ardm.io/ozone/2.9.4/20240715-test-singlereq-optin.html?pbjs_debug=true'
458
- },
459
- 'device': {
460
- 'w': 1609,
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
- 'ortb2Imp': {
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
- 'tid': 'f0dac8b5-09df-4da7-9d83-c99786d4517a'
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
- 'mediaTypes': {
503
- 'banner': {
504
- 'sizes': [
505
- [
506
- 300,
507
- 250
508
- ],
509
- [
510
- 300,
511
- 600
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
- 'regs': {
488
+ 'ortb2Imp': {
541
489
  'ext': {
542
- 'gdpr': 1,
543
- 'us_privacy': '1Y--'
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
- 'user': {
547
- 'ext': {
548
- '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'
501
+ 'mediaTypes': {
502
+ 'banner': {
503
+ 'sizes': [
504
+ [
505
+ 300,
506
+ 250
507
+ ],
508
+ [
509
+ 300,
510
+ 600
511
+ ]
512
+ ]
549
513
  }
550
514
  },
551
- 'site': {
552
- 'domain': 'ardm.io',
553
- 'publisher': {
554
- 'domain': 'ardm.io'
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
- 'page': 'https://www.ardm.io/ozone/2.9.4/20240715-test-singlereq-optin.html?pbjs_debug=true'
557
- },
558
- 'device': {
559
- 'w': 1609,
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
- 'ortb2Imp': {
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
- 'tid': 'f0dac8b5-09df-4da7-9d83-c99786d4517a'
599
- }
600
- },
601
- 'mediaTypes': {
602
- 'banner': {
603
- 'sizes': [
604
- [
605
- 300,
606
- 250
607
- ],
608
- [
609
- 300,
610
- 600
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
- 'adUnitCode': 'mpu5',
616
- 'transactionId': 'f0dac8b5-09df-4da7-9d83-c99786d4517a',
617
- 'adUnitId': '715b4bdc-515f-488b-8633-333654e72f3f',
618
- 'sizes': [
619
- [
620
- 300,
621
- 250
622
- ],
623
- [
624
- 300,
625
- 600
626
- ]
627
- ],
628
- 'bidId': '3da18cc31f1dde',
629
- 'bidderRequestId': '263c3b0d970326',
630
- 'auctionId': 'a9c479d0-d9cc-4505-a0a6-5982ce8fb8f0',
631
- 'src': 'client',
632
- 'bidRequestsCount': 1,
633
- 'bidderRequestsCount': 1,
634
- 'bidderWinsCount': 0,
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
- 'regs': {
587
+ 'ortb2Imp': {
640
588
  'ext': {
641
- 'gdpr': 1,
642
- 'us_privacy': '1Y--'
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
- 'user': {
646
- 'ext': {
647
- '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'
600
+ 'mediaTypes': {
601
+ 'banner': {
602
+ 'sizes': [
603
+ [
604
+ 300,
605
+ 250
606
+ ],
607
+ [
608
+ 300,
609
+ 600
610
+ ]
611
+ ]
648
612
  }
649
613
  },
650
- 'site': {
651
- 'domain': 'ardm.io',
652
- 'publisher': {
653
- 'domain': 'ardm.io'
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
- 'page': 'https://www.ardm.io/ozone/2.9.4/20240715-test-singlereq-optin.html?pbjs_debug=true'
656
- },
657
- 'device': {
658
- 'w': 1609,
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
- 'ortb2Imp': {
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
- 'tid': 'f0dac8b5-09df-4da7-9d83-c99786d4517a'
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
- 'mediaTypes': {
701
- 'banner': {
702
- 'sizes': [
703
- [
704
- 300,
705
- 250
706
- ],
707
- [
708
- 300,
709
- 600
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
- 'regs': {
686
+ 'ortb2Imp': {
739
687
  'ext': {
740
- 'gdpr': 1,
741
- 'us_privacy': '1Y--'
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
- 'user': {
745
- 'ext': {
746
- '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'
699
+ 'mediaTypes': {
700
+ 'banner': {
701
+ 'sizes': [
702
+ [
703
+ 300,
704
+ 250
705
+ ],
706
+ [
707
+ 300,
708
+ 600
709
+ ]
710
+ ]
747
711
  }
748
712
  },
749
- 'site': {
750
- 'domain': 'ardm.io',
751
- 'publisher': {
752
- 'domain': 'ardm.io'
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
- 'page': 'https://www.ardm.io/ozone/2.9.4/20240715-test-singlereq-optin.html?pbjs_debug=true'
755
- },
756
- 'device': {
757
- 'w': 1609,
758
- 'h': 279,
759
- 'dnt': 0,
760
- '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',
761
- 'language': 'en'
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, /* 524 is ozone */
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, /* 524 is ozone */
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', /* NOTE - this is where cur is, not in the seatbids. */
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', /* NOTE - this is where cur is, not in the seatbids. */
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', /* NOTE - this is where cur is, not in the seatbids. */
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.ardm.io/adapter/2.4.0/620x350-switch.html?guardian=true&pbjs_debug=true',
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.ardm.io/adapter/2.4.0/620x350-switch.html?guardian=true&pbjs_debug=true'
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, /* should be exactly 10 chars */
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, /* should be exactly 10 chars */
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: {}, /* 524 is not present */
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); // 5 x 5 = 25
2832
+ expect(request.length).to.equal(5);
2873
2833
  specMock = utils.deepClone(spec);
2874
2834
  specMock.getGetParametersAsObject = function() {
2875
- return {'batchRequests': '10'}; // the built in function will return '10' (string)
2835
+ return {'batchRequests': '10'};
2876
2836
  };
2877
2837
  request = specMock.buildRequests(arrReq, validBidderRequest);
2878
- expect(request.length).to.equal(3); // 10, 10, 5
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'); // no batching - GET param must be numeric
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'); // no batching - GET param must be numeric
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'); // no batching
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'}; // 10 digits are valid
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'}; // 10 digits are valid
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'; // string or float - doesnt matter
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; // string or float - doesnt matter
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!'; // string or float - doesnt matter
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; // we just want to look at the size that was sent
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); // .deep.equal() : Target object deeply (but not strictly) equals `{a: 1}`
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.loadWhitelabelData(validBidRequestsWithAuctionIdTransactionId[0]);
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.ozone.auctionId).to.equal(validBidRequestsWithAuctionIdTransactionId[0].ortb2.source.tid);
3191
- expect(payload.imp[0].ext.ozone.transactionId).to.equal(validBidRequestsWithAuctionIdTransactionId[0].ortb2Imp.ext.tid);
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.loadWhitelabelData(validBidRequestsWithAuctionIdTransactionId[0]);
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.ozone.auctionId).to.equal(validBidRequestsWithAuctionIdTransactionId[0].ortb2.source.tid);
3204
- expect(payload.imp[0].ext.ozone.transactionId).to.equal(validBidRequestsWithAuctionIdTransactionId[0].ortb2Imp.ext.tid);
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.loadWhitelabelData(valid6BidRequestsWithAuctionIdTransactionId[0]);
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.ozone.auctionId).to.equal(valid6BidRequestsWithAuctionIdTransactionId[0].ortb2.source.tid);
3218
- expect(payload.imp[0].ext.ozone.transactionId).to.equal(valid6BidRequestsWithAuctionIdTransactionId[0].ortb2Imp.ext.tid);
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); // works the old way, with GDPR not enforced by default
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); // one of the 5 bids will have been removed
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
- 'impid': '1',
3469
- 'igb': [{
3470
- 'origin': 'https://paapi.dsp.com',
3471
- 'pbs': '{"key": "value"}'
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]))); // add another bidder
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; // will win
3485
- validres.body.seatbid[1].bid[1].price = 0; // will lose
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); // 4 bids will be returned; 2 from each bidder. All will have the winning keys attached.
3490
- expect(utils.deepAccess(result[0].adserverTargeting, 'oz_winner')).to.equal('marktest'); // the first bid
3491
- expect(utils.deepAccess(result[0].adserverTargeting, 'oz_labels')).to.equal('b1,b2,b3'); // the winner
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'); // the second bid
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'); // the second adslot winning label
3496
- expect(utils.deepAccess(result[2].adserverTargeting, 'oz_labels')).to.equal('b1,b2,b3'); // we're back to the first of the 2 bids again
3497
- expect(utils.deepAccess(result[3].adserverTargeting, 'oz_labels')).to.equal('bid2label'); // the second adslot winning label
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]))); // add another bidder
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; // will win
3507
- validres.body.seatbid[1].bid[1].price = 0; // will lose
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); // 4 bids will be returned; 2 from each bidder. All will have the winning keys attached.
3512
- expect(utils.deepAccess(result[0].adserverTargeting, 'oz_winner')).to.equal('marktest'); // the first bid
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'); // the second bid
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'); // the second adslot winning label
3518
- expect(result[2].adserverTargeting).to.not.have.property('oz_labels'); // we're back to the first of the 2 bids again
3519
- expect(result[3].adserverTargeting).to.not.have.property('oz_labels'); // the second adslot winning label
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, /* start on load, no sound */
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; // note - we add skip in a different step: addVideoDefaults
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, /* start on load, no sound */
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
- specMock.propertyBag.whitelabel.videoParams = {outstream: 3, instream: 1};
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, /* start on load, no sound */
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'};