prebid.js 9.46.0 → 9.48.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (325) hide show
  1. package/.github/codeql/queries/jsonRequestContentType.ql +18 -0
  2. package/AGENTS.md +42 -0
  3. package/CLAUDE.md +1 -0
  4. package/babelConfig.js +1 -1
  5. package/dist/33acrossAnalyticsAdapter.js +1 -1
  6. package/dist/33acrossBidAdapter.js +1 -1
  7. package/dist/33acrossIdSystem.js +1 -1
  8. package/dist/BTBidAdapter.js +1 -1
  9. package/dist/adagioAnalyticsAdapter.js +1 -1
  10. package/dist/adagioBidAdapter.js +1 -1
  11. package/dist/adagioUtils.js +1 -1
  12. package/dist/addefendBidAdapter.js +1 -1
  13. package/dist/adgenerationBidAdapter.js +1 -1
  14. package/dist/adlooxRtdProvider.js +1 -1
  15. package/dist/adqueryBidAdapter.js +1 -1
  16. package/dist/adrelevantisBidAdapter.js +1 -1
  17. package/dist/adstirBidAdapter.js +1 -1
  18. package/dist/adtrgtmeBidAdapter.js +1 -1
  19. package/dist/advangUtils.js +1 -1
  20. package/dist/adverxoBidAdapter.js +1 -1
  21. package/dist/adxcgAnalyticsAdapter.js +1 -1
  22. package/dist/adxcgBidAdapter.js +1 -1
  23. package/dist/adyoulikeBidAdapter.js +1 -1
  24. package/dist/agmaAnalyticsAdapter.js +1 -1
  25. package/dist/ajaBidAdapter.js +1 -1
  26. package/dist/amxBidAdapter.js +1 -1
  27. package/dist/amxIdSystem.js +1 -1
  28. package/dist/aniviewBidAdapter.js +1 -1
  29. package/dist/appierAnalyticsAdapter.js +1 -1
  30. package/dist/appnexusBidAdapter.js +1 -1
  31. package/dist/asoBidAdapter.js +1 -1
  32. package/dist/axonixBidAdapter.js +1 -1
  33. package/dist/beopBidAdapter.js +1 -1
  34. package/dist/bidglassBidAdapter.js +1 -1
  35. package/dist/big-richmediaBidAdapter.js +1 -1
  36. package/dist/bitmediaBidAdapter.js +1 -1
  37. package/dist/blueBidAdapter.js +1 -1
  38. package/dist/blueUtils.js +1 -0
  39. package/dist/bmsBidAdapter.js +1 -1
  40. package/dist/bridBidAdapter.js +1 -1
  41. package/dist/bridgeuppBidAdapter.js +1 -1
  42. package/dist/bridgewellBidAdapter.js +1 -1
  43. package/dist/brightMountainMediaBidAdapter.js +1 -1
  44. package/dist/browsiUtils.js +1 -1
  45. package/dist/carodaBidAdapter.js +1 -1
  46. package/dist/chtnwBidAdapter.js +1 -1
  47. package/dist/chunk-core.js +1 -1
  48. package/dist/concertBidAdapter.js +1 -1
  49. package/dist/connectadBidAdapter.js +1 -1
  50. package/dist/consumableBidAdapter.js +1 -1
  51. package/dist/contxtfulBidAdapter.js +1 -1
  52. package/dist/conversantAnalyticsAdapter.js +1 -1
  53. package/dist/conversantBidAdapter.js +1 -1
  54. package/dist/craftBidAdapter.js +1 -1
  55. package/dist/criteoBidAdapter.js +1 -1
  56. package/dist/cwireBidAdapter.js +1 -1
  57. package/dist/czechAdIdSystem.js +1 -1
  58. package/dist/dailymotionBidAdapter.js +1 -1
  59. package/dist/debugging-standalone.js +1 -1
  60. package/dist/dependencies.json +16 -2
  61. package/dist/dspxBidAdapter.js +1 -1
  62. package/dist/dxkultureBidAdapter.js +1 -1
  63. package/dist/dynamicAdBoostRtdProvider.js +1 -1
  64. package/dist/eplanningBidAdapter.js +1 -1
  65. package/dist/eskimiBidAdapter.js +1 -1
  66. package/dist/euidIdSystem.js +1 -1
  67. package/dist/exadsBidAdapter.js +1 -1
  68. package/dist/excoBidAdapter.js +1 -1
  69. package/dist/feedadBidAdapter.js +1 -1
  70. package/dist/finativeBidAdapter.js +1 -1
  71. package/dist/freewheel-sspBidAdapter.js +1 -1
  72. package/dist/gmosspBidAdapter.js +1 -1
  73. package/dist/gptUtils.js +1 -1
  74. package/dist/greenbidsAnalyticsAdapter.js +1 -1
  75. package/dist/greenbidsBidAdapter.js +1 -1
  76. package/dist/greenbidsRtdProvider.js +1 -1
  77. package/dist/gridBidAdapter.js +1 -1
  78. package/dist/gumgumBidAdapter.js +1 -1
  79. package/dist/h12mediaBidAdapter.js +1 -1
  80. package/dist/hypelabBidAdapter.js +1 -1
  81. package/dist/id5AnalyticsAdapter.js +1 -1
  82. package/dist/id5IdSystem.js +1 -1
  83. package/dist/imdsBidAdapter.js +1 -1
  84. package/dist/improvedigitalBidAdapter.js +1 -1
  85. package/dist/inmobiBidAdapter.js +1 -1
  86. package/dist/insticatorBidAdapter.js +1 -1
  87. package/dist/intentIqAnalyticsAdapter.js +1 -1
  88. package/dist/ixBidAdapter.js +1 -1
  89. package/dist/jixieBidAdapter.js +1 -1
  90. package/dist/justpremiumBidAdapter.js +1 -1
  91. package/dist/kargoBidAdapter.js +1 -1
  92. package/dist/kimberliteBidAdapter.js +1 -1
  93. package/dist/konduitAnalyticsAdapter.js +1 -1
  94. package/dist/kueezBidAdapter.js +1 -1
  95. package/dist/lassoBidAdapter.js +1 -1
  96. package/dist/lifestreetBidAdapter.js +1 -1
  97. package/dist/liveIntentId.js +1 -1
  98. package/dist/logicadBidAdapter.js +1 -1
  99. package/dist/loglyliftBidAdapter.js +1 -1
  100. package/dist/luceadBidAdapter.js +1 -1
  101. package/dist/luponmediaBidAdapter.js +1 -1
  102. package/dist/mabidderBidAdapter.js +1 -1
  103. package/dist/madsenseBidAdapter.js +1 -1
  104. package/dist/magniteAnalyticsAdapter.js +1 -1
  105. package/dist/malltvAnalyticsAdapter.js +1 -1
  106. package/dist/marsmediaBidAdapter.js +1 -1
  107. package/dist/mediafuseBidAdapter.js +1 -1
  108. package/dist/medianetBidAdapter.js +1 -1
  109. package/dist/medianetUtils.js +1 -1
  110. package/dist/mediasquareBidAdapter.js +1 -1
  111. package/dist/mgidBidAdapter.js +1 -1
  112. package/dist/missenaBidAdapter.js +1 -1
  113. package/dist/mobilefuseBidAdapter.js +1 -1
  114. package/dist/nativeryBidAdapter.js +1 -0
  115. package/dist/nextMillenniumBidAdapter.js +1 -1
  116. package/dist/nexx360Utils.js +1 -1
  117. package/dist/nobidAnalyticsAdapter.js +1 -1
  118. package/dist/nobidBidAdapter.js +1 -1
  119. package/dist/nodalsAiRtdProvider.js +1 -1
  120. package/dist/not-for-prod/prebid.js +187 -184
  121. package/dist/oguryBidAdapter.js +1 -1
  122. package/dist/onetagBidAdapter.js +1 -1
  123. package/dist/ooloAnalyticsAdapter.js +1 -1
  124. package/dist/openxBidAdapter.js +1 -1
  125. package/dist/optidigitalBidAdapter.js +1 -1
  126. package/dist/orbidderBidAdapter.js +1 -1
  127. package/dist/outbrainBidAdapter.js +1 -1
  128. package/dist/pinkLionBidAdapter.js +1 -0
  129. package/dist/pixfutureBidAdapter.js +1 -1
  130. package/dist/prebidServerBidAdapter.js +1 -1
  131. package/dist/priceFloors.js +1 -1
  132. package/dist/publinkIdSystem.js +1 -1
  133. package/dist/pubmaticAnalyticsAdapter.js +1 -1
  134. package/dist/pubmaticBidAdapter.js +1 -1
  135. package/dist/pubmaticRtdProvider.js +1 -1
  136. package/dist/pubwiseAnalyticsAdapter.js +1 -1
  137. package/dist/pubxaiAnalyticsAdapter.js +1 -1
  138. package/dist/pubxaiRtdProvider.js +1 -1
  139. package/dist/pxyzBidAdapter.js +1 -1
  140. package/dist/quantcastBidAdapter.js +1 -1
  141. package/dist/readpeakBidAdapter.js +1 -1
  142. package/dist/relaidoBidAdapter.js +1 -1
  143. package/dist/retailspotBidAdapter.js +1 -1
  144. package/dist/rhythmoneBidAdapter.js +1 -1
  145. package/dist/riseUtils.js +1 -1
  146. package/dist/rtbhouseBidAdapter.js +1 -1
  147. package/dist/rubiconBidAdapter.js +1 -1
  148. package/dist/seedingAllianceBidAdapter.js +1 -1
  149. package/dist/seedtagBidAdapter.js +1 -1
  150. package/dist/sharethroughAnalyticsAdapter.js +1 -1
  151. package/dist/sharethroughBidAdapter.js +1 -1
  152. package/dist/showheroes-bsBidAdapter.js +1 -1
  153. package/dist/smaatoBidAdapter.js +1 -1
  154. package/dist/smartadserverBidAdapter.js +1 -1
  155. package/dist/smartxBidAdapter.js +1 -1
  156. package/dist/smilewantedBidAdapter.js +1 -1
  157. package/dist/snigelBidAdapter.js +1 -1
  158. package/dist/sonobiBidAdapter.js +1 -1
  159. package/dist/sovrnBidAdapter.js +1 -1
  160. package/dist/sparteoBidAdapter.js +1 -1
  161. package/dist/sspBCBidAdapter.js +1 -1
  162. package/dist/stroeerCoreBidAdapter.js +1 -1
  163. package/dist/stvBidAdapter.js +1 -1
  164. package/dist/sublimeBidAdapter.js +1 -1
  165. package/dist/taboolaBidAdapter.js +1 -1
  166. package/dist/tappxBidAdapter.js +1 -1
  167. package/dist/targetVideoBidAdapter.js +1 -1
  168. package/dist/teadsBidAdapter.js +1 -1
  169. package/dist/terceptAnalyticsAdapter.js +1 -1
  170. package/dist/themoneytizerBidAdapter.js +1 -1
  171. package/dist/trionBidAdapter.js +1 -1
  172. package/dist/tripleliftBidAdapter.js +1 -1
  173. package/dist/ttdBidAdapter.js +1 -1
  174. package/dist/ucfunnelAnalyticsAdapter.js +1 -1
  175. package/dist/uid2IdSystem.js +1 -1
  176. package/dist/underdogmediaBidAdapter.js +1 -1
  177. package/dist/undertoneBidAdapter.js +1 -1
  178. package/dist/unifiedIdSystem.js +1 -1
  179. package/dist/unrulyBidAdapter.js +1 -1
  180. package/dist/userId.js +1 -1
  181. package/dist/vidazooUtils.js +1 -1
  182. package/dist/videobyteBidAdapter.js +1 -1
  183. package/dist/visxBidAdapter.js +1 -1
  184. package/dist/vuukleBidAdapter.js +1 -1
  185. package/dist/weboramaRtdProvider.js +1 -1
  186. package/dist/widespaceBidAdapter.js +1 -1
  187. package/dist/winrBidAdapter.js +1 -1
  188. package/dist/xeUtils.js +1 -1
  189. package/dist/yahooAdsBidAdapter.js +1 -1
  190. package/dist/yandexBidAdapter.js +1 -1
  191. package/dist/yieldmoBidAdapter.js +1 -1
  192. package/dist/yieldoneAnalyticsAdapter.js +1 -1
  193. package/eslint.config.js +1 -3
  194. package/gulpHelpers.js +3 -6
  195. package/gulpfile.js +25 -24
  196. package/karma.conf.maker.js +1 -3
  197. package/libraries/advangUtils/index.js +3 -4
  198. package/libraries/blueUtils/bidderUtils.js +113 -0
  199. package/libraries/browsiUtils/browsiUtils.js +1 -2
  200. package/libraries/gptUtils/gptUtils.js +1 -2
  201. package/libraries/liveIntentId/shared.js +4 -0
  202. package/libraries/xeUtils/bidderUtils.js +3 -4
  203. package/modules/adagioBidAdapter.js +1 -2
  204. package/modules/addefendBidAdapter.md +1 -1
  205. package/modules/adtrgtmeBidAdapter.js +6 -8
  206. package/modules/aduptechBidAdapter.md +1 -1
  207. package/modules/adverxoBidAdapter.js +3 -3
  208. package/modules/blueBidAdapter.js +24 -104
  209. package/modules/bmsBidAdapter.js +25 -105
  210. package/modules/concertBidAdapter.md +1 -1
  211. package/modules/contxtfulBidAdapter.js +56 -10
  212. package/modules/conversantBidAdapter.js +0 -58
  213. package/modules/cwireBidAdapter.js +8 -0
  214. package/modules/czechAdIdSystem.js +13 -3
  215. package/modules/dynamicAdBoostRtdProvider.js +16 -33
  216. package/modules/dynamicAdBoostRtdProvider.md +1 -6
  217. package/modules/ixBidAdapter.js +2 -3
  218. package/modules/luponmediaBidAdapter.js +117 -522
  219. package/modules/luponmediaBidAdapter.md +2 -3
  220. package/modules/mediasquareBidAdapter.js +14 -20
  221. package/modules/microadBidAdapter.js +0 -1
  222. package/modules/nativeryBidAdapter.js +135 -0
  223. package/modules/nativeryBidAdapter.md +95 -0
  224. package/modules/nativoBidAdapter.js +3 -3
  225. package/modules/onetagBidAdapter.js +0 -1
  226. package/modules/pinkLionBidAdapter.js +17 -0
  227. package/modules/pinkLionBidAdapter.md +79 -0
  228. package/modules/prebidServerBidAdapter/ortbConverter.js +1 -1
  229. package/modules/priceFloors.js +2 -2
  230. package/modules/pubmaticBidAdapter.js +4 -1
  231. package/modules/qortexRtdProvider.md +1 -1
  232. package/modules/reconciliationRtdProvider.md +4 -4
  233. package/modules/rtbhouseBidAdapter.js +4 -83
  234. package/modules/rubiconBidAdapter.js +1 -1
  235. package/modules/sspBCBidAdapter.js +1 -1
  236. package/modules/stroeerCoreBidAdapter.js +3 -3
  237. package/modules/stvBidAdapter.js +19 -14
  238. package/modules/topicsFpdModule.md +1 -1
  239. package/modules/unifiedIdSystem.js +8 -1
  240. package/modules/userId/eids.js +15 -0
  241. package/modules/videoModule/index.js +0 -1
  242. package/modules/videoModule/videoImpressionVerifier.js +0 -1
  243. package/modules/yieldlabBidAdapter.js +1 -2
  244. package/modules/yieldmoBidAdapter.js +1 -2
  245. package/package.json +13 -20
  246. package/src/Renderer.js +1 -2
  247. package/src/adapterManager.js +14 -4
  248. package/src/auction.js +2 -3
  249. package/src/config.js +1 -2
  250. package/src/cpmBucketManager.js +1 -2
  251. package/src/secureCreatives.js +2 -3
  252. package/src/targeting.js +1 -2
  253. package/test/fake-server/README.md +3 -3
  254. package/test/helpers/index_adapter_utils.js +2 -2
  255. package/test/helpers/testing-utils.js +1 -1
  256. package/test/spec/auctionmanager_spec.js +2 -3
  257. package/test/spec/fpd/enrichment_spec.js +1 -1
  258. package/test/spec/libraries/greedy/greedyPromise_spec.js +2 -2
  259. package/test/spec/modules/adfBidAdapter_spec.js +1 -1
  260. package/test/spec/modules/adnuntiusBidAdapter_spec.js +25 -9
  261. package/test/spec/modules/adtrgtmeBidAdapter_spec.js +2 -4
  262. package/test/spec/modules/adverxoBidAdapter_spec.js +25 -1
  263. package/test/spec/modules/afpBidAdapter_spec.js +0 -1
  264. package/test/spec/modules/bliinkBidAdapter_spec.js +15 -7
  265. package/test/spec/modules/contxtfulBidAdapter_spec.js +606 -82
  266. package/test/spec/modules/conversantBidAdapter_spec.js +1 -139
  267. package/test/spec/modules/cwireBidAdapter_spec.js +2 -2
  268. package/test/spec/modules/czechAdIdSystem_spec.js +4 -4
  269. package/test/spec/modules/displayioBidAdapter_spec.js +1 -1
  270. package/test/spec/modules/dynamicAdBoostRtdProvider_spec.js +0 -42
  271. package/test/spec/modules/enrichmentLiftMeasurement_spec.js +8 -8
  272. package/test/spec/modules/hypelabBidAdapter_spec.js +17 -11
  273. package/test/spec/modules/iasRtdProvider_spec.js +2 -2
  274. package/test/spec/modules/id5IdSystem_spec.js +1 -1
  275. package/test/spec/modules/idxIdSystem_spec.js +1 -2
  276. package/test/spec/modules/intentIqAnalyticsAdapter_spec.js +25 -25
  277. package/test/spec/modules/intentIqIdSystem_spec.js +32 -32
  278. package/test/spec/modules/kargoBidAdapter_spec.js +11 -5
  279. package/test/spec/modules/liveIntentIdSystem_spec.js +14 -0
  280. package/test/spec/modules/lmpIdSystem_spec.js +1 -2
  281. package/test/spec/modules/lockrAIMIdSystem_spec.js +2 -2
  282. package/test/spec/modules/luceadBidAdapter_spec.js +1 -1
  283. package/test/spec/modules/luponmediaBidAdapter_spec.js +186 -324
  284. package/test/spec/modules/mediaeyesBidAdapter_spec.js +1 -1
  285. package/test/spec/modules/mediakeysBidAdapter_spec.js +1 -2
  286. package/test/spec/modules/mediasquareBidAdapter_spec.js +13 -2
  287. package/test/spec/modules/missenaBidAdapter_spec.js +1 -1
  288. package/test/spec/modules/nativeryBidAdapter_spec.js +195 -0
  289. package/test/spec/modules/nexx360BidAdapter_spec.js +6 -6
  290. package/test/spec/modules/oguryBidAdapter_spec.js +2 -2
  291. package/test/spec/modules/omsBidAdapter_spec.js +1 -1
  292. package/test/spec/modules/onetagBidAdapter_spec.js +1 -2
  293. package/test/spec/modules/onomagicBidAdapter_spec.js +2 -2
  294. package/test/spec/modules/overtoneRtdProvider_spec.mjs +1 -1
  295. package/test/spec/modules/permutiveIdentityManagerIdSystem_spec.js +17 -14
  296. package/test/spec/modules/pinkLionBidAdapter_spec.js +480 -0
  297. package/test/spec/modules/prebidServerBidAdapter_spec.js +2 -2
  298. package/test/spec/modules/previousAuctionInfo_spec.js +2 -2
  299. package/test/spec/modules/pubmaticAnalyticsAdapter_spec.js +1 -1
  300. package/test/spec/modules/pubmaticBidAdapter_spec.js +19 -1
  301. package/test/spec/modules/pubmaticRtdProvider_spec.js +16 -17
  302. package/test/spec/modules/pubwiseAnalyticsAdapter_spec.js +2 -2
  303. package/test/spec/modules/rtbhouseBidAdapter_spec.js +0 -182
  304. package/test/spec/modules/rubiconBidAdapter_spec.js +3 -4
  305. package/test/spec/modules/sizeMappingV2_spec.js +1 -1
  306. package/test/spec/modules/sizeMapping_spec.js +2 -3
  307. package/test/spec/modules/stroeerCoreBidAdapter_spec.js +36 -26
  308. package/test/spec/modules/stvBidAdapter_spec.js +108 -40
  309. package/test/spec/modules/topLevelPaapi_spec.js +1 -1
  310. package/test/spec/modules/tpmnBidAdapter_spec.js +1 -1
  311. package/test/spec/modules/ttdBidAdapter_spec.js +1 -1
  312. package/test/spec/modules/unifiedIdSystem_spec.js +20 -0
  313. package/test/spec/modules/userId_spec.js +1 -1
  314. package/test/spec/modules/vibrantmediaBidAdapter_spec.js +1 -1
  315. package/test/spec/modules/videoModule/submodules/videojsVideoProvider_spec.js +1 -1
  316. package/test/spec/modules/yieldmoBidAdapter_spec.js +2 -2
  317. package/test/spec/modules/zeotapIdPlusIdSystem_spec.js +1 -2
  318. package/test/spec/unit/core/adapterManager_spec.js +29 -17
  319. package/test/spec/unit/core/targeting_spec.js +1 -1
  320. package/test/spec/unit/pbjs_api_spec.js +4 -5
  321. package/test/spec/utils_spec.js +20 -12
  322. package/test/test_deps.js +1 -1
  323. package/nightwatch.browserstack.json +0 -46
  324. package/nightwatch.conf.js +0 -36
  325. package/nightwatch.json +0 -40
@@ -452,123 +452,6 @@ describe('RTBHouseAdapter', () => {
452
452
  });
453
453
  });
454
454
 
455
- context('FLEDGE', function() {
456
- afterEach(function () {
457
- config.resetConfig();
458
- });
459
-
460
- it('sends bid request to FLEDGE ENDPOINT via POST', function () {
461
- let bidRequest = Object.assign([], bidRequests);
462
- delete bidRequest[0].params.test;
463
- config.setConfig({ fledgeConfig: true });
464
- const request = spec.buildRequests(bidRequest, { ...bidderRequest, paapi: { enabled: true } });
465
- expect(request.url).to.equal('https://prebid-eu.creativecdn.com/bidder/prebidfledge/bids');
466
- expect(request.method).to.equal('POST');
467
- });
468
-
469
- it('sets default fledgeConfig object values when none available from config', function () {
470
- let bidRequest = Object.assign([], bidRequests);
471
- delete bidRequest[0].params.test;
472
-
473
- config.setConfig({ fledgeConfig: false });
474
- const request = spec.buildRequests(bidRequest, { ...bidderRequest, paapi: {enabled: true} });
475
- const data = JSON.parse(request.data);
476
- expect(data.ext).to.exist.and.to.be.a('object');
477
- expect(data.ext.fledge_config).to.exist.and.to.be.a('object');
478
- expect(data.ext.fledge_config).to.contain.keys('seller', 'decisionLogicUrl', 'sellerTimeout');
479
- expect(data.ext.fledge_config.seller).to.equal('https://fledge-ssp.creativecdn.com');
480
- expect(data.ext.fledge_config.decisionLogicUrl).to.equal('https://fledge-ssp.creativecdn.com/component-seller-prebid.js');
481
- expect(data.ext.fledge_config.sellerTimeout).to.equal(500);
482
- });
483
-
484
- it('sets request.ext.fledge_config object values when available from fledgeConfig', function () {
485
- let bidRequest = Object.assign([], bidRequests);
486
- delete bidRequest[0].params.test;
487
-
488
- config.setConfig({
489
- fledgeConfig: {
490
- seller: 'https://sellers.domain',
491
- decisionLogicUrl: 'https://sellers.domain/decision.url'
492
- }
493
- });
494
- const request = spec.buildRequests(bidRequest, { ...bidderRequest, paapi: {enabled: true} });
495
- const data = JSON.parse(request.data);
496
- expect(data.ext).to.exist.and.to.be.a('object');
497
- expect(data.ext.fledge_config).to.exist.and.to.be.a('object');
498
- expect(data.ext.fledge_config).to.contain.keys('seller', 'decisionLogicUrl');
499
- expect(data.ext.fledge_config.seller).to.equal('https://sellers.domain');
500
- expect(data.ext.fledge_config.decisionLogicUrl).to.equal('https://sellers.domain/decision.url');
501
- expect(data.ext.fledge_config.sellerTimeout).to.not.exist;
502
- });
503
-
504
- it('sets request.ext.fledge_config object values when available from paapiConfig', function () {
505
- let bidRequest = Object.assign([], bidRequests);
506
- delete bidRequest[0].params.test;
507
-
508
- config.setConfig({
509
- paapiConfig: {
510
- seller: 'https://sellers.domain',
511
- decisionLogicUrl: 'https://sellers.domain/decision.url'
512
- }
513
- });
514
- const request = spec.buildRequests(bidRequest, { ...bidderRequest, paapi: {enabled: true} });
515
- const data = JSON.parse(request.data);
516
- expect(data.ext).to.exist.and.to.be.a('object');
517
- expect(data.ext.fledge_config).to.exist.and.to.be.a('object');
518
- expect(data.ext.fledge_config).to.contain.keys('seller', 'decisionLogicUrl');
519
- expect(data.ext.fledge_config.seller).to.equal('https://sellers.domain');
520
- expect(data.ext.fledge_config.decisionLogicUrl).to.equal('https://sellers.domain/decision.url');
521
- expect(data.ext.fledge_config.sellerTimeout).to.not.exist;
522
- });
523
-
524
- it('sets request.ext.fledge_config object values when available from paapiConfig rather than from fledgeConfig if both exist', function () {
525
- let bidRequest = Object.assign([], bidRequests);
526
- delete bidRequest[0].params.test;
527
-
528
- config.setConfig({
529
- paapiConfig: {
530
- seller: 'https://paapiconfig.sellers.domain',
531
- decisionLogicUrl: 'https://paapiconfig.sellers.domain/decision.url'
532
- },
533
- fledgeConfig: {
534
- seller: 'https://fledgeconfig.sellers.domain',
535
- decisionLogicUrl: 'https://fledgeconfig.sellers.domain/decision.url'
536
- }
537
- });
538
- const request = spec.buildRequests(bidRequest, { ...bidderRequest, paapi: {enabled: true} });
539
- const data = JSON.parse(request.data);
540
- expect(data.ext).to.exist.and.to.be.a('object');
541
- expect(data.ext.fledge_config).to.exist.and.to.be.a('object');
542
- expect(data.ext.fledge_config).to.contain.keys('seller', 'decisionLogicUrl');
543
- expect(data.ext.fledge_config.seller).to.equal('https://paapiconfig.sellers.domain');
544
- expect(data.ext.fledge_config.decisionLogicUrl).to.equal('https://paapiconfig.sellers.domain/decision.url');
545
- });
546
-
547
- it('when FLEDGE is disabled, should not send imp.ext.ae', function () {
548
- let bidRequest = Object.assign([], bidRequests);
549
- delete bidRequest[0].params.test;
550
- bidRequest[0].ortb2Imp = {
551
- ext: { ae: 2 }
552
- };
553
- const request = spec.buildRequests(bidRequest, { ...bidderRequest, paapi: {enabled: false} });
554
- let data = JSON.parse(request.data);
555
- if (data.imp[0].ext) {
556
- expect(data.imp[0].ext).to.not.have.property('ae');
557
- }
558
- });
559
-
560
- it('when FLEDGE is enabled, should send whatever is set in ortb2imp.ext.ae in all bid requests', function () {
561
- let bidRequest = Object.assign([], bidRequests);
562
- delete bidRequest[0].params.test;
563
- bidRequest[0].ortb2Imp = {
564
- ext: { ae: 2 }
565
- };
566
- const request = spec.buildRequests(bidRequest, { ...bidderRequest, paapi: {enabled: true} });
567
- let data = JSON.parse(request.data);
568
- expect(data.imp[0].ext.ae).to.equal(2);
569
- });
570
- });
571
-
572
455
  describe('native imp', () => {
573
456
  function basicRequest(extension) {
574
457
  return Object.assign({
@@ -769,29 +652,6 @@ describe('RTBHouseAdapter', () => {
769
652
  }];
770
653
  });
771
654
 
772
- let fledgeResponse = {
773
- 'id': 'bid-identifier',
774
- 'ext': {
775
- 'igbid': [{
776
- 'impid': 'test-bid-id',
777
- 'igbuyer': [{
778
- 'igdomain': 'https://buyer-domain.com',
779
- 'buyersignal': {}
780
- }]
781
- }],
782
- 'sellerTimeout': 500,
783
- 'seller': 'https://seller-domain.com',
784
- 'decisionLogicUrl': 'https://seller-domain.com/decision-logic.js'
785
- },
786
- 'bidid': 'bid-identifier',
787
- 'seatbid': [{
788
- 'bid': [{
789
- 'id': 'bid-response-id',
790
- 'impid': 'test-bid-id'
791
- }]
792
- }]
793
- };
794
-
795
655
  it('should get correct bid response', function () {
796
656
  let expectedResponse = [
797
657
  {
@@ -820,48 +680,6 @@ describe('RTBHouseAdapter', () => {
820
680
  expect(result.length).to.equal(0);
821
681
  });
822
682
 
823
- context('when the response contains FLEDGE interest groups config', function () {
824
- let bidderRequest;
825
- let response = spec.interpretResponse({body: fledgeResponse}, {bidderRequest});
826
-
827
- it('should return FLEDGE auction_configs alongside bids', function () {
828
- expect(response).to.have.property('bids');
829
- expect(response).to.have.property('paapi');
830
- expect(response.paapi.length).to.equal(1);
831
- expect(response.paapi[0].bidId).to.equal('test-bid-id');
832
- });
833
- });
834
-
835
- context('when the response contains FLEDGE auction config and bid request has additional signals in paapiConfig', function () {
836
- let bidderRequest;
837
- config.setConfig({
838
- paapiConfig: {
839
- interestGroupBuyers: ['https://buyer1.com'],
840
- perBuyerSignals: {
841
- 'https://buyer1.com': { signal: 1 }
842
- },
843
- customSignal: 1
844
- }
845
- });
846
- let response = spec.interpretResponse({body: fledgeResponse}, {bidderRequest});
847
-
848
- it('should have 2 buyers in interestGroupBuyers', function () {
849
- expect(response.paapi[0].config.interestGroupBuyers.length).to.equal(2);
850
- expect(response.paapi[0].config.interestGroupBuyers).to.have.members(['https://buyer1.com', 'https://buyer-domain.com']);
851
- });
852
-
853
- it('should have 2 perBuyerSignals with proper values', function () {
854
- expect(response.paapi[0].config.perBuyerSignals).to.contain.keys('https://buyer1.com', 'https://buyer-domain.com');
855
- expect(response.paapi[0].config.perBuyerSignals['https://buyer1.com']).to.deep.equal({ signal: 1 });
856
- expect(response.paapi[0].config.perBuyerSignals['https://buyer-domain.com']).to.deep.equal({});
857
- });
858
-
859
- it('should contain any custom signal passed via paapiConfig', function () {
860
- expect(response.paapi[0].config).to.contain.keys('customSignal');
861
- expect(response.paapi[0].config.customSignal).to.equal(1);
862
- });
863
- });
864
-
865
683
  context('when the response contains DSA object', function () {
866
684
  it('should get correct bid response', function () {
867
685
  const dsa = {
@@ -11,7 +11,6 @@ import {
11
11
  } from 'modules/rubiconBidAdapter.js';
12
12
  import {config} from 'src/config.js';
13
13
  import * as utils from 'src/utils.js';
14
- import {find} from 'src/polyfill.js';
15
14
  import 'modules/schain.js';
16
15
  import 'modules/consentManagementTcf.js';
17
16
  import 'modules/consentManagementUsp.js';
@@ -48,7 +47,7 @@ describe('the rubicon adapter', function () {
48
47
  * @return {sizeMapConverted}
49
48
  */
50
49
  function getSizeIdForBid(sizesMapConverted, bid) {
51
- return find(sizesMapConverted, item => (item.width === bid.width && item.height === bid.height));
50
+ return sizesMapConverted.find(item => (item.width === bid.width && item.height === bid.height));
52
51
  }
53
52
 
54
53
  /**
@@ -57,7 +56,7 @@ describe('the rubicon adapter', function () {
57
56
  * @return {Object}
58
57
  */
59
58
  function getResponseAdBySize(ads, size) {
60
- return find(ads, item => item.size_id === size.sizeId);
59
+ return ads.find(item => item.size_id === size.sizeId);
61
60
  }
62
61
 
63
62
  /**
@@ -66,7 +65,7 @@ describe('the rubicon adapter', function () {
66
65
  * @return {BidRequest}
67
66
  */
68
67
  function getBidRequestBySize(bidRequests, size) {
69
- return find(bidRequests, item => item.sizes[0][0] === size.width && item.sizes[0][1] === size.height);
68
+ return bidRequests.find(item => item.sizes[0][0] === size.width && item.sizes[0][1] === size.height);
70
69
  }
71
70
 
72
71
  /**
@@ -1174,7 +1174,7 @@ describe('sizeMappingV2', function () {
1174
1174
  });
1175
1175
  });
1176
1176
 
1177
- describe('getFilteredMediaTypes(mediaTypes)', function () {
1177
+ describe('getFilteredMediaTypes(mediaTypes)', function () {
1178
1178
  beforeEach(function () {
1179
1179
  utils.resetWinDimensions();
1180
1180
  sinon
@@ -1,6 +1,5 @@
1
1
  import {expect} from 'chai';
2
2
  import {resolveStatus, setSizeConfig, sizeSupported} from 'modules/sizeMapping.js';
3
- import {includes} from 'src/polyfill.js';
4
3
 
5
4
  let utils = require('src/utils.js');
6
5
  let deepClone = utils.deepClone;
@@ -138,10 +137,10 @@ describe('sizeMapping', function () {
138
137
  });
139
138
 
140
139
  it('when multiple mediaQuery block matches, it should filter a union of the matched sizesSupported', function () {
141
- matchMediaOverride = (str) => includes([
140
+ matchMediaOverride = (str) => [
142
141
  '(min-width: 1200px)',
143
142
  '(min-width: 768px) and (max-width: 1199px)'
144
- ], str) ? {matches: true} : {matches: false};
143
+ ].includes(str) ? {matches: true} : {matches: false};
145
144
 
146
145
  let status = resolveStatus(undefined, mediaTypes, sizeConfig);
147
146
  expect(status.active).to.equal(true);
@@ -2,7 +2,6 @@ import {assert} from 'chai';
2
2
  import {spec} from 'modules/stroeerCoreBidAdapter.js';
3
3
  import * as utils from 'src/utils.js';
4
4
  import {BANNER, VIDEO} from '../../../src/mediaTypes.js';
5
- import {find} from 'src/polyfill.js';
6
5
  import sinon from 'sinon';
7
6
 
8
7
  describe('stroeerCore bid adapter', function () {
@@ -53,22 +52,33 @@ describe('stroeerCore bid adapter', function () {
53
52
  }
54
53
 
55
54
  // Vendor user ids and associated data
56
- const userIds = Object.freeze({
57
- criteoId: 'criteo-user-id',
58
- digitrustid: {
59
- data: {
60
- id: 'encrypted-user-id==',
61
- keyv: 4,
62
- privacy: {optout: false},
63
- producer: 'ABC',
64
- version: 2
65
- }
55
+ const eids = Object.freeze([
56
+ {
57
+ source: 'pubcid.org',
58
+ uids: [
59
+ {
60
+ atype: 1,
61
+ id: '0dc6b760-0000-4716-9999-f92afdf2afb9',
62
+ },
63
+ {
64
+ atype: 3,
65
+ id: '8263836331',
66
+ }
67
+ ],
66
68
  },
67
- lipb: {
68
- lipbid: 'T7JiRRvsRAmh88',
69
- segments: ['999']
69
+ {
70
+ source: 'criteo.com',
71
+ uids: [
72
+ {
73
+ atype: 2,
74
+ id: 'WpgEVV9zekZDVmglMkJQQ09vN05JbWg',
75
+ ext: {
76
+ other: 'stuff'
77
+ }
78
+ }
79
+ ],
70
80
  }
71
- });
81
+ ]);
72
82
 
73
83
  const buildBidderRequest = () => ({
74
84
  bidderRequestId: 'bidder-request-id-123',
@@ -91,7 +101,7 @@ describe('stroeerCore bid adapter', function () {
91
101
  params: {
92
102
  sid: 'NDA='
93
103
  },
94
- userId: userIds
104
+ userIdAsEids: eids
95
105
  }, {
96
106
  bidId: 'bid2',
97
107
  bidder: 'stroeerCore',
@@ -104,7 +114,7 @@ describe('stroeerCore bid adapter', function () {
104
114
  params: {
105
115
  sid: 'ODA='
106
116
  },
107
- userId: userIds
117
+ userIdAsEids: eids
108
118
  }],
109
119
  });
110
120
 
@@ -140,7 +150,7 @@ describe('stroeerCore bid adapter', function () {
140
150
  }
141
151
  }
142
152
  },
143
- getElementById: id => find(placementElements, el => el.id === id)
153
+ getElementById: id => placementElements.find(el => el.id === id)
144
154
  }
145
155
  };
146
156
 
@@ -425,7 +435,7 @@ describe('stroeerCore bid adapter', function () {
425
435
  }
426
436
  }],
427
437
  'user': {
428
- 'euids': userIds
438
+ 'eids': eids
429
439
  }
430
440
  };
431
441
 
@@ -452,7 +462,7 @@ describe('stroeerCore bid adapter', function () {
452
462
  params: {
453
463
  sid: 'NDA='
454
464
  },
455
- userId: userIds
465
+ userIdAsEids: eids
456
466
  }];
457
467
 
458
468
  const expectedBids = [{
@@ -489,7 +499,7 @@ describe('stroeerCore bid adapter', function () {
489
499
  params: {
490
500
  sid: 'ODA=',
491
501
  },
492
- userId: userIds
502
+ userIdAsEids: eids
493
503
  }
494
504
 
495
505
  const bannerBid1 = {
@@ -504,7 +514,7 @@ describe('stroeerCore bid adapter', function () {
504
514
  params: {
505
515
  sid: 'NDA=',
506
516
  },
507
- userId: userIds
517
+ userIdAsEids: eids
508
518
  }
509
519
 
510
520
  const bannerBid2 = {
@@ -519,7 +529,7 @@ describe('stroeerCore bid adapter', function () {
519
529
  params: {
520
530
  sid: 'ABC=',
521
531
  },
522
- userId: userIds
532
+ userIdAsEids: eids
523
533
  }
524
534
 
525
535
  bidderRequest.bids = [bannerBid1, videoBid, bannerBid2];
@@ -585,7 +595,7 @@ describe('stroeerCore bid adapter', function () {
585
595
  params: {
586
596
  sid: 'ODA=',
587
597
  },
588
- userId: userIds
598
+ userIdAsEids: eids
589
599
  }
590
600
 
591
601
  bidderRequest.bids = [multiFormatBid];
@@ -680,10 +690,10 @@ describe('stroeerCore bid adapter', function () {
680
690
 
681
691
  it('should be able to build without third party user id data', () => {
682
692
  const bidReq = buildBidderRequest();
683
- bidReq.bids.forEach(bid => delete bid.userId);
693
+ bidReq.bids.forEach(bid => delete bid.userIdAsEids);
684
694
  const serverRequestInfo = spec.buildRequests(bidReq.bids, bidReq);
685
695
  assert.lengthOf(serverRequestInfo.data.bids, 2);
686
- assert.notProperty(serverRequestInfo, 'uids');
696
+ assert.notProperty(serverRequestInfo.data, 'user');
687
697
  });
688
698
 
689
699
  it('should add schain if available', () => {
@@ -72,24 +72,59 @@ describe('stvAdapter', function() {
72
72
  }
73
73
  ]
74
74
  },
75
- 'userId': {
76
- 'id5id': {
77
- 'uid': '1234',
78
- 'ext': {
79
- 'linkType': 'abc'
80
- }
81
- },
82
- 'netId': '2345',
83
- 'uid2': {
84
- 'id': '3456',
85
- },
86
- 'sharedid': {
87
- 'id': '4567',
88
- },
89
- 'idl_env': '5678',
90
- 'criteoId': '6789',
91
- 'utiq': '7890',
92
- }
75
+ 'userIdAsEids': [
76
+ {
77
+ 'source': 'id5-sync.com',
78
+ 'uids': [{
79
+ 'id': '1234',
80
+ 'ext': {
81
+ 'linkType': 'abc'
82
+ }
83
+ }]
84
+ },
85
+ {
86
+ 'source': 'netid.de',
87
+ 'uids': [{
88
+ 'id': '2345'
89
+ }]
90
+ },
91
+ {
92
+ 'source': 'uidapi.com',
93
+ 'uids': [{
94
+ 'id': '3456'
95
+ }]
96
+ },
97
+ {
98
+ 'source': 'pubcid.org',
99
+ 'uids': [{
100
+ 'id': '4567'
101
+ }]
102
+ },
103
+ {
104
+ 'source': 'liveramp.com',
105
+ 'uids': [{
106
+ 'id': '5678'
107
+ }]
108
+ },
109
+ {
110
+ 'source': 'criteo.com',
111
+ 'uids': [{
112
+ 'id': '6789'
113
+ }]
114
+ },
115
+ {
116
+ 'source': 'utiq.com',
117
+ 'uids': [{
118
+ 'id': '7890'
119
+ }]
120
+ },
121
+ {
122
+ 'source': 'euid.eu',
123
+ 'uids': [{
124
+ 'id': '8901'
125
+ }]
126
+ }
127
+ ]
93
128
  },
94
129
  {
95
130
  'bidder': 'stv',
@@ -103,26 +138,59 @@ describe('stvAdapter', function() {
103
138
  'bidId': '30b31c1838de1e2',
104
139
  'bidderRequestId': '22edbae2733bf62',
105
140
  'auctionId': '1d1a030790a476',
106
- 'userId': { // with other utiq variant
107
- 'id5id': {
108
- 'uid': '1234',
109
- 'ext': {
110
- 'linkType': 'abc'
111
- }
112
- },
113
- 'netId': '2345',
114
- 'uid2': {
115
- 'id': '3456',
116
- },
117
- 'sharedid': {
118
- 'id': '4567',
119
- },
120
- 'idl_env': '5678',
121
- 'criteoId': '6789',
122
- 'utiq': {
123
- 'id': '7890'
124
- },
125
- }
141
+ 'userIdAsEids': [
142
+ {
143
+ 'source': 'id5-sync.com',
144
+ 'uids': [{
145
+ 'id': '1234',
146
+ 'ext': {
147
+ 'linkType': 'abc'
148
+ }
149
+ }]
150
+ },
151
+ {
152
+ 'source': 'netid.de',
153
+ 'uids': [{
154
+ 'id': '2345'
155
+ }]
156
+ },
157
+ {
158
+ 'source': 'uidapi.com',
159
+ 'uids': [{
160
+ 'id': '3456'
161
+ }]
162
+ },
163
+ {
164
+ 'source': 'pubcid.org',
165
+ 'uids': [{
166
+ 'id': '4567'
167
+ }]
168
+ },
169
+ {
170
+ 'source': 'liveramp.com',
171
+ 'uids': [{
172
+ 'id': '5678'
173
+ }]
174
+ },
175
+ {
176
+ 'source': 'criteo.com',
177
+ 'uids': [{
178
+ 'id': '6789'
179
+ }]
180
+ },
181
+ {
182
+ 'source': 'utiq.com',
183
+ 'uids': [{
184
+ 'id': '7890'
185
+ }]
186
+ },
187
+ {
188
+ 'source': 'euid.eu',
189
+ 'uids': [{
190
+ 'id': '8901'
191
+ }]
192
+ }
193
+ ]
126
194
  }, {
127
195
  'bidder': 'stv',
128
196
  'params': {
@@ -219,7 +287,7 @@ describe('stvAdapter', function() {
219
287
  expect(request1.method).to.equal('GET');
220
288
  expect(request1.url).to.equal(ENDPOINT_URL);
221
289
  let data = request1.data.replace(/rnd=\d+\&/g, '').replace(/ref=.*\&bid/g, 'bid').replace(/pbver=.*?&/g, 'pbver=test&');
222
- expect(data).to.equal('_f=html&alternative=prebid_js&_ps=6682&srw=300&srh=250&idt=100&bid_id=30b31c1838de1e1&pbver=test&schain=1.0,0!reseller.com,aaaaa,1,BidRequest4,,&uids=id5%3A1234,id5_linktype%3Aabc,netid%3A2345,uid2%3A3456,sharedid%3A4567,liverampid%3A5678,criteoid%3A6789,utiq%3A7890&pfilter%5Bfloorprice%5D=1000000&pfilter%5Bgeo%5D%5Bcountry%5D=DE&gdpr_consent=BOJ%2FP2HOJ%2FP2HABABMAAAAAZ%2BA%3D%3D&gdpr=true&bcat=IAB2%2CIAB4&dvt=desktop&pbcode=testDiv1&media_types%5Bbanner%5D=300x250');
290
+ expect(data).to.equal('_f=html&alternative=prebid_js&_ps=6682&srw=300&srh=250&idt=100&bid_id=30b31c1838de1e1&pbver=test&schain=1.0,0!reseller.com,aaaaa,1,BidRequest4,,&uids=id5%3A1234,id5_linktype%3Aabc,netid%3A2345,uid2%3A3456,sharedid%3A4567,liverampid%3A5678,criteoid%3A6789,utiq%3A7890,euid%3A8901&pfilter%5Bfloorprice%5D=1000000&pfilter%5Bgeo%5D%5Bcountry%5D=DE&gdpr_consent=BOJ%2FP2HOJ%2FP2HABABMAAAAAZ%2BA%3D%3D&gdpr=true&bcat=IAB2%2CIAB4&dvt=desktop&pbcode=testDiv1&media_types%5Bbanner%5D=300x250');
223
291
  });
224
292
 
225
293
  var request2 = spec.buildRequests([bidRequests[1]], bidderRequest)[0];
@@ -227,7 +295,7 @@ describe('stvAdapter', function() {
227
295
  expect(request2.method).to.equal('GET');
228
296
  expect(request2.url).to.equal(ENDPOINT_URL);
229
297
  let data = request2.data.replace(/rnd=\d+\&/g, '').replace(/ref=.*\&bid/g, 'bid').replace(/pbver=.*?&/g, 'pbver=test&');
230
- expect(data).to.equal('_f=html&alternative=prebid_js&_ps=101&srw=300&srh=250&idt=100&bid_id=30b31c1838de1e2&pbver=test&uids=id5%3A1234,id5_linktype%3Aabc,netid%3A2345,uid2%3A3456,sharedid%3A4567,liverampid%3A5678,criteoid%3A6789,utiq%3A7890&gdpr_consent=BOJ%2FP2HOJ%2FP2HABABMAAAAAZ%2BA%3D%3D&gdpr=true&prebidDevMode=1&media_types%5Bbanner%5D=300x250');
298
+ expect(data).to.equal('_f=html&alternative=prebid_js&_ps=101&srw=300&srh=250&idt=100&bid_id=30b31c1838de1e2&pbver=test&uids=id5%3A1234,id5_linktype%3Aabc,netid%3A2345,uid2%3A3456,sharedid%3A4567,liverampid%3A5678,criteoid%3A6789,utiq%3A7890,euid%3A8901&gdpr_consent=BOJ%2FP2HOJ%2FP2HABABMAAAAAZ%2BA%3D%3D&gdpr=true&prebidDevMode=1&media_types%5Bbanner%5D=300x250');
231
299
  });
232
300
 
233
301
  // Without gdprConsent
@@ -14,7 +14,7 @@ import {
14
14
  parsePaapiAdId,
15
15
  parsePaapiSize, resizeCreativeHook,
16
16
  topLevelPAAPI
17
- } from '/modules/topLevelPaapi.js';
17
+ } from '../../../modules/topLevelPaapi.js';
18
18
  import {auctionManager} from '../../../src/auctionManager.js';
19
19
  import {expect} from 'chai/index.js';
20
20
  import {getBidToRender} from '../../../src/adRendering.js';
@@ -1,4 +1,4 @@
1
-
1
+
2
2
  import {spec, storage, VIDEO_RENDERER_URL} from 'modules/tpmnBidAdapter.js';
3
3
  import {generateUUID} from '../../../src/utils.js';
4
4
  import {expect} from 'chai';
@@ -269,7 +269,7 @@ describe('ttdBidAdapter', function () {
269
269
  };
270
270
  var requestBody = testBuildRequests(baseBannerBidRequests, requestWithoutTimeout).data;
271
271
  expect(requestBody.tmax).to.be.equal(400);
272
-
272
+
273
273
  const requestWithTimeout = {
274
274
  ...baseBidderRequest,
275
275
  timeout: 600
@@ -27,6 +27,9 @@ describe('Unified ID', () => {
27
27
  expect(newEids.length).to.equal(1);
28
28
  expect(newEids[0]).to.deep.equal({
29
29
  source: 'adserver.org',
30
+ inserter: 'adserver.org',
31
+ matcher: 'adserver.org',
32
+ mm: 4,
30
33
  uids: [{id: 'some-random-id-value', atype: 1, ext: {rtiPartner: 'TDID'}}]
31
34
  });
32
35
  });
@@ -39,8 +42,25 @@ describe('Unified ID', () => {
39
42
  expect(newEids.length).to.equal(1);
40
43
  expect(newEids[0]).to.deep.equal({
41
44
  source: 'adserver.org',
45
+ inserter: 'adserver.org',
46
+ matcher: 'adserver.org',
47
+ mm: 4,
42
48
  uids: [{id: 'some-sample_id', atype: 1, ext: {rtiPartner: 'TDID', provider: 'some.provider.com'}}]
43
49
  });
44
50
  });
51
+
52
+ it('unifiedId: adds inserter and matcher', function () {
53
+ const userId = {
54
+ tdid: 'uid123'
55
+ };
56
+ const newEids = createEidsArray(userId);
57
+ expect(newEids.length).to.equal(1);
58
+ expect(newEids[0]).to.deep.include({
59
+ source: 'adserver.org',
60
+ inserter: 'adserver.org',
61
+ matcher: 'adserver.org',
62
+ mm: 4
63
+ });
64
+ });
45
65
  });
46
66
  });
@@ -3204,7 +3204,7 @@ describe('User ID', function () {
3204
3204
  }
3205
3205
  };
3206
3206
  addIdData({ adUnits, ortb2Fragments });
3207
-
3207
+
3208
3208
  adUnits[0].bids.forEach(({userId}) => {
3209
3209
  const userIdModules = Object.keys(userId);
3210
3210
  expect(userIdModules).to.include(ALLOWED_MODULE);
@@ -546,7 +546,7 @@ describe('VibrantMediaBidAdapter', function () {
546
546
  const request = spec.buildRequests(bidRequests, {});
547
547
  const payload = JSON.parse(request.data);
548
548
 
549
- expect(payload.window).to.exist;
549
+ expect(payload.window).to.exist;
550
550
  expect(payload.window.width).to.equal(getWinDimensions().innerWidth);
551
551
  expect(payload.window.height).to.equal(getWinDimensions().innerHeight);
552
552
  });