prebid.js 8.44.0 → 8.45.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 (472) hide show
  1. package/README.md +7 -1
  2. package/creative/constants.js +7 -7
  3. package/creative/renderers/display/constants.js +2 -2
  4. package/creative/renderers/native/constants.js +2 -2
  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/adWMGAnalyticsAdapter.js +1 -1
  10. package/dist/adagioAnalyticsAdapter.js +1 -1
  11. package/dist/adagioBidAdapter.js +1 -1
  12. package/dist/adbookpspBidAdapter.js +1 -1
  13. package/dist/adgenerationBidAdapter.js +1 -1
  14. package/dist/adkernelAdnAnalyticsAdapter.js +1 -1
  15. package/dist/adkernelBidAdapter.js +1 -1
  16. package/dist/adlooxAdServerVideo.js +1 -1
  17. package/dist/adlooxAnalyticsAdapter.js +1 -1
  18. package/dist/adlooxRtdProvider.js +1 -1
  19. package/dist/adnuntiusBidAdapter.js +1 -1
  20. package/dist/adomikAnalyticsAdapter.js +1 -1
  21. package/dist/adpod.js +1 -1
  22. package/dist/adqueryBidAdapter.js +1 -1
  23. package/dist/adrelevantisBidAdapter.js +1 -1
  24. package/dist/adstirBidAdapter.js +1 -1
  25. package/dist/adtrgtmeBidAdapter.js +1 -1
  26. package/dist/adxcgAnalyticsAdapter.js +1 -1
  27. package/dist/adxcgBidAdapter.js +1 -1
  28. package/dist/adxpremiumAnalyticsAdapter.js +1 -1
  29. package/dist/adyoulikeBidAdapter.js +1 -1
  30. package/dist/agmaAnalyticsAdapter.js +1 -1
  31. package/dist/ajaBidAdapter.js +1 -1
  32. package/dist/amxBidAdapter.js +1 -1
  33. package/dist/amxIdSystem.js +1 -1
  34. package/dist/analyticsAdapter.js +1 -1
  35. package/dist/appierAnalyticsAdapter.js +1 -1
  36. package/dist/appnexusBidAdapter.js +1 -1
  37. package/dist/asoBidAdapter.js +1 -1
  38. package/dist/asteriobidAnalyticsAdapter.js +1 -1
  39. package/dist/atsAnalyticsAdapter.js +1 -1
  40. package/dist/automatadAnalyticsAdapter.js +1 -1
  41. package/dist/axonixBidAdapter.js +1 -1
  42. package/dist/bidViewability.js +1 -1
  43. package/dist/bidViewabilityIO.js +1 -1
  44. package/dist/bidglassBidAdapter.js +1 -1
  45. package/dist/bidwatchAnalyticsAdapter.js +1 -1
  46. package/dist/big-richmediaBidAdapter.js +1 -1
  47. package/dist/brandmetricsRtdProvider.js +1 -1
  48. package/dist/bridBidAdapter.js +1 -1
  49. package/dist/bridgewellBidAdapter.js +1 -1
  50. package/dist/brightMountainMediaBidAdapter.js +1 -1
  51. package/dist/browsiRtdProvider.js +1 -1
  52. package/dist/byDataAnalyticsAdapter.js +1 -1
  53. package/dist/carodaBidAdapter.js +1 -1
  54. package/dist/chtnwBidAdapter.js +1 -1
  55. package/dist/chunk-core.js +1 -1
  56. package/dist/chunk-paapi.js +1 -1
  57. package/dist/cleanioRtdProvider.js +1 -1
  58. package/dist/concertAnalyticsAdapter.js +1 -1
  59. package/dist/concertBidAdapter.js +1 -1
  60. package/dist/confiantRtdProvider.js +1 -1
  61. package/dist/connectadBidAdapter.js +1 -1
  62. package/dist/consentManagementUsp.js +1 -1
  63. package/dist/consumableBidAdapter.js +1 -1
  64. package/dist/conversantAnalyticsAdapter.js +1 -1
  65. package/dist/conversantBidAdapter.js +1 -1
  66. package/dist/craftBidAdapter.js +1 -1
  67. package/dist/creative-renderer-native.js +1 -1
  68. package/dist/criteoBidAdapter.js +1 -1
  69. package/dist/currency.js +1 -1
  70. package/dist/cwireBidAdapter.js +1 -1
  71. package/dist/dailymotionBidAdapter.js +1 -0
  72. package/dist/datablocksAnalyticsAdapter.js +1 -1
  73. package/dist/datawrkzBidAdapter.js +1 -1
  74. package/dist/debugging-standalone.js +1 -1
  75. package/dist/debugging.js +1 -1
  76. package/dist/dependencies.json +3 -3
  77. package/dist/dfpAdServerVideo.js +1 -1
  78. package/dist/dsaControl.js +1 -1
  79. package/dist/dspxBidAdapter.js +1 -1
  80. package/dist/dxkultureBidAdapter.js +1 -1
  81. package/dist/eplanningAnalyticsAdapter.js +1 -1
  82. package/dist/eplanningBidAdapter.js +1 -1
  83. package/dist/euidIdSystem.js +1 -1
  84. package/dist/feedadBidAdapter.js +1 -1
  85. package/dist/finativeBidAdapter.js +1 -1
  86. package/dist/fintezaAnalyticsAdapter.js +1 -1
  87. package/dist/freewheel-sspBidAdapter.js +1 -1
  88. package/dist/gdprEnforcement.js +1 -1
  89. package/dist/genericAnalyticsAdapter.js +1 -1
  90. package/dist/geoedgeRtdProvider.js +1 -1
  91. package/dist/gmosspBidAdapter.js +1 -1
  92. package/dist/goldbachBidAdapter.js +1 -1
  93. package/dist/greenbidsAnalyticsAdapter.js +1 -1
  94. package/dist/greenbidsRtdProvider.js +1 -1
  95. package/dist/gridBidAdapter.js +1 -1
  96. package/dist/growthCodeAnalyticsAdapter.js +1 -1
  97. package/dist/gumgumBidAdapter.js +1 -1
  98. package/dist/h12mediaBidAdapter.js +1 -1
  99. package/dist/hadronAnalyticsAdapter.js +1 -1
  100. package/dist/holidBidAdapter.js +1 -1
  101. package/dist/hypelabBidAdapter.js +1 -1
  102. package/dist/id5AnalyticsAdapter.js +1 -1
  103. package/dist/id5IdSystem.js +1 -1
  104. package/dist/illuminBidAdapter.js +1 -1
  105. package/dist/imdsBidAdapter.js +1 -1
  106. package/dist/improvedigitalBidAdapter.js +1 -1
  107. package/dist/insticatorBidAdapter.js +1 -1
  108. package/dist/instreamTracking.js +1 -1
  109. package/dist/invisiblyAnalyticsAdapter.js +1 -1
  110. package/dist/ixBidAdapter.js +1 -1
  111. package/dist/jixieBidAdapter.js +1 -1
  112. package/dist/justpremiumBidAdapter.js +1 -1
  113. package/dist/kargoAnalyticsAdapter.js +1 -1
  114. package/dist/kargoBidAdapter.js +1 -1
  115. package/dist/kimberliteBidAdapter.js +1 -1
  116. package/dist/konduitAnalyticsAdapter.js +1 -1
  117. package/dist/kueezBidAdapter.js +1 -1
  118. package/dist/kueezRtbBidAdapter.js +1 -1
  119. package/dist/lassoBidAdapter.js +1 -1
  120. package/dist/lifestreetBidAdapter.js +1 -1
  121. package/dist/liveIntentAnalyticsAdapter.js +1 -1
  122. package/dist/liveIntentIdSystem.js +1 -1
  123. package/dist/livewrappedAnalyticsAdapter.js +1 -1
  124. package/dist/logicadBidAdapter.js +1 -1
  125. package/dist/loglyliftBidAdapter.js +1 -1
  126. package/dist/luceadBidAdapter.js +1 -1
  127. package/dist/magniteAnalyticsAdapter.js +1 -1
  128. package/dist/malltvAnalyticsAdapter.js +1 -1
  129. package/dist/marsmediaAnalyticsAdapter.js +1 -1
  130. package/dist/marsmediaBidAdapter.js +1 -1
  131. package/dist/mediafilterRtdProvider.js +1 -1
  132. package/dist/mediafuseBidAdapter.js +1 -1
  133. package/dist/medianetAnalyticsAdapter.js +1 -1
  134. package/dist/medianetBidAdapter.js +1 -1
  135. package/dist/mediasquareBidAdapter.js +1 -1
  136. package/dist/mgidBidAdapter.js +1 -1
  137. package/dist/minutemediaBidAdapter.js +1 -1
  138. package/dist/minutemediaplusBidAdapter.js +1 -1
  139. package/dist/missenaBidAdapter.js +1 -1
  140. package/dist/multibid.js +1 -1
  141. package/dist/neuwoRtdProvider.js +1 -1
  142. package/dist/nextMillenniumBidAdapter.js +1 -1
  143. package/dist/nexx360BidAdapter.js +1 -1
  144. package/dist/nobidAnalyticsAdapter.js +1 -1
  145. package/dist/not-for-prod/prebid.js +237 -235
  146. package/dist/oguryBidAdapter.js +1 -1
  147. package/dist/onetagBidAdapter.js +1 -1
  148. package/dist/ooloAnalyticsAdapter.js +1 -1
  149. package/dist/openwebBidAdapter.js +1 -1
  150. package/dist/openxBidAdapter.js +1 -1
  151. package/dist/optidigitalBidAdapter.js +1 -1
  152. package/dist/optimonAnalyticsAdapter.js +1 -1
  153. package/dist/outbrainBidAdapter.js +1 -1
  154. package/dist/oxxionAnalyticsAdapter.js +1 -1
  155. package/dist/oxxionRtdProvider.js +1 -1
  156. package/dist/parrableIdSystem.js +1 -1
  157. package/dist/pbsExtensions.js +1 -1
  158. package/dist/permutiveRtdProvider.js +1 -1
  159. package/dist/pgamsspBidAdapter.js +1 -1
  160. package/dist/pianoDmpAnalyticsAdapter.js +1 -1
  161. package/dist/pirIdSystem.js +1 -0
  162. package/dist/pixfutureBidAdapter.js +1 -1
  163. package/dist/prebidServerBidAdapter.js +1 -1
  164. package/dist/prebidmanagerAnalyticsAdapter.js +1 -1
  165. package/dist/priceFloors.js +1 -1
  166. package/dist/publinkIdSystem.js +1 -1
  167. package/dist/publirBidAdapter.js +1 -1
  168. package/dist/pubmaticAnalyticsAdapter.js +1 -1
  169. package/dist/pubmaticBidAdapter.js +1 -1
  170. package/dist/pubperfAnalyticsAdapter.js +1 -1
  171. package/dist/pubstackAnalyticsAdapter.js +1 -1
  172. package/dist/pubwiseAnalyticsAdapter.js +1 -1
  173. package/dist/pubxaiAnalyticsAdapter.js +1 -1
  174. package/dist/pulsepointAnalyticsAdapter.js +1 -1
  175. package/dist/pxyzBidAdapter.js +1 -1
  176. package/dist/qortexRtdProvider.js +1 -1
  177. package/dist/quantcastBidAdapter.js +1 -1
  178. package/dist/readpeakBidAdapter.js +1 -1
  179. package/dist/relaidoBidAdapter.js +1 -1
  180. package/dist/relevantAnalyticsAdapter.js +1 -1
  181. package/dist/retailspotBidAdapter.js +1 -1
  182. package/dist/rhythmoneBidAdapter.js +1 -1
  183. package/dist/riseBidAdapter.js +1 -1
  184. package/dist/rivrAnalyticsAdapter.js +1 -1
  185. package/dist/roxotAnalyticsAdapter.js +1 -1
  186. package/dist/rtdModule.js +1 -1
  187. package/dist/rubiconBidAdapter.js +1 -1
  188. package/dist/s2sTesting.js +1 -1
  189. package/dist/scaleableAnalyticsAdapter.js +1 -1
  190. package/dist/schain.js +1 -1
  191. package/dist/seedingAllianceBidAdapter.js +1 -1
  192. package/dist/seedtagBidAdapter.js +1 -1
  193. package/dist/sharethroughAnalyticsAdapter.js +1 -1
  194. package/dist/sharethroughBidAdapter.js +1 -1
  195. package/dist/shinezBidAdapter.js +1 -1
  196. package/dist/shinezRtbBidAdapter.js +1 -1
  197. package/dist/sigmoidAnalyticsAdapter.js +1 -1
  198. package/dist/sizeMapping.js +1 -1
  199. package/dist/smaatoBidAdapter.js +1 -1
  200. package/dist/smartadserverBidAdapter.js +1 -1
  201. package/dist/smartxBidAdapter.js +1 -1
  202. package/dist/smilewantedBidAdapter.js +1 -1
  203. package/dist/sonobiAnalyticsAdapter.js +1 -1
  204. package/dist/sonobiBidAdapter.js +1 -1
  205. package/dist/sovrnAnalyticsAdapter.js +1 -1
  206. package/dist/sovrnBidAdapter.js +1 -1
  207. package/dist/sspBCBidAdapter.js +1 -1
  208. package/dist/staqAnalyticsAdapter.js +1 -1
  209. package/dist/stnBidAdapter.js +1 -1
  210. package/dist/stvBidAdapter.js +1 -1
  211. package/dist/sublimeBidAdapter.js +1 -1
  212. package/dist/taboolaBidAdapter.js +1 -1
  213. package/dist/tagorasBidAdapter.js +1 -1
  214. package/dist/targetVideoBidAdapter.js +1 -1
  215. package/dist/teadsBidAdapter.js +1 -1
  216. package/dist/terceptAnalyticsAdapter.js +1 -1
  217. package/dist/themoneytizerBidAdapter.js +1 -1
  218. package/dist/topicsFpdModule.js +1 -1
  219. package/dist/trionBidAdapter.js +1 -1
  220. package/dist/tripleliftBidAdapter.js +1 -1
  221. package/dist/ttdBidAdapter.js +1 -1
  222. package/dist/ucfunnelAnalyticsAdapter.js +1 -1
  223. package/dist/uid2IdSystem.js +1 -1
  224. package/dist/underdogmediaBidAdapter.js +1 -1
  225. package/dist/undertoneBidAdapter.js +1 -1
  226. package/dist/unrulyBidAdapter.js +1 -1
  227. package/dist/userId.js +1 -1
  228. package/dist/vidazooBidAdapter.js +1 -1
  229. package/dist/videoModule.js +1 -1
  230. package/dist/videobyteBidAdapter.js +1 -1
  231. package/dist/visxBidAdapter.js +1 -1
  232. package/dist/vuukleBidAdapter.js +1 -1
  233. package/dist/weboramaRtdProvider.js +1 -1
  234. package/dist/widespaceBidAdapter.js +1 -1
  235. package/dist/winrBidAdapter.js +1 -1
  236. package/dist/yahoosspBidAdapter.js +1 -1
  237. package/dist/yandexAnalyticsAdapter.js +1 -1
  238. package/dist/yieldmoBidAdapter.js +1 -1
  239. package/dist/yieldoneAnalyticsAdapter.js +1 -1
  240. package/dist/yuktamediaAnalyticsAdapter.js +1 -1
  241. package/dist/zeta_global_sspAnalyticsAdapter.js +1 -1
  242. package/dist/zeta_global_sspBidAdapter.js +1 -1
  243. package/gulpfile.js +9 -1
  244. package/integrationExamples/gpt/adnuntius_example.html +7 -1
  245. package/integrationExamples/gpt/azerionedgeRtdProvider_example.html +3 -3
  246. package/integrationExamples/gpt/top-level-paapi/decisionLogic.js +57 -0
  247. package/integrationExamples/gpt/top-level-paapi/tl_paapi_example.html +188 -0
  248. package/integrationExamples/gpt/x-domain/creative.html +1 -1
  249. package/libraries/analyticsAdapter/AnalyticsAdapter.js +4 -4
  250. package/libraries/creative-renderer-native/renderer.js +1 -1
  251. package/modules/33acrossAnalyticsAdapter.js +2 -4
  252. package/modules/33acrossIdSystem.js +1 -1
  253. package/modules/adWMGAnalyticsAdapter.js +9 -11
  254. package/modules/adagioAnalyticsAdapter.js +8 -8
  255. package/modules/adkernelAdnAnalyticsAdapter.js +8 -8
  256. package/modules/adkernelBidAdapter.js +9 -3
  257. package/modules/adlooxAdServerVideo.js +2 -2
  258. package/modules/adlooxAnalyticsAdapter.js +4 -4
  259. package/modules/adnuntiusBidAdapter.js +49 -31
  260. package/modules/adomikAnalyticsAdapter.js +7 -7
  261. package/modules/adpod.js +3 -3
  262. package/modules/adxcgAnalyticsAdapter.js +10 -10
  263. package/modules/adxpremiumAnalyticsAdapter.js +8 -10
  264. package/modules/agmaAnalyticsAdapter.js +2 -6
  265. package/modules/appierAnalyticsAdapter.js +5 -7
  266. package/modules/asteriobidAnalyticsAdapter.js +14 -14
  267. package/modules/atsAnalyticsAdapter.js +4 -4
  268. package/modules/automatadAnalyticsAdapter.js +20 -20
  269. package/modules/azerionedgeRtdProvider.md +4 -2
  270. package/modules/bidViewability.js +3 -3
  271. package/modules/bidViewabilityIO.js +3 -3
  272. package/modules/bidwatchAnalyticsAdapter.js +7 -9
  273. package/modules/brandmetricsRtdProvider.js +6 -6
  274. package/modules/browsiRtdProvider.js +3 -3
  275. package/modules/byDataAnalyticsAdapter.js +3 -3
  276. package/modules/cleanioRtdProvider.js +3 -3
  277. package/modules/concertAnalyticsAdapter.js +5 -7
  278. package/modules/confiantRtdProvider.js +2 -2
  279. package/modules/conversantAnalyticsAdapter.js +2 -4
  280. package/modules/criteoBidAdapter.js +51 -8
  281. package/modules/currency.js +7 -7
  282. package/modules/dailymotionBidAdapter.js +139 -0
  283. package/modules/dailymotionBidAdapter.md +140 -0
  284. package/modules/datawrkzBidAdapter.js +4 -4
  285. package/modules/debugging/pbsInterceptor.js +2 -2
  286. package/modules/dfpAdServerVideo.js +2 -2
  287. package/modules/dsaControl.js +5 -5
  288. package/modules/eplanningAnalyticsAdapter.js +8 -8
  289. package/modules/fintezaAnalyticsAdapter.js +5 -5
  290. package/modules/gdprEnforcement.js +3 -3
  291. package/modules/geoedgeRtdProvider.js +2 -2
  292. package/modules/greenbidsAnalyticsAdapter.js +13 -10
  293. package/modules/greenbidsRtdProvider.js +2 -2
  294. package/modules/growthCodeAnalyticsAdapter.js +14 -14
  295. package/modules/hadronAnalyticsAdapter.js +14 -14
  296. package/modules/holidBidAdapter.js +2 -2
  297. package/modules/id5AnalyticsAdapter.js +7 -9
  298. package/modules/improvedigitalBidAdapter.js +2 -1
  299. package/modules/insticatorBidAdapter.js +137 -27
  300. package/modules/instreamTracking.js +4 -4
  301. package/modules/invisiblyAnalyticsAdapter.js +15 -17
  302. package/modules/ixBidAdapter.js +3 -3
  303. package/modules/kargoAnalyticsAdapter.js +3 -3
  304. package/modules/kargoBidAdapter.js +5 -11
  305. package/modules/konduitAnalyticsAdapter.js +13 -13
  306. package/modules/liveIntentAnalyticsAdapter.js +2 -2
  307. package/modules/livewrappedAnalyticsAdapter.js +10 -10
  308. package/modules/magniteAnalyticsAdapter.js +25 -23
  309. package/modules/malltvAnalyticsAdapter.js +4 -6
  310. package/modules/mediafilterRtdProvider.js +2 -2
  311. package/modules/medianetAnalyticsAdapter.js +12 -12
  312. package/modules/medianetBidAdapter.js +1 -1
  313. package/modules/multibid/index.js +2 -2
  314. package/modules/neuwoRtdProvider.js +2 -2
  315. package/modules/nextMillenniumBidAdapter.js +4 -4
  316. package/modules/nobidAnalyticsAdapter.js +9 -11
  317. package/modules/ooloAnalyticsAdapter.js +2 -2
  318. package/modules/oxxionAnalyticsAdapter.js +7 -9
  319. package/modules/paapi.js +20 -6
  320. package/modules/permutiveRtdProvider.js +21 -2
  321. package/modules/pgamsspBidAdapter.js +26 -3
  322. package/modules/pirIdSystem.js +62 -0
  323. package/modules/pirIdSystem.md +27 -0
  324. package/modules/prebidServerBidAdapter/index.js +8 -8
  325. package/modules/prebidServerBidAdapter/ortbConverter.js +3 -3
  326. package/modules/prebidmanagerAnalyticsAdapter.js +14 -14
  327. package/modules/priceFloors.js +10 -5
  328. package/modules/pubmaticAnalyticsAdapter.js +32 -22
  329. package/modules/pubmaticBidAdapter.js +1 -17
  330. package/modules/pubwiseAnalyticsAdapter.js +11 -11
  331. package/modules/pubxaiAnalyticsAdapter.js +6 -6
  332. package/modules/qortexRtdProvider.js +2 -2
  333. package/modules/roxotAnalyticsAdapter.js +8 -10
  334. package/modules/rtdModule/index.js +7 -7
  335. package/modules/scaleableAnalyticsAdapter.js +5 -5
  336. package/modules/seedtagBidAdapter.js +12 -3
  337. package/modules/sigmoidAnalyticsAdapter.js +7 -7
  338. package/modules/smaatoBidAdapter.js +1 -2
  339. package/modules/sonobiAnalyticsAdapter.js +10 -12
  340. package/modules/sovrnAnalyticsAdapter.js +7 -9
  341. package/modules/sovrnBidAdapter.js +1 -1
  342. package/modules/staqAnalyticsAdapter.js +9 -9
  343. package/modules/terceptAnalyticsAdapter.js +7 -7
  344. package/modules/topicsFpdModule.js +3 -0
  345. package/modules/topicsFpdModule.md +4 -0
  346. package/modules/ucfunnelAnalyticsAdapter.js +5 -7
  347. package/modules/userId/index.js +3 -3
  348. package/modules/videoModule/index.js +4 -4
  349. package/modules/yandexAnalyticsAdapter.js +2 -2
  350. package/modules/yieldoneAnalyticsAdapter.js +7 -7
  351. package/modules/yuktamediaAnalyticsAdapter.js +9 -9
  352. package/modules/zeta_global_sspAnalyticsAdapter.js +5 -5
  353. package/modules/zeta_global_sspBidAdapter.js +8 -1
  354. package/package.json +1 -1
  355. package/src/adRendering.js +15 -15
  356. package/src/adUnits.js +9 -21
  357. package/src/adapterManager.js +23 -13
  358. package/src/adapters/bidderFactory.js +8 -8
  359. package/src/auction.js +26 -28
  360. package/src/auctionManager.js +4 -4
  361. package/src/bidderSettings.js +2 -2
  362. package/src/config.js +2 -2
  363. package/src/constants.js +190 -0
  364. package/src/events.js +3 -3
  365. package/src/native.js +6 -8
  366. package/src/prebid.js +6 -10
  367. package/src/secureCreatives.js +5 -5
  368. package/src/targeting.js +13 -13
  369. package/src/utils.js +4 -4
  370. package/test/fixtures/fixtures.js +44 -44
  371. package/test/helpers/analytics.js +6 -6
  372. package/test/spec/AnalyticsAdapter_spec.js +3 -3
  373. package/test/spec/auctionmanager_spec.js +82 -82
  374. package/test/spec/modules/33acrossAnalyticsAdapter_spec.js +1 -2
  375. package/test/spec/modules/33acrossIdSystem_spec.js +3 -3
  376. package/test/spec/modules/adWMGAnalyticsAdapter_spec.js +14 -14
  377. package/test/spec/modules/adagioAnalyticsAdapter_spec.js +26 -26
  378. package/test/spec/modules/adkernelAdnAnalytics_spec.js +6 -6
  379. package/test/spec/modules/adkernelBidAdapter_spec.js +9 -4
  380. package/test/spec/modules/adlooxAnalyticsAdapter_spec.js +6 -6
  381. package/test/spec/modules/adnuntiusBidAdapter_spec.js +8 -5
  382. package/test/spec/modules/adomikAnalyticsAdapter_spec.js +7 -7
  383. package/test/spec/modules/adxcgAnalyticsAdapter_spec.js +7 -7
  384. package/test/spec/modules/adxpremiumAnalyticsAdapter_spec.js +7 -7
  385. package/test/spec/modules/agmaAnalyticsAdapter_spec.js +14 -14
  386. package/test/spec/modules/appierAnalyticsAdapter_spec.js +1 -1
  387. package/test/spec/modules/asteriobidAnalyticsAdapter_spec.js +2 -2
  388. package/test/spec/modules/atsAnalyticsAdapter_spec.js +8 -8
  389. package/test/spec/modules/automatadAnalyticsAdapter_spec.js +2 -2
  390. package/test/spec/modules/bidViewabilityIO_spec.js +2 -2
  391. package/test/spec/modules/bidViewability_spec.js +4 -4
  392. package/test/spec/modules/bidwatchAnalyticsAdapter_spec.js +7 -6
  393. package/test/spec/modules/byDataAnalyticsAdapter_spec.js +5 -4
  394. package/test/spec/modules/cleanioRtdProvider_spec.js +6 -6
  395. package/test/spec/modules/concertAnalyticsAdapter_spec.js +7 -6
  396. package/test/spec/modules/confiantRtdProvider_spec.js +2 -2
  397. package/test/spec/modules/conversantAnalyticsAdapter_spec.js +61 -61
  398. package/test/spec/modules/criteoBidAdapter_spec.js +111 -5
  399. package/test/spec/modules/currency_spec.js +6 -6
  400. package/test/spec/modules/dailymotionBidAdapter_spec.js +369 -0
  401. package/test/spec/modules/dsaControl_spec.js +4 -4
  402. package/test/spec/modules/eplanningAnalyticsAdapter_spec.js +20 -13
  403. package/test/spec/modules/fintezaAnalyticsAdapter_spec.js +5 -5
  404. package/test/spec/modules/genericAnalyticsAdapter_spec.js +2 -2
  405. package/test/spec/modules/geoedgeRtdProvider_spec.js +37 -37
  406. package/test/spec/modules/greenbidsAnalyticsAdapter_spec.js +15 -2
  407. package/test/spec/modules/greenbidsRtdProvider_spec.js +2 -2
  408. package/test/spec/modules/growthCodeAnalyticsAdapter_spec.js +2 -2
  409. package/test/spec/modules/hadronAnalyticsAdapter_spec.js +3 -3
  410. package/test/spec/modules/id5AnalyticsAdapter_spec.js +5 -5
  411. package/test/spec/modules/id5IdSystem_spec.js +2 -2
  412. package/test/spec/modules/improvedigitalBidAdapter_spec.js +3 -3
  413. package/test/spec/modules/insticatorBidAdapter_spec.js +275 -22
  414. package/test/spec/modules/invisiblyAnalyticsAdapter_spec.js +40 -40
  415. package/test/spec/modules/kargoAnalyticsAdapter_spec.js +3 -3
  416. package/test/spec/modules/konduitAnalyticsAdapter_spec.js +13 -13
  417. package/test/spec/modules/lemmaDigitalBidAdapter_spec.js +1 -1
  418. package/test/spec/modules/liveIntentAnalyticsAdapter_spec.js +3 -3
  419. package/test/spec/modules/livewrappedAnalyticsAdapter_spec.js +15 -20
  420. package/test/spec/modules/magniteAnalyticsAdapter_spec.js +31 -15
  421. package/test/spec/modules/malltvAnalyticsAdapter_spec.js +3 -3
  422. package/test/spec/modules/mediafilterRtdProvider_spec.js +2 -2
  423. package/test/spec/modules/medianetAnalyticsAdapter_spec.js +3 -3
  424. package/test/spec/modules/nobidAnalyticsAdapter_spec.js +23 -23
  425. package/test/spec/modules/ooloAnalyticsAdapter_spec.js +33 -33
  426. package/test/spec/modules/optimonAnalyticsAdapter_spec.js +0 -1
  427. package/test/spec/modules/oxxionAnalyticsAdapter_spec.js +7 -7
  428. package/test/spec/modules/paapi_spec.js +40 -14
  429. package/test/spec/modules/permutiveRtdProvider_spec.js +29 -1
  430. package/test/spec/modules/pgamsspBidAdapter_spec.js +50 -4
  431. package/test/spec/modules/pianoDmpAnalyticsAdapter_spec.js +9 -9
  432. package/test/spec/modules/pirIdSystem_spec.js +77 -0
  433. package/test/spec/modules/prebidServerBidAdapter_spec.js +7 -7
  434. package/test/spec/modules/prebidmanagerAnalyticsAdapter_spec.js +2 -2
  435. package/test/spec/modules/priceFloors_spec.js +6 -5
  436. package/test/spec/modules/pubmaticAnalyticsAdapter_spec.js +12 -14
  437. package/test/spec/modules/pubmaticBidAdapter_spec.js +1 -1
  438. package/test/spec/modules/pubstackAnalyticsAdapter_spec.js +0 -1
  439. package/test/spec/modules/pubwiseAnalyticsAdapter_spec.js +14 -14
  440. package/test/spec/modules/pubxaiAnalyticsAdapter_spec.js +7 -7
  441. package/test/spec/modules/qortexRtdProvider_spec.js +2 -2
  442. package/test/spec/modules/realTimeDataModule_spec.js +9 -9
  443. package/test/spec/modules/relevantAnalyticsAdapter_spec.js +3 -3
  444. package/test/spec/modules/relevantdigitalBidAdapter_spec.js +2 -2
  445. package/test/spec/modules/rivrAnalyticsAdapter_spec.js +4 -4
  446. package/test/spec/modules/roxotAnalyticsAdapter_spec.js +25 -25
  447. package/test/spec/modules/scaleableAnalyticsAdapter_spec.js +5 -5
  448. package/test/spec/modules/seedtagBidAdapter_spec.js +56 -3
  449. package/test/spec/modules/sigmoidAnalyticsAdapter_spec.js +0 -1
  450. package/test/spec/modules/sonobiAnalyticsAdapter_spec.js +8 -7
  451. package/test/spec/modules/sovrnAnalyticsAdapter_spec.js +2 -2
  452. package/test/spec/modules/sovrnBidAdapter_spec.js +5 -5
  453. package/test/spec/modules/staqAnalyticsAdapter_spec.js +7 -7
  454. package/test/spec/modules/terceptAnalyticsAdapter_spec.js +7 -7
  455. package/test/spec/modules/trionBidAdapter_spec.js +1 -1
  456. package/test/spec/modules/ucfunnelAnalyticsAdapter_spec.js +1 -1
  457. package/test/spec/modules/userId_spec.js +4 -4
  458. package/test/spec/modules/videoModule/pbVideo_spec.js +3 -3
  459. package/test/spec/modules/yieldoneAnalyticsAdapter_spec.js +22 -21
  460. package/test/spec/modules/yuktamediaAnalyticsAdapter_spec.js +33 -32
  461. package/test/spec/modules/zeta_global_sspAnalyticsAdapter_spec.js +8 -8
  462. package/test/spec/modules/zeta_global_sspBidAdapter_spec.js +1 -1
  463. package/test/spec/native_spec.js +19 -19
  464. package/test/spec/unit/adRendering_spec.js +14 -14
  465. package/test/spec/unit/adUnits_spec.js +1 -1
  466. package/test/spec/unit/core/adapterManager_spec.js +99 -59
  467. package/test/spec/unit/core/bidderFactory_spec.js +6 -6
  468. package/test/spec/unit/core/targeting_spec.js +47 -47
  469. package/test/spec/unit/pbjs_api_spec.js +81 -81
  470. package/test/spec/unit/secureCreatives_spec.js +27 -27
  471. package/test/spec/utils_spec.js +2 -2
  472. package/src/constants.json +0 -196
@@ -15,7 +15,7 @@ import {
15
15
  reset
16
16
  } from 'modules/paapi.js';
17
17
  import * as events from 'src/events.js';
18
- import CONSTANTS from 'src/constants.json';
18
+ import { EVENTS } from 'src/constants.js';
19
19
  import {getGlobal} from '../../../src/prebidGlobal.js';
20
20
  import {auctionManager} from '../../../src/auctionManager.js';
21
21
  import {stubAuctionIndex} from '../../helpers/indexStub.js';
@@ -69,7 +69,7 @@ describe('paapi module', () => {
69
69
  cf2 = {...fledgeAuctionConfig, id: 2, seller: 'b2'};
70
70
  addComponentAuctionHook(nextFnSpy, {auctionId, adUnitCode: 'au1'}, cf1);
71
71
  addComponentAuctionHook(nextFnSpy, {auctionId, adUnitCode: 'au2'}, cf2);
72
- events.emit(CONSTANTS.EVENTS.AUCTION_END, {auctionId, adUnitCodes: ['au1', 'au2', 'au3']});
72
+ events.emit(EVENTS.AUCTION_END, { auctionId, adUnitCodes: ['au1', 'au2', 'au3'] });
73
73
  });
74
74
 
75
75
  it('and make them available at end of auction', () => {
@@ -123,12 +123,36 @@ describe('paapi module', () => {
123
123
  });
124
124
 
125
125
  it('should drop auction configs after end of auction', () => {
126
- events.emit(CONSTANTS.EVENTS.AUCTION_END, {auctionId});
126
+ events.emit(EVENTS.AUCTION_END, { auctionId });
127
127
  addComponentAuctionHook(nextFnSpy, {auctionId, adUnitCode: 'au'}, fledgeAuctionConfig);
128
- events.emit(CONSTANTS.EVENTS.AUCTION_END, {auctionId});
128
+ events.emit(EVENTS.AUCTION_END, { auctionId });
129
129
  expect(getPAAPIConfig({auctionId})).to.eql({});
130
130
  });
131
131
 
132
+ it('should use first size as requestedSize', () => {
133
+ addComponentAuctionHook(nextFnSpy, {
134
+ auctionId,
135
+ adUnitCode: 'au1',
136
+ }, fledgeAuctionConfig);
137
+ events.emit(EVENTS.AUCTION_END, {
138
+ auctionId,
139
+ adUnits: [
140
+ {
141
+ code: 'au1',
142
+ mediaTypes: {
143
+ banner: {
144
+ sizes: [[200, 100], [300, 200]]
145
+ }
146
+ }
147
+ }
148
+ ]
149
+ });
150
+ expect(getPAAPIConfig({auctionId}).au1.requestedSize).to.eql({
151
+ width: '200',
152
+ height: '100'
153
+ })
154
+ })
155
+
132
156
  it('should augment auctionSignals with FPD', () => {
133
157
  addComponentAuctionHook(nextFnSpy, {
134
158
  auctionId,
@@ -136,7 +160,7 @@ describe('paapi module', () => {
136
160
  ortb2: {fpd: 1},
137
161
  ortb2Imp: {fpd: 2}
138
162
  }, fledgeAuctionConfig);
139
- events.emit(CONSTANTS.EVENTS.AUCTION_END, {auctionId});
163
+ events.emit(EVENTS.AUCTION_END, { auctionId });
140
164
  sinon.assert.match(getPAAPIConfig({auctionId}), {
141
165
  au1: {
142
166
  componentAuctions: [{
@@ -165,13 +189,13 @@ describe('paapi module', () => {
165
189
  describe('onAuctionConfig', () => {
166
190
  const auctionId = 'aid';
167
191
  it('is invoked with null configs when there\'s no config', () => {
168
- events.emit(CONSTANTS.EVENTS.AUCTION_END, {auctionId, adUnitCodes: ['au']});
192
+ events.emit(EVENTS.AUCTION_END, { auctionId, adUnitCodes: ['au'] });
169
193
  submods.forEach(submod => sinon.assert.calledWith(submod.onAuctionConfig, auctionId, {au: null}));
170
194
  });
171
195
  it('is invoked with relevant configs', () => {
172
196
  addComponentAuctionHook(nextFnSpy, {auctionId, adUnitCode: 'au1'}, fledgeAuctionConfig);
173
197
  addComponentAuctionHook(nextFnSpy, {auctionId, adUnitCode: 'au2'}, fledgeAuctionConfig);
174
- events.emit(CONSTANTS.EVENTS.AUCTION_END, {auctionId, adUnitCodes: ['au1', 'au2', 'au3']});
198
+ events.emit(EVENTS.AUCTION_END, { auctionId, adUnitCodes: ['au1', 'au2', 'au3'] });
175
199
  submods.forEach(submod => {
176
200
  sinon.assert.calledWith(submod.onAuctionConfig, auctionId, {
177
201
  au1: {componentAuctions: [fledgeAuctionConfig]},
@@ -185,12 +209,12 @@ describe('paapi module', () => {
185
209
  markAsUsed('au1');
186
210
  });
187
211
  addComponentAuctionHook(nextFnSpy, {auctionId, adUnitCode: 'au1'}, fledgeAuctionConfig);
188
- events.emit(CONSTANTS.EVENTS.AUCTION_END, {auctionId, adUnitCodes: ['au1']});
212
+ events.emit(EVENTS.AUCTION_END, { auctionId, adUnitCodes: ['au1'] });
189
213
  expect(getPAAPIConfig()).to.eql({});
190
214
  });
191
215
  it('keeps them available if they do not', () => {
192
216
  addComponentAuctionHook(nextFnSpy, {auctionId, adUnitCode: 'au1'}, fledgeAuctionConfig);
193
- events.emit(CONSTANTS.EVENTS.AUCTION_END, {auctionId, adUnitCodes: ['au1']});
217
+ events.emit(EVENTS.AUCTION_END, { auctionId, adUnitCodes: ['au1'] });
194
218
  expect(getPAAPIConfig()).to.not.be.empty;
195
219
  })
196
220
  });
@@ -294,10 +318,12 @@ describe('paapi module', () => {
294
318
 
295
319
  it('should populate bidfloor/bidfloorcur', () => {
296
320
  addComponentAuctionHook(nextFnSpy, {auctionId, adUnitCode: 'au'}, fledgeAuctionConfig);
297
- events.emit(CONSTANTS.EVENTS.AUCTION_END, payload);
298
- const signals = getPAAPIConfig({auctionId}).au.componentAuctions[0].auctionSignals;
299
- expect(signals.prebid?.bidfloor).to.eql(bidfloor);
300
- expect(signals.prebid?.bidfloorcur).to.eql(bidfloorcur);
321
+ events.emit(EVENTS.AUCTION_END, payload);
322
+ const cfg = getPAAPIConfig({auctionId}).au;
323
+ const signals = cfg.auctionSignals;
324
+ sinon.assert.match(cfg.componentAuctions[0].auctionSignals, signals || {});
325
+ expect(signals?.prebid?.bidfloor).to.eql(bidfloor);
326
+ expect(signals?.prebid?.bidfloorcur).to.eql(bidfloorcur);
301
327
  });
302
328
  });
303
329
  });
@@ -339,7 +365,7 @@ describe('paapi module', () => {
339
365
  configs[auctionId][adUnitCode] = cfg;
340
366
  addComponentAuctionHook(nextFnSpy, {auctionId, adUnitCode}, cfg);
341
367
  });
342
- events.emit(CONSTANTS.EVENTS.AUCTION_END, {auctionId, adUnitCodes: adUnitCodes.concat(noConfigAdUnitCodes)});
368
+ events.emit(EVENTS.AUCTION_END, { auctionId, adUnitCodes: adUnitCodes.concat(noConfigAdUnitCodes) });
343
369
  });
344
370
  });
345
371
 
@@ -212,6 +212,28 @@ describe('permutiveRtdProvider', function () {
212
212
  return { id: seg }
213
213
  }),
214
214
  },
215
+ {
216
+ name: 'permutive.com',
217
+ ext: {
218
+ segtax: 600
219
+ },
220
+ segment: [
221
+ { id: '1' },
222
+ { id: '2' },
223
+ { id: '3' },
224
+ ],
225
+ },
226
+ {
227
+ name: 'permutive.com',
228
+ ext: {
229
+ segtax: 601
230
+ },
231
+ segment: [
232
+ { id: '100' },
233
+ { id: '101' },
234
+ { id: '102' },
235
+ ],
236
+ },
215
237
  ])
216
238
  })
217
239
  })
@@ -553,6 +575,10 @@ describe('permutiveRtdProvider', function () {
553
575
  for (const key in segments) {
554
576
  if (key === 'ssp') {
555
577
  expect(segments[key].cohorts).to.have.length(max)
578
+ } else if (key === 'topics') {
579
+ for (const topic in segments[key]) {
580
+ expect(segments[key][topic]).to.have.length(max)
581
+ }
556
582
  } else {
557
583
  expect(segments[key]).to.have.length(max)
558
584
  }
@@ -684,6 +710,7 @@ function transformedTargeting (data = getTargetingData()) {
684
710
  rubicon: data._prubicons,
685
711
  gam: data._pdfps,
686
712
  ssp: data._pssps,
713
+ topics: data._ppsts,
687
714
  }
688
715
  }
689
716
 
@@ -696,7 +723,8 @@ function getTargetingData () {
696
723
  _ppam: ['ppam1', 'ppam2'],
697
724
  _pindexs: ['pindex1', 'pindex2'],
698
725
  _pcrprs: ['pcrprs1', 'pcrprs2', 'dup'],
699
- _pssps: { ssps: ['xyz', 'abc', 'dup'], cohorts: ['123', 'abc'] }
726
+ _pssps: { ssps: ['xyz', 'abc', 'dup'], cohorts: ['123', 'abc'] },
727
+ _ppsts: { '600': [1, 2, 3], '601': [100, 101, 102] },
700
728
  }
701
729
  }
702
730
 
@@ -73,7 +73,9 @@ describe('PGAMBidAdapter', function () {
73
73
 
74
74
  const bidderRequest = {
75
75
  uspConsent: '1---',
76
- gdprConsent: 'COvFyGBOvFyGBAbAAAENAPCAAOAAAAAAAAAAAEEUACCKAAA.IFoEUQQgAIQwgIwQABAEAAAAOIAACAIAAAAQAIAgEAACEAAAAAgAQBAAAAAAAGBAAgAAAAAAAFAAECAAAgAAQARAEQAAAAAJAAIAAgAAAYQEAAAQmAgBC3ZAYzUw',
76
+ gdprConsent: {
77
+ consentString: 'COvFyGBOvFyGBAbAAAENAPCAAOAAAAAAAAAAAEEUACCKAAA.IFoEUQQgAIQwgIwQABAEAAAAOIAACAIAAAAQAIAgEAACEAAAAAgAQBAAAAAAAGBAAgAAAAAAAFAAECAAAgAAQARAEQAAAAAJAAIAAgAAAYQEAAAQmAgBC3ZAYzUw'
78
+ },
77
79
  refererInfo: {
78
80
  referer: 'https://test.com'
79
81
  },
@@ -129,7 +131,7 @@ describe('PGAMBidAdapter', function () {
129
131
  expect(data.host).to.be.a('string');
130
132
  expect(data.page).to.be.a('string');
131
133
  expect(data.coppa).to.be.a('number');
132
- expect(data.gdpr).to.be.a('string');
134
+ expect(data.gdpr).to.be.a('object');
133
135
  expect(data.ccpa).to.be.a('string');
134
136
  expect(data.tmax).to.be.a('number');
135
137
  expect(data.placements).to.have.lengthOf(3);
@@ -171,8 +173,8 @@ describe('PGAMBidAdapter', function () {
171
173
  serverRequest = spec.buildRequests(bids, bidderRequest);
172
174
  let data = serverRequest.data;
173
175
  expect(data.gdpr).to.exist;
174
- expect(data.gdpr).to.be.a('string');
175
- expect(data.gdpr).to.equal(bidderRequest.gdprConsent);
176
+ expect(data.gdpr).to.be.a('object');
177
+ expect(data.gdpr.consentString).to.equal(bidderRequest.gdprConsent.consentString);
176
178
  expect(data.ccpa).to.not.exist;
177
179
  delete bidderRequest.gdprConsent;
178
180
  });
@@ -195,6 +197,38 @@ describe('PGAMBidAdapter', function () {
195
197
  });
196
198
  });
197
199
 
200
+ describe('gpp consent', function () {
201
+ it('bidderRequest.gppConsent', () => {
202
+ bidderRequest.gppConsent = {
203
+ gppString: 'abc123',
204
+ applicableSections: [8]
205
+ };
206
+
207
+ let serverRequest = spec.buildRequests(bids, bidderRequest);
208
+ let data = serverRequest.data;
209
+ expect(data).to.be.an('object');
210
+ expect(data).to.have.property('gpp');
211
+ expect(data).to.have.property('gpp_sid');
212
+
213
+ delete bidderRequest.gppConsent;
214
+ })
215
+
216
+ it('bidderRequest.ortb2.regs.gpp', () => {
217
+ bidderRequest.ortb2 = bidderRequest.ortb2 || {};
218
+ bidderRequest.ortb2.regs = bidderRequest.ortb2.regs || {};
219
+ bidderRequest.ortb2.regs.gpp = 'abc123';
220
+ bidderRequest.ortb2.regs.gpp_sid = [8];
221
+
222
+ let serverRequest = spec.buildRequests(bids, bidderRequest);
223
+ let data = serverRequest.data;
224
+ expect(data).to.be.an('object');
225
+ expect(data).to.have.property('gpp');
226
+ expect(data).to.have.property('gpp_sid');
227
+
228
+ bidderRequest.ortb2;
229
+ })
230
+ });
231
+
198
232
  describe('interpretResponse', function () {
199
233
  it('Should interpret banner response', function () {
200
234
  const banner = {
@@ -396,5 +430,17 @@ describe('PGAMBidAdapter', function () {
396
430
  expect(syncData[0].url).to.be.a('string')
397
431
  expect(syncData[0].url).to.equal('https://cs.pgammedia.com/image?pbjs=1&ccpa_consent=1---&coppa=0')
398
432
  });
433
+ it('Should return array of objects with proper sync config , include GPP', function() {
434
+ const syncData = spec.getUserSyncs({}, {}, {}, {}, {
435
+ gppString: 'abc123',
436
+ applicableSections: [8]
437
+ });
438
+ expect(syncData).to.be.an('array').which.is.not.empty;
439
+ expect(syncData[0]).to.be.an('object')
440
+ expect(syncData[0].type).to.be.a('string')
441
+ expect(syncData[0].type).to.equal('image')
442
+ expect(syncData[0].url).to.be.a('string')
443
+ expect(syncData[0].url).to.equal('https://cs.pgammedia.com/image?pbjs=1&gpp=abc123&gpp_sid=8&coppa=0')
444
+ });
399
445
  });
400
446
  });
@@ -1,7 +1,7 @@
1
1
  import pianoDmpAnalytics from 'modules/pianoDmpAnalyticsAdapter.js';
2
2
  import adapterManager from 'src/adapterManager';
3
3
  import * as events from 'src/events';
4
- import constants from 'src/constants.json';
4
+ import { EVENTS } from 'src/constants.js';
5
5
  import { expect } from 'chai';
6
6
 
7
7
  describe('Piano DMP Analytics Adapter', () => {
@@ -31,14 +31,14 @@ describe('Piano DMP Analytics Adapter', () => {
31
31
 
32
32
  it('should pass events to call queue', () => {
33
33
  const eventsList = [
34
- constants.EVENTS.AUCTION_INIT,
35
- constants.EVENTS.AUCTION_END,
36
- constants.EVENTS.BID_ADJUSTMENT,
37
- constants.EVENTS.BID_TIMEOUT,
38
- constants.EVENTS.BID_REQUESTED,
39
- constants.EVENTS.BID_RESPONSE,
40
- constants.EVENTS.NO_BID,
41
- constants.EVENTS.BID_WON,
34
+ EVENTS.AUCTION_INIT,
35
+ EVENTS.AUCTION_END,
36
+ EVENTS.BID_ADJUSTMENT,
37
+ EVENTS.BID_TIMEOUT,
38
+ EVENTS.BID_REQUESTED,
39
+ EVENTS.BID_RESPONSE,
40
+ EVENTS.NO_BID,
41
+ EVENTS.BID_WON,
42
42
  ];
43
43
 
44
44
  // Given
@@ -0,0 +1,77 @@
1
+ import { pirIdSubmodule, storage, readId } from 'modules/pirIdSystem.js';
2
+ import sinon from 'sinon';
3
+
4
+ describe('pirIdSystem', () => {
5
+ let sandbox;
6
+ let getCookieStub;
7
+ let getDataFromLocalStorageStub;
8
+
9
+ beforeEach(() => {
10
+ sandbox = sinon.createSandbox();
11
+ getCookieStub = sandbox.stub(storage, 'getCookie');
12
+ getDataFromLocalStorageStub = sandbox.stub(storage, 'getDataFromLocalStorage');
13
+ });
14
+
15
+ afterEach(() => {
16
+ sandbox.restore();
17
+ });
18
+
19
+ describe('getId', () => {
20
+ it('should return an object with id when pirIdToken is found', () => {
21
+ getDataFromLocalStorageStub.returns('testToken');
22
+ getCookieStub.returns('testToken');
23
+
24
+ const result = pirIdSubmodule.getId();
25
+
26
+ expect(result).to.deep.equal({ id: 'testToken' });
27
+ });
28
+
29
+ it('should return undefined when pirIdToken is not found', () => {
30
+ const result = pirIdSubmodule.getId();
31
+
32
+ expect(result).to.be.undefined;
33
+ });
34
+ });
35
+
36
+ describe('decode', () => {
37
+ it('should return an object with pirId when value is a string', () => {
38
+ const result = pirIdSubmodule.decode('testId');
39
+
40
+ expect(result).to.deep.equal({ pirId: 'testId' });
41
+ });
42
+
43
+ it('should return undefined when value is not a string', () => {
44
+ const result = pirIdSubmodule.decode({});
45
+
46
+ expect(result).to.be.undefined;
47
+ });
48
+ });
49
+
50
+ describe('readId', () => {
51
+ it('should return data from local storage when it exists', () => {
52
+ getDataFromLocalStorageStub.returns('local_storage_data');
53
+
54
+ const result = readId();
55
+
56
+ expect(result).to.equal('local_storage_data');
57
+ });
58
+
59
+ it('should return data from cookie when local storage data does not exist', () => {
60
+ getDataFromLocalStorageStub.returns(null);
61
+ getCookieStub.returns('cookie_data');
62
+
63
+ const result = readId();
64
+
65
+ expect(result).to.equal('cookie_data');
66
+ });
67
+
68
+ it('should return null when neither local storage data nor cookie data exists', () => {
69
+ getDataFromLocalStorageStub.returns(null);
70
+ getCookieStub.returns(null);
71
+
72
+ const result = readId();
73
+
74
+ expect(result).to.be.null;
75
+ });
76
+ });
77
+ });
@@ -12,7 +12,7 @@ import {deepAccess, deepClone, mergeDeep} from 'src/utils.js';
12
12
  import {ajax} from 'src/ajax.js';
13
13
  import {config} from 'src/config.js';
14
14
  import * as events from 'src/events.js';
15
- import CONSTANTS from 'src/constants.json';
15
+ import { EVENTS } from 'src/constants.js';
16
16
  import {server} from 'test/mocks/xhr.js';
17
17
  import 'modules/appnexusBidAdapter.js'; // appnexus alias test
18
18
  import 'modules/rubiconBidAdapter.js'; // rubicon alias test
@@ -2879,7 +2879,7 @@ describe('S2S Adapter', function () {
2879
2879
  adapter.callBids(REQUEST, BID_REQUESTS, addBidResponse, done, ajax);
2880
2880
  server.requests[0].respond(400, {}, {});
2881
2881
  BID_REQUESTS.forEach(bidderRequest => {
2882
- sinon.assert.calledWith(events.emit, CONSTANTS.EVENTS.BIDDER_ERROR, sinon.match({bidderRequest}))
2882
+ sinon.assert.calledWith(events.emit, EVENTS.BIDDER_ERROR, sinon.match({ bidderRequest }))
2883
2883
  })
2884
2884
  })
2885
2885
 
@@ -3062,7 +3062,7 @@ describe('S2S Adapter', function () {
3062
3062
 
3063
3063
  sinon.assert.calledOnce(events.emit);
3064
3064
  const event = events.emit.firstCall.args;
3065
- expect(event[0]).to.equal(CONSTANTS.EVENTS.BIDDER_DONE);
3065
+ expect(event[0]).to.equal(EVENTS.BIDDER_DONE);
3066
3066
  expect(event[1].bids[0]).to.have.property('serverResponseTimeMs', 8);
3067
3067
 
3068
3068
  sinon.assert.calledOnce(addBidResponse);
@@ -3093,7 +3093,7 @@ describe('S2S Adapter', function () {
3093
3093
  Object.assign(responding.ext.seatnonbid, [{auctionId: 2}])
3094
3094
  server.requests[0].respond(200, {}, JSON.stringify(responding));
3095
3095
  const event = events.emit.secondCall.args;
3096
- expect(event[0]).to.equal(CONSTANTS.EVENTS.SEAT_NON_BID);
3096
+ expect(event[0]).to.equal(EVENTS.SEAT_NON_BID);
3097
3097
  expect(event[1].seatnonbid[0]).to.have.property('auctionId', 2);
3098
3098
  expect(event[1].requestedBidders).to.deep.equal(['appnexus']);
3099
3099
  expect(event[1].response).to.deep.equal(responding);
@@ -3584,7 +3584,7 @@ describe('S2S Adapter', function () {
3584
3584
  adapter.callBids(REQUEST, BID_REQUESTS, addBidResponse, done, ajax);
3585
3585
  server.requests[0].respond(200, {}, JSON.stringify(clonedResponse));
3586
3586
 
3587
- events.emit(CONSTANTS.EVENTS.BID_WON, {
3587
+ events.emit(EVENTS.BID_WON, {
3588
3588
  auctionId: '173afb6d132ba3',
3589
3589
  adId: '1000'
3590
3590
  });
@@ -3603,7 +3603,7 @@ describe('S2S Adapter', function () {
3603
3603
  adapter.callBids(REQUEST, BID_REQUESTS, addBidResponse, done, ajax);
3604
3604
  server.requests[0].respond(200, {}, JSON.stringify(clonedResponse));
3605
3605
 
3606
- events.emit(CONSTANTS.EVENTS.BID_WON, {
3606
+ events.emit(EVENTS.BID_WON, {
3607
3607
  auctionId: '173afb6d132ba3',
3608
3608
  adId: 'missingAdId'
3609
3609
  });
@@ -3619,7 +3619,7 @@ describe('S2S Adapter', function () {
3619
3619
  adapter.callBids(REQUEST, BID_REQUESTS, addBidResponse, done, ajax);
3620
3620
  server.requests[0].respond(200, {}, JSON.stringify(clonedResponse));
3621
3621
 
3622
- events.emit(CONSTANTS.EVENTS.BID_WON, {
3622
+ events.emit(EVENTS.BID_WON, {
3623
3623
  auctionId: '173afb6d132ba3',
3624
3624
  adId: '1060'
3625
3625
  });
@@ -3,9 +3,9 @@ import {expect} from 'chai';
3
3
  import {server} from 'test/mocks/xhr.js';
4
4
  import * as utils from 'src/utils.js';
5
5
  import {expectEvents} from '../../helpers/analytics.js';
6
+ import { EVENTS } from 'src/constants.js';
6
7
 
7
8
  let events = require('src/events');
8
- let constants = require('src/constants.json');
9
9
 
10
10
  describe('Prebid Manager Analytics Adapter', function () {
11
11
  let bidWonEvent = {
@@ -66,7 +66,7 @@ describe('Prebid Manager Analytics Adapter', function () {
66
66
  }
67
67
  });
68
68
 
69
- events.emit(constants.EVENTS.BID_WON, bidWonEvent);
69
+ events.emit(EVENTS.BID_WON, bidWonEvent);
70
70
  prebidmanagerAnalytics.flush();
71
71
 
72
72
  expect(server.requests.length).to.equal(1);
@@ -1,8 +1,9 @@
1
1
  import {expect} from 'chai';
2
2
  import * as utils from 'src/utils.js';
3
3
  import { getGlobal } from 'src/prebidGlobal.js';
4
- import CONSTANTS from 'src/constants.json';
4
+ import { EVENTS, STATUS } from 'src/constants.js';
5
5
  import {
6
+ FLOOR_SKIPPED_REASON,
6
7
  _floorDataForAuction,
7
8
  getFloorsDataForAuction,
8
9
  getFirstMatchingFloor,
@@ -737,7 +738,7 @@ describe('the price floors module', function () {
737
738
  handleSetFloorsConfig(floorConfig);
738
739
 
739
740
  const floorData = createFloorsDataForAuction(adUnits, 'id');
740
- expect(floorData.skippedReason).to.equal(CONSTANTS.FLOOR_SKIPPED_REASON.NOT_FOUND);
741
+ expect(floorData.skippedReason).to.equal(FLOOR_SKIPPED_REASON.NOT_FOUND);
741
742
  });
742
743
 
743
744
  it('should have skippedReason set to "random" if there is floor data and skipped is true', function() {
@@ -746,7 +747,7 @@ describe('the price floors module', function () {
746
747
  handleSetFloorsConfig(floorConfig);
747
748
 
748
749
  const floorData = createFloorsDataForAuction(adUnits, 'id');
749
- expect(floorData.skippedReason).to.equal(CONSTANTS.FLOOR_SKIPPED_REASON.RANDOM);
750
+ expect(floorData.skippedReason).to.equal(FLOOR_SKIPPED_REASON.RANDOM);
750
751
  });
751
752
  });
752
753
 
@@ -2218,7 +2219,7 @@ describe('the price floors module', function () {
2218
2219
  let next = (adUnitCode, bid) => {
2219
2220
  returnedBidResponse = bid;
2220
2221
  };
2221
- addBidResponseHook(next, bidResp.adUnitCode, Object.assign(createBid(CONSTANTS.STATUS.GOOD, {auctionId: AUCTION_ID}), bidResp), reject);
2222
+ addBidResponseHook(next, bidResp.adUnitCode, Object.assign(createBid(STATUS.GOOD, { auctionId: AUCTION_ID }), bidResp), reject);
2222
2223
  };
2223
2224
  it('continues with the auction if not floors data is present without any flooring', function () {
2224
2225
  runBidResponse();
@@ -2345,7 +2346,7 @@ describe('the price floors module', function () {
2345
2346
  it('should wait 3 seconds before deleting auction floor data', function () {
2346
2347
  handleSetFloorsConfig({enabled: true});
2347
2348
  _floorDataForAuction[AUCTION_END_EVENT.auctionId] = utils.deepClone(basicFloorConfig);
2348
- events.emit(CONSTANTS.EVENTS.AUCTION_END, AUCTION_END_EVENT);
2349
+ events.emit(EVENTS.AUCTION_END, AUCTION_END_EVENT);
2349
2350
  // should still be here
2350
2351
  expect(_floorDataForAuction[AUCTION_END_EVENT.auctionId]).to.not.be.undefined;
2351
2352
  // tick for 4 seconds
@@ -1,6 +1,6 @@
1
1
  import pubmaticAnalyticsAdapter, { getMetadata } from 'modules/pubmaticAnalyticsAdapter.js';
2
2
  import adapterManager from 'src/adapterManager.js';
3
- import CONSTANTS from 'src/constants.json';
3
+ import { EVENTS, REJECTION_REASON } from 'src/constants.js';
4
4
  import { config } from 'src/config.js';
5
5
  import { setConfig } from 'modules/currency.js';
6
6
  import { server } from '../../mocks/xhr.js';
@@ -18,18 +18,16 @@ const setUAMobile = () => { window.navigator.__defineGetter__('userAgent', funct
18
18
  const setUANull = () => { window.navigator.__defineGetter__('userAgent', function () { return null }) };
19
19
 
20
20
  const {
21
- EVENTS: {
22
- AUCTION_INIT,
23
- AUCTION_END,
24
- BID_REQUESTED,
25
- BID_RESPONSE,
26
- BID_REJECTED,
27
- BIDDER_DONE,
28
- BID_WON,
29
- BID_TIMEOUT,
30
- SET_TARGETING
31
- }
32
- } = CONSTANTS;
21
+ AUCTION_INIT,
22
+ AUCTION_END,
23
+ BID_REQUESTED,
24
+ BID_RESPONSE,
25
+ BID_REJECTED,
26
+ BIDDER_DONE,
27
+ BID_WON,
28
+ BID_TIMEOUT,
29
+ SET_TARGETING
30
+ } = EVENTS;
33
31
 
34
32
  const BID = {
35
33
  'bidder': 'pubmatic',
@@ -110,7 +108,7 @@ const BID2 = Object.assign({}, BID, {
110
108
  });
111
109
 
112
110
  const BID3 = Object.assign({}, BID2, {
113
- rejectionReason: CONSTANTS.REJECTION_REASON.FLOOR_NOT_MET
111
+ rejectionReason: REJECTION_REASON.FLOOR_NOT_MET
114
112
  })
115
113
  const MOCK = {
116
114
  SET_TARGETING: {
@@ -4,7 +4,7 @@ import * as utils from 'src/utils.js';
4
4
  import { config } from 'src/config.js';
5
5
  import { createEidsArray } from 'modules/userId/eids.js';
6
6
  import { bidderSettings } from 'src/bidderSettings.js';
7
- const constants = require('src/constants.json');
7
+ const constants = require('src/constants.js');
8
8
 
9
9
  describe('PubMatic adapter', function () {
10
10
  let bidRequests;
@@ -2,7 +2,6 @@ import * as utils from 'src/utils.js';
2
2
  import pubstackAnalytics from '../../../modules/pubstackAnalyticsAdapter.js';
3
3
  import adapterManager from 'src/adapterManager';
4
4
  import * as events from 'src/events';
5
- import constants from 'src/constants.json'
6
5
  import {expectEvents} from '../../helpers/analytics.js';
7
6
 
8
7
  describe('Pubstack Analytics Adapter', () => {
@@ -2,10 +2,10 @@ import {expect} from 'chai';
2
2
  import pubwiseAnalytics from 'modules/pubwiseAnalyticsAdapter.js';
3
3
  import {expectEvents} from '../../helpers/analytics.js';
4
4
  import {server} from '../../mocks/xhr.js';
5
+ import { EVENTS } from 'src/constants.js';
5
6
 
6
7
  let events = require('src/events');
7
8
  let adapterManager = require('src/adapterManager').default;
8
- let constants = require('src/constants.json');
9
9
 
10
10
  describe('PubWise Prebid Analytics', function () {
11
11
  let requests;
@@ -54,14 +54,14 @@ describe('PubWise Prebid Analytics', function () {
54
54
  sandbox.spy(pubwiseAnalytics, 'track');
55
55
 
56
56
  expectEvents([
57
- constants.EVENTS.AUCTION_INIT,
58
- constants.EVENTS.BID_REQUESTED,
59
- constants.EVENTS.BID_RESPONSE,
60
- constants.EVENTS.BID_WON,
61
- constants.EVENTS.AD_RENDER_FAILED,
62
- constants.EVENTS.TCF2_ENFORCEMENT,
63
- constants.EVENTS.BID_TIMEOUT,
64
- constants.EVENTS.AUCTION_END,
57
+ EVENTS.AUCTION_INIT,
58
+ EVENTS.BID_REQUESTED,
59
+ EVENTS.BID_RESPONSE,
60
+ EVENTS.BID_WON,
61
+ EVENTS.AD_RENDER_FAILED,
62
+ EVENTS.TCF2_ENFORCEMENT,
63
+ EVENTS.BID_TIMEOUT,
64
+ EVENTS.AUCTION_END,
65
65
  ]).to.beTrackedBy(pubwiseAnalytics.track);
66
66
  });
67
67
 
@@ -69,10 +69,10 @@ describe('PubWise Prebid Analytics', function () {
69
69
  pubwiseAnalytics.enableAnalytics(mock.DEFAULT_PW_CONFIG);
70
70
 
71
71
  // sent
72
- events.emit(constants.EVENTS.AUCTION_INIT, mock.AUCTION_INIT);
73
- events.emit(constants.EVENTS.BID_REQUESTED, {});
74
- events.emit(constants.EVENTS.BID_RESPONSE, {});
75
- events.emit(constants.EVENTS.BID_WON, {});
72
+ events.emit(EVENTS.AUCTION_INIT, mock.AUCTION_INIT);
73
+ events.emit(EVENTS.BID_REQUESTED, {});
74
+ events.emit(EVENTS.BID_RESPONSE, {});
75
+ events.emit(EVENTS.BID_WON, {});
76
76
  // force flush
77
77
  clock.tick(500);
78
78
 
@@ -120,7 +120,7 @@ describe('PubWise Prebid Analytics', function () {
120
120
  pubwiseAnalytics.enableAnalytics(mock.DEFAULT_PW_CONFIG);
121
121
 
122
122
  // sent
123
- events.emit(constants.EVENTS.AUCTION_INIT, mock.AUCTION_INIT_EXTRAS);
123
+ events.emit(EVENTS.AUCTION_INIT, mock.AUCTION_INIT_EXTRAS);
124
124
  // force flush
125
125
  clock.tick(500);
126
126