prebid.js 10.3.0 → 10.4.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 (1210) hide show
  1. package/.github/dependabot.yml +8 -0
  2. package/dist/chunks/33acrossAnalyticsAdapter.js +1 -1
  3. package/dist/chunks/33acrossBidAdapter.js +1 -1
  4. package/dist/chunks/33acrossBidAdapter.metadata.js +1 -1
  5. package/dist/chunks/33acrossIdSystem.js +1 -1
  6. package/dist/chunks/33acrossIdSystem.metadata.js +1 -1
  7. package/dist/chunks/acuityadsBidAdapter.metadata.js +1 -1
  8. package/dist/chunks/adagioAnalyticsAdapter.js +1 -1
  9. package/dist/chunks/adagioBidAdapter.js +1 -1
  10. package/dist/chunks/adagioBidAdapter.metadata.js +1 -1
  11. package/dist/chunks/adagioRtdProvider.metadata.js +1 -1
  12. package/dist/chunks/adagioUtils.js +1 -1
  13. package/dist/chunks/addefendBidAdapter.js +1 -1
  14. package/dist/chunks/addefendBidAdapter.metadata.js +1 -1
  15. package/dist/chunks/adfBidAdapter.metadata.js +1 -1
  16. package/dist/chunks/adfusionBidAdapter.metadata.js +1 -1
  17. package/dist/chunks/adgenerationBidAdapter.js +1 -1
  18. package/dist/chunks/adheseBidAdapter.metadata.js +1 -1
  19. package/dist/chunks/adkernelAdnBidAdapter.metadata.js +1 -1
  20. package/dist/chunks/adkernelBidAdapter.metadata.js +1 -1
  21. package/dist/chunks/adlooxRtdProvider.js +1 -1
  22. package/dist/chunks/admaticBidAdapter.metadata.js +1 -1
  23. package/dist/chunks/admixerBidAdapter.metadata.js +1 -1
  24. package/dist/chunks/admixerIdSystem.metadata.js +1 -1
  25. package/dist/chunks/adnowBidAdapter.metadata.js +1 -1
  26. package/dist/chunks/adnuntiusBidAdapter.metadata.js +1 -1
  27. package/dist/chunks/adnuntiusRtdProvider.metadata.js +1 -1
  28. package/dist/chunks/adotBidAdapter.metadata.js +1 -1
  29. package/dist/chunks/adponeBidAdapter.metadata.js +1 -1
  30. package/dist/chunks/adqueryBidAdapter.js +1 -1
  31. package/dist/chunks/adqueryBidAdapter.metadata.js +1 -1
  32. package/dist/chunks/adqueryIdSystem.metadata.js +1 -1
  33. package/dist/chunks/adrelevantisBidAdapter.js +1 -1
  34. package/dist/chunks/adrinoBidAdapter.metadata.js +1 -1
  35. package/dist/chunks/ads_interactiveBidAdapter.metadata.js +1 -1
  36. package/dist/chunks/adstirBidAdapter.js +1 -1
  37. package/dist/chunks/adtargetBidAdapter.metadata.js +1 -1
  38. package/dist/chunks/adtelligentBidAdapter.metadata.js +1 -1
  39. package/dist/chunks/adtelligentIdSystem.metadata.js +1 -1
  40. package/dist/chunks/adtrgtmeBidAdapter.js +1 -1
  41. package/dist/chunks/aduptechBidAdapter.metadata.js +1 -1
  42. package/dist/chunks/advertisingBidAdapter.js +1 -1
  43. package/dist/chunks/adxcgAnalyticsAdapter.js +1 -1
  44. package/dist/chunks/adxcgBidAdapter.js +1 -1
  45. package/dist/chunks/adyoulikeBidAdapter.js +1 -1
  46. package/dist/chunks/adyoulikeBidAdapter.metadata.js +1 -1
  47. package/dist/chunks/agmaAnalyticsAdapter.js +1 -1
  48. package/dist/chunks/aidemBidAdapter.metadata.js +1 -1
  49. package/dist/chunks/airgridRtdProvider.metadata.js +1 -1
  50. package/dist/chunks/ajaBidAdapter.js +1 -1
  51. package/dist/chunks/alkimiBidAdapter.metadata.js +1 -1
  52. package/dist/chunks/ampliffyBidAdapter.metadata.js +1 -1
  53. package/dist/chunks/amxBidAdapter.js +1 -1
  54. package/dist/chunks/amxBidAdapter.metadata.js +1 -1
  55. package/dist/chunks/amxIdSystem.js +1 -1
  56. package/dist/chunks/amxIdSystem.metadata.js +1 -1
  57. package/dist/chunks/aniviewBidAdapter.js +1 -1
  58. package/dist/chunks/aniviewBidAdapter.metadata.js +1 -1
  59. package/dist/chunks/anonymisedRtdProvider.metadata.js +1 -1
  60. package/dist/chunks/appierAnalyticsAdapter.js +1 -1
  61. package/dist/chunks/appierBidAdapter.metadata.js +1 -1
  62. package/dist/chunks/appnexusBidAdapter.js +1 -1
  63. package/dist/chunks/appnexusBidAdapter.metadata.js +1 -1
  64. package/dist/chunks/appushBidAdapter.metadata.js +1 -1
  65. package/dist/chunks/apstreamBidAdapter.metadata.js +1 -1
  66. package/dist/chunks/asoBidAdapter.js +1 -1
  67. package/dist/chunks/audiencerunBidAdapter.metadata.js +1 -1
  68. package/dist/chunks/axisBidAdapter.metadata.js +1 -1
  69. package/dist/chunks/axonixBidAdapter.js +1 -1
  70. package/dist/chunks/azerionedgeRtdProvider.metadata.js +1 -1
  71. package/dist/chunks/beopBidAdapter.js +1 -1
  72. package/dist/chunks/beopBidAdapter.metadata.js +1 -1
  73. package/dist/chunks/betweenBidAdapter.metadata.js +1 -1
  74. package/dist/chunks/bidglassBidAdapter.js +1 -1
  75. package/dist/chunks/bidmaticBidAdapter.metadata.js +1 -1
  76. package/dist/chunks/bidtheatreBidAdapter.metadata.js +1 -1
  77. package/dist/chunks/big-richmediaBidAdapter.js +1 -1
  78. package/dist/chunks/bitmediaBidAdapter.js +1 -1
  79. package/dist/chunks/bliinkBidAdapter.metadata.js +1 -1
  80. package/dist/chunks/blockthroughBidAdapter.js +1 -1
  81. package/dist/chunks/blockthroughBidAdapter.metadata.js +1 -1
  82. package/dist/chunks/blueBidAdapter.metadata.js +1 -1
  83. package/dist/chunks/bmsBidAdapter.metadata.js +1 -1
  84. package/dist/chunks/bmtmBidAdapter.js +1 -1
  85. package/dist/chunks/boldwinBidAdapter.metadata.js +1 -1
  86. package/dist/chunks/bridBidAdapter.js +1 -1
  87. package/dist/chunks/bridBidAdapter.metadata.js +1 -1
  88. package/dist/chunks/bridgewellBidAdapter.js +1 -1
  89. package/dist/chunks/browsiBidAdapter.metadata.js +1 -1
  90. package/dist/chunks/bucksenseBidAdapter.metadata.js +1 -1
  91. package/dist/chunks/carodaBidAdapter.js +1 -1
  92. package/dist/chunks/carodaBidAdapter.metadata.js +1 -1
  93. package/dist/chunks/categoryTranslation.metadata.js +1 -1
  94. package/dist/chunks/ccxBidAdapter.metadata.js +1 -1
  95. package/dist/chunks/ceeIdSystem.metadata.js +1 -1
  96. package/dist/chunks/chromeAiRtdProvider.metadata.js +1 -1
  97. package/dist/chunks/chtnwBidAdapter.js +1 -1
  98. package/dist/chunks/chunk-core.js +1 -1
  99. package/dist/chunks/compassBidAdapter.metadata.js +1 -1
  100. package/dist/chunks/conceptxBidAdapter.metadata.js +1 -1
  101. package/dist/chunks/concertBidAdapter.js +1 -1
  102. package/dist/chunks/connatixBidAdapter.metadata.js +1 -1
  103. package/dist/chunks/connectIdSystem.metadata.js +1 -1
  104. package/dist/chunks/connectadBidAdapter.js +1 -1
  105. package/dist/chunks/connectadBidAdapter.metadata.js +1 -1
  106. package/dist/chunks/consumableBidAdapter.js +1 -1
  107. package/dist/chunks/contentexchangeBidAdapter.metadata.js +1 -1
  108. package/dist/chunks/contxtfulBidAdapter.js +1 -1
  109. package/dist/chunks/conversantBidAdapter.js +1 -1
  110. package/dist/chunks/conversantBidAdapter.metadata.js +1 -1
  111. package/dist/chunks/copper6sspBidAdapter.metadata.js +1 -1
  112. package/dist/chunks/cpmstarBidAdapter.metadata.js +1 -1
  113. package/dist/chunks/craftBidAdapter.js +1 -1
  114. package/dist/chunks/criteoBidAdapter.js +1 -1
  115. package/dist/chunks/criteoBidAdapter.metadata.js +1 -1
  116. package/dist/chunks/criteoIdSystem.metadata.js +1 -1
  117. package/dist/chunks/cwireBidAdapter.js +1 -1
  118. package/dist/chunks/cwireBidAdapter.metadata.js +1 -1
  119. package/dist/chunks/czechAdIdSystem.metadata.js +1 -1
  120. package/dist/chunks/dailymotionBidAdapter.js +1 -1
  121. package/dist/chunks/dailymotionBidAdapter.metadata.js +1 -1
  122. package/dist/chunks/debugging.metadata.js +1 -1
  123. package/dist/chunks/deepintentBidAdapter.metadata.js +1 -1
  124. package/dist/chunks/deltaprojectsBidAdapter.metadata.js +1 -1
  125. package/dist/chunks/dianomiBidAdapter.metadata.js +1 -1
  126. package/dist/chunks/digitalMatterBidAdapter.metadata.js +1 -1
  127. package/dist/chunks/distroscaleBidAdapter.metadata.js +1 -1
  128. package/dist/chunks/docereeAdManagerBidAdapter.metadata.js +1 -1
  129. package/dist/chunks/docereeBidAdapter.metadata.js +1 -1
  130. package/dist/chunks/dspxBidAdapter.js +1 -1
  131. package/dist/chunks/dspxBidAdapter.metadata.js +1 -1
  132. package/dist/chunks/dxkultureBidAdapter.js +1 -1
  133. package/dist/chunks/e_volutionBidAdapter.metadata.js +1 -1
  134. package/dist/chunks/edge226BidAdapter.metadata.js +1 -1
  135. package/dist/chunks/eplanningBidAdapter.js +1 -1
  136. package/dist/chunks/equativBidAdapter.js +1 -1
  137. package/dist/chunks/equativBidAdapter.metadata.js +1 -1
  138. package/dist/chunks/eskimiBidAdapter.js +1 -1
  139. package/dist/chunks/eskimiBidAdapter.metadata.js +1 -1
  140. package/dist/chunks/etargetBidAdapter.metadata.js +1 -1
  141. package/dist/chunks/euidIdSystem.js +1 -1
  142. package/dist/chunks/euidIdSystem.metadata.js +1 -1
  143. package/dist/chunks/exadsBidAdapter.js +1 -1
  144. package/dist/chunks/exadsBidAdapter.metadata.js +1 -1
  145. package/dist/chunks/excoBidAdapter.js +1 -1
  146. package/dist/chunks/feedadBidAdapter.js +1 -1
  147. package/dist/chunks/feedadBidAdapter.metadata.js +1 -1
  148. package/dist/chunks/finativeBidAdapter.js +1 -1
  149. package/dist/chunks/fwsspBidAdapter.metadata.js +1 -1
  150. package/dist/chunks/gamoshiBidAdapter.metadata.js +1 -1
  151. package/dist/chunks/glomexBidAdapter.metadata.js +1 -1
  152. package/dist/chunks/gmosspBidAdapter.js +1 -1
  153. package/dist/chunks/goldbachBidAdapter.metadata.js +1 -1
  154. package/dist/chunks/greenbidsAnalyticsAdapter.js +1 -1
  155. package/dist/chunks/greenbidsBidAdapter.js +1 -1
  156. package/dist/chunks/greenbidsBidAdapter.metadata.js +1 -1
  157. package/dist/chunks/greenbidsRtdProvider.js +1 -1
  158. package/dist/chunks/gridBidAdapter.js +1 -1
  159. package/dist/chunks/gridBidAdapter.metadata.js +1 -1
  160. package/dist/chunks/gumgumBidAdapter.js +1 -1
  161. package/dist/chunks/gumgumBidAdapter.metadata.js +1 -1
  162. package/dist/chunks/h12mediaBidAdapter.js +1 -1
  163. package/dist/chunks/hadronIdSystem.metadata.js +1 -1
  164. package/dist/chunks/hadronRtdProvider.metadata.js +1 -1
  165. package/dist/chunks/holidBidAdapter.metadata.js +1 -1
  166. package/dist/chunks/hybridBidAdapter.metadata.js +1 -1
  167. package/dist/chunks/hypelabBidAdapter.js +1 -1
  168. package/dist/chunks/id5AnalyticsAdapter.js +1 -1
  169. package/dist/chunks/id5IdSystem.js +1 -1
  170. package/dist/chunks/id5IdSystem.metadata.js +1 -1
  171. package/dist/chunks/identityLinkIdSystem.metadata.js +1 -1
  172. package/dist/chunks/illuminBidAdapter.metadata.js +1 -1
  173. package/dist/chunks/impactifyBidAdapter.metadata.js +1 -1
  174. package/dist/chunks/improvedigitalBidAdapter.js +1 -1
  175. package/dist/chunks/improvedigitalBidAdapter.metadata.js +1 -1
  176. package/dist/chunks/inmobiBidAdapter.js +1 -1
  177. package/dist/chunks/inmobiBidAdapter.metadata.js +1 -1
  178. package/dist/chunks/innityBidAdapter.metadata.js +1 -1
  179. package/dist/chunks/insticatorBidAdapter.js +1 -1
  180. package/dist/chunks/insticatorBidAdapter.metadata.js +1 -1
  181. package/dist/chunks/intentIqAnalyticsAdapter.js +1 -1
  182. package/dist/chunks/intentIqIdSystem.metadata.js +1 -1
  183. package/dist/chunks/invibesBidAdapter.metadata.js +1 -1
  184. package/dist/chunks/ipromBidAdapter.metadata.js +1 -1
  185. package/dist/chunks/ixBidAdapter.js +1 -1
  186. package/dist/chunks/ixBidAdapter.metadata.js +1 -1
  187. package/dist/chunks/jixieBidAdapter.js +1 -1
  188. package/dist/chunks/justIdSystem.metadata.js +1 -1
  189. package/dist/chunks/justpremiumBidAdapter.js +1 -1
  190. package/dist/chunks/justpremiumBidAdapter.metadata.js +1 -1
  191. package/dist/chunks/jwplayerBidAdapter.metadata.js +1 -1
  192. package/dist/chunks/kargoBidAdapter.js +1 -1
  193. package/dist/chunks/kargoBidAdapter.metadata.js +1 -1
  194. package/dist/chunks/kimberliteBidAdapter.js +1 -1
  195. package/dist/chunks/kueezRtbBidAdapter.metadata.js +1 -1
  196. package/dist/chunks/lassoBidAdapter.js +1 -1
  197. package/dist/chunks/lifestreetBidAdapter.js +1 -1
  198. package/dist/chunks/limelightDigitalBidAdapter.metadata.js +1 -1
  199. package/dist/chunks/liveIntentId.js +1 -1
  200. package/dist/chunks/liveIntentIdSystem.metadata.js +1 -1
  201. package/dist/chunks/liveIntentRtdProvider.metadata.js +1 -1
  202. package/dist/chunks/livewrappedBidAdapter.metadata.js +1 -1
  203. package/dist/chunks/logicadBidAdapter.js +1 -1
  204. package/dist/chunks/loopmeBidAdapter.metadata.js +1 -1
  205. package/dist/chunks/lotamePanoramaIdSystem.metadata.js +1 -1
  206. package/dist/chunks/luceadBidAdapter.js +1 -1
  207. package/dist/chunks/luceadBidAdapter.metadata.js +1 -1
  208. package/dist/chunks/luponmediaBidAdapter.metadata.js +1 -1
  209. package/dist/chunks/mabidderBidAdapter.js +1 -1
  210. package/dist/chunks/madsenseBidAdapter.js +1 -1
  211. package/dist/chunks/madvertiseBidAdapter.metadata.js +1 -1
  212. package/dist/chunks/magniteAnalyticsAdapter.js +1 -1
  213. package/dist/chunks/malltvAnalyticsAdapter.js +1 -1
  214. package/dist/chunks/marsmediaBidAdapter.js +1 -1
  215. package/dist/chunks/marsmediaBidAdapter.metadata.js +1 -1
  216. package/dist/chunks/mediaConsortiumBidAdapter.metadata.js +1 -1
  217. package/dist/chunks/mediaforceBidAdapter.metadata.js +1 -1
  218. package/dist/chunks/mediafuseBidAdapter.js +1 -1
  219. package/dist/chunks/mediafuseBidAdapter.metadata.js +1 -1
  220. package/dist/chunks/mediagoBidAdapter.metadata.js +1 -1
  221. package/dist/chunks/mediakeysBidAdapter.metadata.js +1 -1
  222. package/dist/chunks/medianetBidAdapter.js +1 -1
  223. package/dist/chunks/medianetBidAdapter.metadata.js +1 -1
  224. package/dist/chunks/medianetUtils.js +1 -1
  225. package/dist/chunks/mediasquareBidAdapter.js +1 -1
  226. package/dist/chunks/mediasquareBidAdapter.metadata.js +1 -1
  227. package/dist/chunks/mgidBidAdapter.js +1 -1
  228. package/dist/chunks/mgidBidAdapter.metadata.js +1 -1
  229. package/dist/chunks/mgidRtdProvider.metadata.js +1 -1
  230. package/dist/chunks/mgidXBidAdapter.metadata.js +1 -1
  231. package/dist/chunks/minutemediaBidAdapter.metadata.js +1 -1
  232. package/dist/chunks/missenaBidAdapter.js +1 -1
  233. package/dist/chunks/missenaBidAdapter.metadata.js +1 -1
  234. package/dist/chunks/mobianRtdProvider.metadata.js +1 -1
  235. package/dist/chunks/mobilefuseBidAdapter.js +1 -1
  236. package/dist/chunks/mobilefuseBidAdapter.metadata.js +1 -1
  237. package/dist/chunks/mobkoiBidAdapter.metadata.js +1 -1
  238. package/dist/chunks/mobkoiIdSystem.metadata.js +1 -1
  239. package/dist/chunks/nativeryBidAdapter.metadata.js +1 -1
  240. package/dist/chunks/nativoBidAdapter.metadata.js +1 -1
  241. package/dist/chunks/newspassidBidAdapter.metadata.js +1 -1
  242. package/dist/chunks/nextMillenniumBidAdapter.js +1 -1
  243. package/dist/chunks/nextMillenniumBidAdapter.metadata.js +1 -1
  244. package/dist/chunks/nextrollBidAdapter.metadata.js +1 -1
  245. package/dist/chunks/nexx360BidAdapter.metadata.js +1 -1
  246. package/dist/chunks/nexx360Utils.js +1 -1
  247. package/dist/chunks/nobidAnalyticsAdapter.js +1 -1
  248. package/dist/chunks/nobidBidAdapter.js +1 -1
  249. package/dist/chunks/nobidBidAdapter.metadata.js +1 -1
  250. package/dist/chunks/nodalsAiRtdProvider.js +1 -1
  251. package/dist/chunks/nodalsAiRtdProvider.metadata.js +1 -1
  252. package/dist/chunks/novatiqIdSystem.metadata.js +1 -1
  253. package/dist/chunks/oguryBidAdapter.js +1 -1
  254. package/dist/chunks/oguryBidAdapter.metadata.js +1 -1
  255. package/dist/chunks/omsBidAdapter.metadata.js +1 -1
  256. package/dist/chunks/onetagBidAdapter.js +1 -1
  257. package/dist/chunks/onetagBidAdapter.metadata.js +1 -1
  258. package/dist/chunks/ooloAnalyticsAdapter.js +1 -1
  259. package/dist/chunks/openwebBidAdapter.metadata.js +1 -1
  260. package/dist/chunks/openxBidAdapter.js +1 -1
  261. package/dist/chunks/openxBidAdapter.metadata.js +1 -1
  262. package/dist/chunks/operaadsBidAdapter.metadata.js +1 -1
  263. package/dist/chunks/optidigitalBidAdapter.js +1 -1
  264. package/dist/chunks/optidigitalBidAdapter.metadata.js +1 -1
  265. package/dist/chunks/optoutBidAdapter.metadata.js +1 -1
  266. package/dist/chunks/orbidderBidAdapter.js +1 -1
  267. package/dist/chunks/orbidderBidAdapter.metadata.js +1 -1
  268. package/dist/chunks/outbrainBidAdapter.js +1 -1
  269. package/dist/chunks/outbrainBidAdapter.metadata.js +1 -1
  270. package/dist/chunks/ozoneBidAdapter.metadata.js +1 -1
  271. package/dist/chunks/pairIdSystem.metadata.js +1 -1
  272. package/dist/chunks/performaxBidAdapter.metadata.js +1 -1
  273. package/dist/chunks/pgamsspBidAdapter.metadata.js +1 -1
  274. package/dist/chunks/pixfutureBidAdapter.js +1 -1
  275. package/dist/chunks/pixfutureBidAdapter.metadata.js +1 -1
  276. package/dist/chunks/playdigoBidAdapter.metadata.js +1 -1
  277. package/dist/chunks/prebid-core.metadata.js +1 -1
  278. package/dist/chunks/precisoBidAdapter.metadata.js +1 -1
  279. package/dist/chunks/prismaBidAdapter.metadata.js +1 -1
  280. package/dist/chunks/programmaticXBidAdapter.metadata.js +1 -1
  281. package/dist/chunks/proxistoreBidAdapter.metadata.js +1 -1
  282. package/dist/chunks/publinkIdSystem.js +1 -1
  283. package/dist/chunks/publinkIdSystem.metadata.js +1 -1
  284. package/dist/chunks/pubmaticAnalyticsAdapter.js +1 -1
  285. package/dist/chunks/pubmaticBidAdapter.js +1 -1
  286. package/dist/chunks/pubmaticBidAdapter.metadata.js +1 -1
  287. package/dist/chunks/pubmaticIdSystem.metadata.js +1 -1
  288. package/dist/chunks/pubwiseAnalyticsAdapter.js +1 -1
  289. package/dist/chunks/pubxaiAnalyticsAdapter.js +1 -1
  290. package/dist/chunks/pulsepointBidAdapter.metadata.js +1 -1
  291. package/dist/chunks/pxyzBidAdapter.js +1 -1
  292. package/dist/chunks/qtBidAdapter.metadata.js +1 -1
  293. package/dist/chunks/quantcastBidAdapter.js +1 -1
  294. package/dist/chunks/quantcastBidAdapter.metadata.js +1 -1
  295. package/dist/chunks/quantcastIdSystem.metadata.js +1 -1
  296. package/dist/chunks/r2b2BidAdapter.metadata.js +1 -1
  297. package/dist/chunks/raynRtdProvider.metadata.js +1 -1
  298. package/dist/chunks/readpeakBidAdapter.js +1 -1
  299. package/dist/chunks/readpeakBidAdapter.metadata.js +1 -1
  300. package/dist/chunks/relaidoBidAdapter.js +1 -1
  301. package/dist/chunks/relayBidAdapter.metadata.js +1 -1
  302. package/dist/chunks/relevantdigitalBidAdapter.metadata.js +1 -1
  303. package/dist/chunks/resetdigitalBidAdapter.metadata.js +1 -1
  304. package/dist/chunks/responsiveAdsBidAdapter.metadata.js +1 -1
  305. package/dist/chunks/retailspotBidAdapter.js +1 -1
  306. package/dist/chunks/retailspotBidAdapter.metadata.js +1 -1
  307. package/dist/chunks/revcontentBidAdapter.metadata.js +1 -1
  308. package/dist/chunks/rhythmoneBidAdapter.js +1 -1
  309. package/dist/chunks/rhythmoneBidAdapter.metadata.js +1 -1
  310. package/dist/chunks/richaudienceBidAdapter.metadata.js +1 -1
  311. package/dist/chunks/riseBidAdapter.metadata.js +1 -1
  312. package/dist/chunks/riseUtils.js +1 -1
  313. package/dist/chunks/rixengineBidAdapter.metadata.js +1 -1
  314. package/dist/chunks/rtbhouseBidAdapter.metadata.js +1 -1
  315. package/dist/chunks/rubiconBidAdapter.js +1 -1
  316. package/dist/chunks/rubiconBidAdapter.metadata.js +1 -1
  317. package/dist/chunks/scatteredBidAdapter.metadata.js +1 -1
  318. package/dist/chunks/seedingAllianceBidAdapter.js +1 -1
  319. package/dist/chunks/seedingAllianceBidAdapter.metadata.js +1 -1
  320. package/dist/chunks/seedtagBidAdapter.js +1 -1
  321. package/dist/chunks/seedtagBidAdapter.metadata.js +1 -1
  322. package/dist/chunks/semantiqRtdProvider.metadata.js +1 -1
  323. package/dist/chunks/setupadBidAdapter.metadata.js +1 -1
  324. package/dist/chunks/sevioBidAdapter.js +1 -1
  325. package/dist/chunks/sevioBidAdapter.metadata.js +1 -1
  326. package/dist/chunks/sharedIdSystem.metadata.js +1 -1
  327. package/dist/chunks/sharethroughAnalyticsAdapter.js +1 -1
  328. package/dist/chunks/sharethroughBidAdapter.js +1 -1
  329. package/dist/chunks/sharethroughBidAdapter.metadata.js +1 -1
  330. package/dist/chunks/showheroes-bsBidAdapter.js +1 -1
  331. package/dist/chunks/showheroes-bsBidAdapter.metadata.js +1 -1
  332. package/dist/chunks/silvermobBidAdapter.metadata.js +1 -1
  333. package/dist/chunks/sirdataRtdProvider.metadata.js +1 -1
  334. package/dist/chunks/slimcutBidAdapter.metadata.js +1 -1
  335. package/dist/chunks/smaatoBidAdapter.js +1 -1
  336. package/dist/chunks/smaatoBidAdapter.metadata.js +1 -1
  337. package/dist/chunks/smartadserverBidAdapter.js +1 -1
  338. package/dist/chunks/smartadserverBidAdapter.metadata.js +1 -1
  339. package/dist/chunks/smartxBidAdapter.js +1 -1
  340. package/dist/chunks/smartxBidAdapter.metadata.js +1 -1
  341. package/dist/chunks/smartyadsBidAdapter.metadata.js +1 -1
  342. package/dist/chunks/smilewantedBidAdapter.js +1 -1
  343. package/dist/chunks/smilewantedBidAdapter.metadata.js +1 -1
  344. package/dist/chunks/snigelBidAdapter.js +1 -1
  345. package/dist/chunks/snigelBidAdapter.metadata.js +1 -1
  346. package/dist/chunks/sonaradsBidAdapter.js +1 -1
  347. package/dist/chunks/sonaradsBidAdapter.metadata.js +1 -1
  348. package/dist/chunks/sonobiBidAdapter.js +1 -1
  349. package/dist/chunks/sonobiBidAdapter.metadata.js +1 -1
  350. package/dist/chunks/sovrnBidAdapter.js +1 -1
  351. package/dist/chunks/sparteoBidAdapter.js +1 -1
  352. package/dist/chunks/sparteoBidAdapter.metadata.js +1 -1
  353. package/dist/chunks/ssmasBidAdapter.metadata.js +1 -1
  354. package/dist/chunks/sspBCBidAdapter.js +1 -1
  355. package/dist/chunks/sspBCBidAdapter.metadata.js +1 -1
  356. package/dist/chunks/stackadaptBidAdapter.metadata.js +1 -1
  357. package/dist/chunks/startioBidAdapter.metadata.js +1 -1
  358. package/dist/chunks/stroeerCoreBidAdapter.metadata.js +1 -1
  359. package/dist/chunks/stvBidAdapter.js +1 -1
  360. package/dist/chunks/stvBidAdapter.metadata.js +1 -1
  361. package/dist/chunks/sublimeBidAdapter.js +1 -1
  362. package/dist/chunks/sublimeBidAdapter.metadata.js +1 -1
  363. package/dist/chunks/taboolaBidAdapter.js +1 -1
  364. package/dist/chunks/taboolaBidAdapter.metadata.js +1 -1
  365. package/dist/chunks/taboolaIdSystem.metadata.js +1 -1
  366. package/dist/chunks/tappxBidAdapter.js +1 -1
  367. package/dist/chunks/tappxBidAdapter.metadata.js +1 -1
  368. package/dist/chunks/targetVideoBidAdapter.js +1 -1
  369. package/dist/chunks/targetVideoBidAdapter.metadata.js +1 -1
  370. package/dist/chunks/teadsBidAdapter.js +1 -1
  371. package/dist/chunks/teadsBidAdapter.metadata.js +1 -1
  372. package/dist/chunks/teadsIdSystem.metadata.js +1 -1
  373. package/dist/chunks/tealBidAdapter.metadata.js +1 -1
  374. package/dist/chunks/terceptAnalyticsAdapter.js +1 -1
  375. package/dist/chunks/themoneytizerBidAdapter.js +1 -1
  376. package/dist/chunks/tncIdSystem.metadata.js +1 -1
  377. package/dist/chunks/topicsFpdModule.metadata.js +1 -1
  378. package/dist/chunks/trionBidAdapter.js +1 -1
  379. package/dist/chunks/tripleliftBidAdapter.js +1 -1
  380. package/dist/chunks/tripleliftBidAdapter.metadata.js +1 -1
  381. package/dist/chunks/ttdBidAdapter.js +1 -1
  382. package/dist/chunks/ttdBidAdapter.metadata.js +1 -1
  383. package/dist/chunks/twistDigitalBidAdapter.metadata.js +1 -1
  384. package/dist/chunks/ucfunnelAnalyticsAdapter.js +1 -1
  385. package/dist/chunks/uid2IdSystem.js +1 -1
  386. package/dist/chunks/underdogmediaBidAdapter.js +1 -1
  387. package/dist/chunks/underdogmediaBidAdapter.metadata.js +1 -1
  388. package/dist/chunks/undertoneBidAdapter.js +1 -1
  389. package/dist/chunks/undertoneBidAdapter.metadata.js +1 -1
  390. package/dist/chunks/unifiedIdSystem.metadata.js +1 -1
  391. package/dist/chunks/unrulyBidAdapter.js +1 -1
  392. package/dist/chunks/unrulyBidAdapter.metadata.js +1 -1
  393. package/dist/chunks/userId.metadata.js +1 -1
  394. package/dist/chunks/validationFpdModule.metadata.js +1 -1
  395. package/dist/chunks/vidazooBidAdapter.metadata.js +1 -1
  396. package/dist/chunks/vidazooUtils.js +1 -1
  397. package/dist/chunks/videobyteBidAdapter.js +1 -1
  398. package/dist/chunks/vidoomyBidAdapter.metadata.js +1 -1
  399. package/dist/chunks/viewdeosDXBidAdapter.metadata.js +1 -1
  400. package/dist/chunks/viouslyBidAdapter.metadata.js +1 -1
  401. package/dist/chunks/visxBidAdapter.js +1 -1
  402. package/dist/chunks/visxBidAdapter.metadata.js +1 -1
  403. package/dist/chunks/vlybyBidAdapter.metadata.js +1 -1
  404. package/dist/chunks/voxBidAdapter.metadata.js +1 -1
  405. package/dist/chunks/vrtcalBidAdapter.metadata.js +1 -1
  406. package/dist/chunks/vuukleBidAdapter.js +1 -1
  407. package/dist/chunks/vuukleBidAdapter.metadata.js +1 -1
  408. package/dist/chunks/weboramaRtdProvider.metadata.js +1 -1
  409. package/dist/chunks/welectBidAdapter.metadata.js +1 -1
  410. package/dist/chunks/widespaceBidAdapter.js +1 -1
  411. package/dist/chunks/winrBidAdapter.js +1 -1
  412. package/dist/chunks/yahooAdsBidAdapter.js +1 -1
  413. package/dist/chunks/yahooAdsBidAdapter.metadata.js +1 -1
  414. package/dist/chunks/yandexBidAdapter.js +1 -1
  415. package/dist/chunks/yieldlabBidAdapter.metadata.js +1 -1
  416. package/dist/chunks/yieldliftBidAdapter.metadata.js +1 -1
  417. package/dist/chunks/yieldloveBidAdapter.metadata.js +1 -1
  418. package/dist/chunks/yieldmoBidAdapter.js +1 -1
  419. package/dist/chunks/yieldmoBidAdapter.metadata.js +1 -1
  420. package/dist/chunks/yieldoneAnalyticsAdapter.js +1 -1
  421. package/dist/chunks/zeotapIdPlusIdSystem.metadata.js +1 -1
  422. package/dist/chunks/zeta_globalBidAdapter.metadata.js +1 -1
  423. package/dist/chunks/zeta_global_sspBidAdapter.metadata.js +1 -1
  424. package/dist/not-for-prod/prebid.js +424 -424
  425. package/dist/src/libraries/adagioUtils/adagioUtils.js +1 -1
  426. package/dist/src/libraries/liveIntentId/externalIdSystem.js +1 -1
  427. package/dist/src/libraries/liveIntentId/idSystem.js +1 -1
  428. package/dist/src/libraries/liveIntentId/shared.js +20 -0
  429. package/dist/src/libraries/liveIntentId/shared.js.map +1 -1
  430. package/dist/src/libraries/medianetUtils/constants.js +1 -1
  431. package/dist/src/libraries/nexx360Utils/index.js +1 -1
  432. package/dist/src/libraries/riseUtils/index.js +1 -1
  433. package/dist/src/libraries/vidazooUtils/bidderUtils.js +1 -1
  434. package/dist/src/metadata/modules/33acrossBidAdapter.js +1 -1
  435. package/dist/src/metadata/modules/33acrossIdSystem.js +1 -1
  436. package/dist/src/metadata/modules/acuityadsBidAdapter.js +1 -1
  437. package/dist/src/metadata/modules/adagioBidAdapter.js +1 -1
  438. package/dist/src/metadata/modules/adagioRtdProvider.js +1 -1
  439. package/dist/src/metadata/modules/addefendBidAdapter.js +1 -1
  440. package/dist/src/metadata/modules/adfBidAdapter.js +1 -1
  441. package/dist/src/metadata/modules/adfusionBidAdapter.js +1 -1
  442. package/dist/src/metadata/modules/adheseBidAdapter.js +1 -1
  443. package/dist/src/metadata/modules/adkernelAdnBidAdapter.js +1 -1
  444. package/dist/src/metadata/modules/adkernelBidAdapter.js +1 -1
  445. package/dist/src/metadata/modules/admaticBidAdapter.js +1 -1
  446. package/dist/src/metadata/modules/admixerBidAdapter.js +1 -1
  447. package/dist/src/metadata/modules/admixerIdSystem.js +1 -1
  448. package/dist/src/metadata/modules/adnowBidAdapter.js +1 -1
  449. package/dist/src/metadata/modules/adnuntiusBidAdapter.js +1 -1
  450. package/dist/src/metadata/modules/adnuntiusRtdProvider.js +1 -1
  451. package/dist/src/metadata/modules/adotBidAdapter.js +1 -1
  452. package/dist/src/metadata/modules/adponeBidAdapter.js +1 -1
  453. package/dist/src/metadata/modules/adqueryBidAdapter.js +1 -1
  454. package/dist/src/metadata/modules/adqueryIdSystem.js +1 -1
  455. package/dist/src/metadata/modules/adrinoBidAdapter.js +1 -1
  456. package/dist/src/metadata/modules/ads_interactiveBidAdapter.js +1 -1
  457. package/dist/src/metadata/modules/adtargetBidAdapter.js +1 -1
  458. package/dist/src/metadata/modules/adtelligentBidAdapter.js +1 -1
  459. package/dist/src/metadata/modules/adtelligentIdSystem.js +1 -1
  460. package/dist/src/metadata/modules/aduptechBidAdapter.js +1 -1
  461. package/dist/src/metadata/modules/adyoulikeBidAdapter.js +1 -1
  462. package/dist/src/metadata/modules/aidemBidAdapter.js +1 -1
  463. package/dist/src/metadata/modules/airgridRtdProvider.js +1 -1
  464. package/dist/src/metadata/modules/alkimiBidAdapter.js +1 -1
  465. package/dist/src/metadata/modules/ampliffyBidAdapter.js +1 -1
  466. package/dist/src/metadata/modules/amxBidAdapter.js +1 -1
  467. package/dist/src/metadata/modules/amxIdSystem.js +1 -1
  468. package/dist/src/metadata/modules/aniviewBidAdapter.js +1 -1
  469. package/dist/src/metadata/modules/anonymisedRtdProvider.js +1 -1
  470. package/dist/src/metadata/modules/appierBidAdapter.js +1 -1
  471. package/dist/src/metadata/modules/appnexusBidAdapter.js +1 -1
  472. package/dist/src/metadata/modules/appushBidAdapter.js +1 -1
  473. package/dist/src/metadata/modules/apstreamBidAdapter.js +1 -1
  474. package/dist/src/metadata/modules/audiencerunBidAdapter.js +1 -1
  475. package/dist/src/metadata/modules/axisBidAdapter.js +1 -1
  476. package/dist/src/metadata/modules/azerionedgeRtdProvider.js +1 -1
  477. package/dist/src/metadata/modules/beopBidAdapter.js +1 -1
  478. package/dist/src/metadata/modules/betweenBidAdapter.js +1 -1
  479. package/dist/src/metadata/modules/bidmaticBidAdapter.js +1 -1
  480. package/dist/src/metadata/modules/bidtheatreBidAdapter.js +1 -1
  481. package/dist/src/metadata/modules/bliinkBidAdapter.js +1 -1
  482. package/dist/src/metadata/modules/blockthroughBidAdapter.js +1 -1
  483. package/dist/src/metadata/modules/blueBidAdapter.js +1 -1
  484. package/dist/src/metadata/modules/bmsBidAdapter.js +1 -1
  485. package/dist/src/metadata/modules/boldwinBidAdapter.js +1 -1
  486. package/dist/src/metadata/modules/bridBidAdapter.js +1 -1
  487. package/dist/src/metadata/modules/browsiBidAdapter.js +1 -1
  488. package/dist/src/metadata/modules/bucksenseBidAdapter.js +1 -1
  489. package/dist/src/metadata/modules/carodaBidAdapter.js +1 -1
  490. package/dist/src/metadata/modules/categoryTranslation.js +1 -1
  491. package/dist/src/metadata/modules/ccxBidAdapter.js +1 -1
  492. package/dist/src/metadata/modules/ceeIdSystem.js +1 -1
  493. package/dist/src/metadata/modules/chromeAiRtdProvider.js +1 -1
  494. package/dist/src/metadata/modules/compassBidAdapter.js +1 -1
  495. package/dist/src/metadata/modules/conceptxBidAdapter.js +1 -1
  496. package/dist/src/metadata/modules/connatixBidAdapter.js +1 -1
  497. package/dist/src/metadata/modules/connectIdSystem.js +1 -1
  498. package/dist/src/metadata/modules/connectadBidAdapter.js +1 -1
  499. package/dist/src/metadata/modules/contentexchangeBidAdapter.js +1 -1
  500. package/dist/src/metadata/modules/conversantBidAdapter.js +1 -1
  501. package/dist/src/metadata/modules/copper6sspBidAdapter.js +1 -1
  502. package/dist/src/metadata/modules/cpmstarBidAdapter.js +1 -1
  503. package/dist/src/metadata/modules/criteoBidAdapter.js +1 -1
  504. package/dist/src/metadata/modules/criteoIdSystem.js +1 -1
  505. package/dist/src/metadata/modules/cwireBidAdapter.js +1 -1
  506. package/dist/src/metadata/modules/czechAdIdSystem.js +1 -1
  507. package/dist/src/metadata/modules/dailymotionBidAdapter.js +1 -1
  508. package/dist/src/metadata/modules/debugging.js +1 -1
  509. package/dist/src/metadata/modules/deepintentBidAdapter.js +1 -1
  510. package/dist/src/metadata/modules/deltaprojectsBidAdapter.js +1 -1
  511. package/dist/src/metadata/modules/dianomiBidAdapter.js +1 -1
  512. package/dist/src/metadata/modules/digitalMatterBidAdapter.js +1 -1
  513. package/dist/src/metadata/modules/distroscaleBidAdapter.js +1 -1
  514. package/dist/src/metadata/modules/docereeAdManagerBidAdapter.js +1 -1
  515. package/dist/src/metadata/modules/docereeBidAdapter.js +1 -1
  516. package/dist/src/metadata/modules/dspxBidAdapter.js +1 -1
  517. package/dist/src/metadata/modules/e_volutionBidAdapter.js +1 -1
  518. package/dist/src/metadata/modules/edge226BidAdapter.js +1 -1
  519. package/dist/src/metadata/modules/equativBidAdapter.js +1 -1
  520. package/dist/src/metadata/modules/eskimiBidAdapter.js +1 -1
  521. package/dist/src/metadata/modules/etargetBidAdapter.js +1 -1
  522. package/dist/src/metadata/modules/euidIdSystem.js +1 -1
  523. package/dist/src/metadata/modules/exadsBidAdapter.js +1 -1
  524. package/dist/src/metadata/modules/feedadBidAdapter.js +1 -1
  525. package/dist/src/metadata/modules/fwsspBidAdapter.js +1 -1
  526. package/dist/src/metadata/modules/gamoshiBidAdapter.js +1 -1
  527. package/dist/src/metadata/modules/glomexBidAdapter.js +1 -1
  528. package/dist/src/metadata/modules/goldbachBidAdapter.js +1 -1
  529. package/dist/src/metadata/modules/greenbidsBidAdapter.js +1 -1
  530. package/dist/src/metadata/modules/gridBidAdapter.js +1 -1
  531. package/dist/src/metadata/modules/gumgumBidAdapter.js +1 -1
  532. package/dist/src/metadata/modules/hadronIdSystem.js +1 -1
  533. package/dist/src/metadata/modules/hadronRtdProvider.js +1 -1
  534. package/dist/src/metadata/modules/holidBidAdapter.js +1 -1
  535. package/dist/src/metadata/modules/hybridBidAdapter.js +1 -1
  536. package/dist/src/metadata/modules/id5IdSystem.js +1 -1
  537. package/dist/src/metadata/modules/identityLinkIdSystem.js +1 -1
  538. package/dist/src/metadata/modules/illuminBidAdapter.js +1 -1
  539. package/dist/src/metadata/modules/impactifyBidAdapter.js +1 -1
  540. package/dist/src/metadata/modules/improvedigitalBidAdapter.js +1 -1
  541. package/dist/src/metadata/modules/inmobiBidAdapter.js +1 -1
  542. package/dist/src/metadata/modules/innityBidAdapter.js +1 -1
  543. package/dist/src/metadata/modules/insticatorBidAdapter.js +1 -1
  544. package/dist/src/metadata/modules/intentIqIdSystem.js +1 -1
  545. package/dist/src/metadata/modules/invibesBidAdapter.js +1 -1
  546. package/dist/src/metadata/modules/ipromBidAdapter.js +1 -1
  547. package/dist/src/metadata/modules/ixBidAdapter.js +1 -1
  548. package/dist/src/metadata/modules/justIdSystem.js +1 -1
  549. package/dist/src/metadata/modules/justpremiumBidAdapter.js +1 -1
  550. package/dist/src/metadata/modules/jwplayerBidAdapter.js +1 -1
  551. package/dist/src/metadata/modules/kargoBidAdapter.js +1 -1
  552. package/dist/src/metadata/modules/kueezRtbBidAdapter.js +1 -1
  553. package/dist/src/metadata/modules/limelightDigitalBidAdapter.js +1 -1
  554. package/dist/src/metadata/modules/liveIntentIdSystem.js +1 -1
  555. package/dist/src/metadata/modules/liveIntentRtdProvider.js +1 -1
  556. package/dist/src/metadata/modules/livewrappedBidAdapter.js +1 -1
  557. package/dist/src/metadata/modules/loopmeBidAdapter.js +1 -1
  558. package/dist/src/metadata/modules/lotamePanoramaIdSystem.js +1 -1
  559. package/dist/src/metadata/modules/luceadBidAdapter.js +1 -1
  560. package/dist/src/metadata/modules/luponmediaBidAdapter.js +1 -1
  561. package/dist/src/metadata/modules/madvertiseBidAdapter.js +1 -1
  562. package/dist/src/metadata/modules/marsmediaBidAdapter.js +1 -1
  563. package/dist/src/metadata/modules/mediaConsortiumBidAdapter.js +1 -1
  564. package/dist/src/metadata/modules/mediaforceBidAdapter.js +1 -1
  565. package/dist/src/metadata/modules/mediafuseBidAdapter.js +1 -1
  566. package/dist/src/metadata/modules/mediagoBidAdapter.js +1 -1
  567. package/dist/src/metadata/modules/mediakeysBidAdapter.js +1 -1
  568. package/dist/src/metadata/modules/medianetBidAdapter.js +1 -1
  569. package/dist/src/metadata/modules/mediasquareBidAdapter.js +1 -1
  570. package/dist/src/metadata/modules/mgidBidAdapter.js +1 -1
  571. package/dist/src/metadata/modules/mgidRtdProvider.js +1 -1
  572. package/dist/src/metadata/modules/mgidXBidAdapter.js +1 -1
  573. package/dist/src/metadata/modules/minutemediaBidAdapter.js +1 -1
  574. package/dist/src/metadata/modules/missenaBidAdapter.js +1 -1
  575. package/dist/src/metadata/modules/mobianRtdProvider.js +1 -1
  576. package/dist/src/metadata/modules/mobilefuseBidAdapter.js +1 -1
  577. package/dist/src/metadata/modules/mobkoiBidAdapter.js +1 -1
  578. package/dist/src/metadata/modules/mobkoiIdSystem.js +1 -1
  579. package/dist/src/metadata/modules/nativeryBidAdapter.js +1 -1
  580. package/dist/src/metadata/modules/nativoBidAdapter.js +1 -1
  581. package/dist/src/metadata/modules/newspassidBidAdapter.js +1 -1
  582. package/dist/src/metadata/modules/nextMillenniumBidAdapter.js +1 -1
  583. package/dist/src/metadata/modules/nextrollBidAdapter.js +1 -1
  584. package/dist/src/metadata/modules/nexx360BidAdapter.js +1 -1
  585. package/dist/src/metadata/modules/nobidBidAdapter.js +1 -1
  586. package/dist/src/metadata/modules/nodalsAiRtdProvider.js +1 -1
  587. package/dist/src/metadata/modules/novatiqIdSystem.js +1 -1
  588. package/dist/src/metadata/modules/oguryBidAdapter.js +1 -1
  589. package/dist/src/metadata/modules/omsBidAdapter.js +1 -1
  590. package/dist/src/metadata/modules/onetagBidAdapter.js +1 -1
  591. package/dist/src/metadata/modules/openwebBidAdapter.js +1 -1
  592. package/dist/src/metadata/modules/openxBidAdapter.js +1 -1
  593. package/dist/src/metadata/modules/operaadsBidAdapter.js +1 -1
  594. package/dist/src/metadata/modules/optidigitalBidAdapter.js +1 -1
  595. package/dist/src/metadata/modules/optoutBidAdapter.js +1 -1
  596. package/dist/src/metadata/modules/orbidderBidAdapter.js +1 -1
  597. package/dist/src/metadata/modules/outbrainBidAdapter.js +1 -1
  598. package/dist/src/metadata/modules/ozoneBidAdapter.js +1 -1
  599. package/dist/src/metadata/modules/pairIdSystem.js +1 -1
  600. package/dist/src/metadata/modules/performaxBidAdapter.js +1 -1
  601. package/dist/src/metadata/modules/pgamsspBidAdapter.js +1 -1
  602. package/dist/src/metadata/modules/pixfutureBidAdapter.js +1 -1
  603. package/dist/src/metadata/modules/playdigoBidAdapter.js +1 -1
  604. package/dist/src/metadata/modules/prebid-core.js +1 -1
  605. package/dist/src/metadata/modules/precisoBidAdapter.js +1 -1
  606. package/dist/src/metadata/modules/prismaBidAdapter.js +1 -1
  607. package/dist/src/metadata/modules/programmaticXBidAdapter.js +1 -1
  608. package/dist/src/metadata/modules/proxistoreBidAdapter.js +1 -1
  609. package/dist/src/metadata/modules/publinkIdSystem.js +1 -1
  610. package/dist/src/metadata/modules/pubmaticBidAdapter.js +1 -1
  611. package/dist/src/metadata/modules/pubmaticIdSystem.js +1 -1
  612. package/dist/src/metadata/modules/pulsepointBidAdapter.js +1 -1
  613. package/dist/src/metadata/modules/qtBidAdapter.js +1 -1
  614. package/dist/src/metadata/modules/quantcastBidAdapter.js +1 -1
  615. package/dist/src/metadata/modules/quantcastIdSystem.js +1 -1
  616. package/dist/src/metadata/modules/r2b2BidAdapter.js +1 -1
  617. package/dist/src/metadata/modules/raynRtdProvider.js +1 -1
  618. package/dist/src/metadata/modules/readpeakBidAdapter.js +1 -1
  619. package/dist/src/metadata/modules/relayBidAdapter.js +1 -1
  620. package/dist/src/metadata/modules/relevantdigitalBidAdapter.js +1 -1
  621. package/dist/src/metadata/modules/resetdigitalBidAdapter.js +1 -1
  622. package/dist/src/metadata/modules/responsiveAdsBidAdapter.js +1 -1
  623. package/dist/src/metadata/modules/retailspotBidAdapter.js +1 -1
  624. package/dist/src/metadata/modules/revcontentBidAdapter.js +1 -1
  625. package/dist/src/metadata/modules/rhythmoneBidAdapter.js +1 -1
  626. package/dist/src/metadata/modules/richaudienceBidAdapter.js +1 -1
  627. package/dist/src/metadata/modules/riseBidAdapter.js +1 -1
  628. package/dist/src/metadata/modules/rixengineBidAdapter.js +1 -1
  629. package/dist/src/metadata/modules/rtbhouseBidAdapter.js +1 -1
  630. package/dist/src/metadata/modules/rubiconBidAdapter.js +1 -1
  631. package/dist/src/metadata/modules/scatteredBidAdapter.js +1 -1
  632. package/dist/src/metadata/modules/seedingAllianceBidAdapter.js +1 -1
  633. package/dist/src/metadata/modules/seedtagBidAdapter.js +1 -1
  634. package/dist/src/metadata/modules/semantiqRtdProvider.js +1 -1
  635. package/dist/src/metadata/modules/setupadBidAdapter.js +1 -1
  636. package/dist/src/metadata/modules/sevioBidAdapter.js +1 -1
  637. package/dist/src/metadata/modules/sharedIdSystem.js +1 -1
  638. package/dist/src/metadata/modules/sharethroughBidAdapter.js +1 -1
  639. package/dist/src/metadata/modules/showheroes-bsBidAdapter.js +1 -1
  640. package/dist/src/metadata/modules/silvermobBidAdapter.js +1 -1
  641. package/dist/src/metadata/modules/sirdataRtdProvider.js +1 -1
  642. package/dist/src/metadata/modules/slimcutBidAdapter.js +1 -1
  643. package/dist/src/metadata/modules/smaatoBidAdapter.js +1 -1
  644. package/dist/src/metadata/modules/smartadserverBidAdapter.js +1 -1
  645. package/dist/src/metadata/modules/smartxBidAdapter.js +1 -1
  646. package/dist/src/metadata/modules/smartyadsBidAdapter.js +1 -1
  647. package/dist/src/metadata/modules/smilewantedBidAdapter.js +1 -1
  648. package/dist/src/metadata/modules/snigelBidAdapter.js +1 -1
  649. package/dist/src/metadata/modules/sonaradsBidAdapter.js +1 -1
  650. package/dist/src/metadata/modules/sonobiBidAdapter.js +1 -1
  651. package/dist/src/metadata/modules/sparteoBidAdapter.js +1 -1
  652. package/dist/src/metadata/modules/ssmasBidAdapter.js +1 -1
  653. package/dist/src/metadata/modules/sspBCBidAdapter.js +1 -1
  654. package/dist/src/metadata/modules/stackadaptBidAdapter.js +1 -1
  655. package/dist/src/metadata/modules/startioBidAdapter.js +1 -1
  656. package/dist/src/metadata/modules/stroeerCoreBidAdapter.js +1 -1
  657. package/dist/src/metadata/modules/stvBidAdapter.js +1 -1
  658. package/dist/src/metadata/modules/sublimeBidAdapter.js +1 -1
  659. package/dist/src/metadata/modules/taboolaBidAdapter.js +1 -1
  660. package/dist/src/metadata/modules/taboolaIdSystem.js +1 -1
  661. package/dist/src/metadata/modules/tappxBidAdapter.js +1 -1
  662. package/dist/src/metadata/modules/targetVideoBidAdapter.js +1 -1
  663. package/dist/src/metadata/modules/teadsBidAdapter.js +1 -1
  664. package/dist/src/metadata/modules/teadsIdSystem.js +1 -1
  665. package/dist/src/metadata/modules/tealBidAdapter.js +1 -1
  666. package/dist/src/metadata/modules/tncIdSystem.js +1 -1
  667. package/dist/src/metadata/modules/topicsFpdModule.js +1 -1
  668. package/dist/src/metadata/modules/tripleliftBidAdapter.js +1 -1
  669. package/dist/src/metadata/modules/ttdBidAdapter.js +1 -1
  670. package/dist/src/metadata/modules/twistDigitalBidAdapter.js +1 -1
  671. package/dist/src/metadata/modules/underdogmediaBidAdapter.js +1 -1
  672. package/dist/src/metadata/modules/undertoneBidAdapter.js +1 -1
  673. package/dist/src/metadata/modules/unifiedIdSystem.js +1 -1
  674. package/dist/src/metadata/modules/unrulyBidAdapter.js +1 -1
  675. package/dist/src/metadata/modules/userId.js +1 -1
  676. package/dist/src/metadata/modules/validationFpdModule.js +1 -1
  677. package/dist/src/metadata/modules/vidazooBidAdapter.js +1 -1
  678. package/dist/src/metadata/modules/vidoomyBidAdapter.js +1 -1
  679. package/dist/src/metadata/modules/viewdeosDXBidAdapter.js +1 -1
  680. package/dist/src/metadata/modules/viouslyBidAdapter.js +1 -1
  681. package/dist/src/metadata/modules/visxBidAdapter.js +1 -1
  682. package/dist/src/metadata/modules/vlybyBidAdapter.js +1 -1
  683. package/dist/src/metadata/modules/voxBidAdapter.js +1 -1
  684. package/dist/src/metadata/modules/vrtcalBidAdapter.js +1 -1
  685. package/dist/src/metadata/modules/vuukleBidAdapter.js +1 -1
  686. package/dist/src/metadata/modules/weboramaRtdProvider.js +1 -1
  687. package/dist/src/metadata/modules/welectBidAdapter.js +1 -1
  688. package/dist/src/metadata/modules/yahooAdsBidAdapter.js +1 -1
  689. package/dist/src/metadata/modules/yieldlabBidAdapter.js +1 -1
  690. package/dist/src/metadata/modules/yieldliftBidAdapter.js +1 -1
  691. package/dist/src/metadata/modules/yieldloveBidAdapter.js +1 -1
  692. package/dist/src/metadata/modules/yieldmoBidAdapter.js +1 -1
  693. package/dist/src/metadata/modules/zeotapIdPlusIdSystem.js +1 -1
  694. package/dist/src/metadata/modules/zeta_globalBidAdapter.js +1 -1
  695. package/dist/src/metadata/modules/zeta_global_sspBidAdapter.js +1 -1
  696. package/dist/src/modules/33acrossAnalyticsAdapter.js +1 -1
  697. package/dist/src/modules/33acrossBidAdapter.js +1 -1
  698. package/dist/src/modules/33acrossIdSystem.js +1 -1
  699. package/dist/src/modules/adagioAnalyticsAdapter.js +1 -1
  700. package/dist/src/modules/adagioBidAdapter.js +1 -1
  701. package/dist/src/modules/addefendBidAdapter.js +1 -1
  702. package/dist/src/modules/adgenerationBidAdapter.js +1 -1
  703. package/dist/src/modules/adlooxRtdProvider.js +1 -1
  704. package/dist/src/modules/adqueryBidAdapter.js +1 -1
  705. package/dist/src/modules/adrelevantisBidAdapter.js +1 -1
  706. package/dist/src/modules/adstirBidAdapter.js +1 -1
  707. package/dist/src/modules/adtrgtmeBidAdapter.js +1 -1
  708. package/dist/src/modules/advertisingBidAdapter.js +2 -2
  709. package/dist/src/modules/adxcgAnalyticsAdapter.js +1 -1
  710. package/dist/src/modules/adxcgBidAdapter.js +1 -1
  711. package/dist/src/modules/adyoulikeBidAdapter.js +1 -1
  712. package/dist/src/modules/agmaAnalyticsAdapter.js +1 -1
  713. package/dist/src/modules/ajaBidAdapter.js +1 -1
  714. package/dist/src/modules/amxBidAdapter.js +2 -2
  715. package/dist/src/modules/amxIdSystem.js +1 -1
  716. package/dist/src/modules/aniviewBidAdapter.js +1 -1
  717. package/dist/src/modules/appierAnalyticsAdapter.js +1 -1
  718. package/dist/src/modules/appnexusBidAdapter.js +2 -2
  719. package/dist/src/modules/asoBidAdapter.js +1 -1
  720. package/dist/src/modules/axonixBidAdapter.js +1 -1
  721. package/dist/src/modules/beopBidAdapter.js +2 -2
  722. package/dist/src/modules/bidglassBidAdapter.js +1 -1
  723. package/dist/src/modules/bitmediaBidAdapter.js +1 -1
  724. package/dist/src/modules/blockthroughBidAdapter.js +1 -1
  725. package/dist/src/modules/bmtmBidAdapter.js +1 -1
  726. package/dist/src/modules/bridBidAdapter.js +1 -1
  727. package/dist/src/modules/bridgewellBidAdapter.js +1 -1
  728. package/dist/src/modules/carodaBidAdapter.js +1 -1
  729. package/dist/src/modules/chtnwBidAdapter.js +1 -1
  730. package/dist/src/modules/concertBidAdapter.js +1 -1
  731. package/dist/src/modules/connectadBidAdapter.js +1 -1
  732. package/dist/src/modules/consumableBidAdapter.js +1 -1
  733. package/dist/src/modules/contxtfulBidAdapter.js +1 -1
  734. package/dist/src/modules/conversantBidAdapter.js +1 -1
  735. package/dist/src/modules/craftBidAdapter.js +1 -1
  736. package/dist/src/modules/criteoBidAdapter.js +2 -2
  737. package/dist/src/modules/cwireBidAdapter.js +1 -1
  738. package/dist/src/modules/dailymotionBidAdapter.js +1 -1
  739. package/dist/src/modules/dspxBidAdapter.js +1 -1
  740. package/dist/src/modules/dxkultureBidAdapter.js +1 -1
  741. package/dist/src/modules/eplanningBidAdapter.js +1 -1
  742. package/dist/src/modules/equativBidAdapter.js +1 -1
  743. package/dist/src/modules/eskimiBidAdapter.js +1 -1
  744. package/dist/src/modules/euidIdSystem.js +1 -1
  745. package/dist/src/modules/exadsBidAdapter.js +1 -1
  746. package/dist/src/modules/excoBidAdapter.js +3 -3
  747. package/dist/src/modules/feedadBidAdapter.js +2 -2
  748. package/dist/src/modules/finativeBidAdapter.js +1 -1
  749. package/dist/src/modules/gmosspBidAdapter.js +1 -1
  750. package/dist/src/modules/greenbidsAnalyticsAdapter.js +1 -1
  751. package/dist/src/modules/greenbidsBidAdapter.js +1 -1
  752. package/dist/src/modules/greenbidsRtdProvider.js +1 -1
  753. package/dist/src/modules/gridBidAdapter.js +2 -2
  754. package/dist/src/modules/gumgumBidAdapter.js +2 -2
  755. package/dist/src/modules/h12mediaBidAdapter.js +1 -1
  756. package/dist/src/modules/hypelabBidAdapter.js +1 -1
  757. package/dist/src/modules/id5AnalyticsAdapter.js +1 -1
  758. package/dist/src/modules/id5IdSystem.js +1 -1
  759. package/dist/src/modules/improvedigitalBidAdapter.js +1 -1
  760. package/dist/src/modules/inmobiBidAdapter.js +1 -1
  761. package/dist/src/modules/insticatorBidAdapter.js +1 -1
  762. package/dist/src/modules/intentIqAnalyticsAdapter.js +1 -1
  763. package/dist/src/modules/ixBidAdapter.js +1 -1
  764. package/dist/src/modules/jixieBidAdapter.js +1 -1
  765. package/dist/src/modules/justpremiumBidAdapter.js +1 -1
  766. package/dist/src/modules/kargoBidAdapter.js +1 -1
  767. package/dist/src/modules/kimberliteBidAdapter.js +1 -1
  768. package/dist/src/modules/lassoBidAdapter.js +1 -1
  769. package/dist/src/modules/lifestreetBidAdapter.js +1 -1
  770. package/dist/src/modules/logicadBidAdapter.js +1 -1
  771. package/dist/src/modules/luceadBidAdapter.js +1 -1
  772. package/dist/src/modules/mabidderBidAdapter.js +1 -1
  773. package/dist/src/modules/madsenseBidAdapter.js +1 -1
  774. package/dist/src/modules/magniteAnalyticsAdapter.js +1 -1
  775. package/dist/src/modules/malltvAnalyticsAdapter.js +1 -1
  776. package/dist/src/modules/marsmediaBidAdapter.js +1 -1
  777. package/dist/src/modules/mediafuseBidAdapter.js +2 -2
  778. package/dist/src/modules/medianetBidAdapter.js +1 -1
  779. package/dist/src/modules/mediasquareBidAdapter.js +2 -2
  780. package/dist/src/modules/mgidBidAdapter.js +1 -1
  781. package/dist/src/modules/missenaBidAdapter.js +1 -1
  782. package/dist/src/modules/mobilefuseBidAdapter.js +1 -1
  783. package/dist/src/modules/nextMillenniumBidAdapter.js +1 -1
  784. package/dist/src/modules/nobidAnalyticsAdapter.js +1 -1
  785. package/dist/src/modules/nobidBidAdapter.js +1 -1
  786. package/dist/src/modules/nodalsAiRtdProvider.js +1 -1
  787. package/dist/src/modules/oguryBidAdapter.js +1 -1
  788. package/dist/src/modules/onetagBidAdapter.js +1 -1
  789. package/dist/src/modules/ooloAnalyticsAdapter.js +1 -1
  790. package/dist/src/modules/openxBidAdapter.js +7 -2
  791. package/dist/src/modules/openxBidAdapter.js.map +1 -1
  792. package/dist/src/modules/optidigitalBidAdapter.js +1 -1
  793. package/dist/src/modules/orbidderBidAdapter.js +1 -1
  794. package/dist/src/modules/outbrainBidAdapter.js +1 -1
  795. package/dist/src/modules/pixfutureBidAdapter.js +2 -2
  796. package/dist/src/modules/priceFloors.d.ts +2 -2
  797. package/dist/src/modules/priceFloors.js.map +1 -1
  798. package/dist/src/modules/publinkIdSystem.js +1 -1
  799. package/dist/src/modules/pubmaticAnalyticsAdapter.js +2 -2
  800. package/dist/src/modules/pubmaticBidAdapter.js +23 -3
  801. package/dist/src/modules/pubmaticBidAdapter.js.map +1 -1
  802. package/dist/src/modules/pubwiseAnalyticsAdapter.js +1 -1
  803. package/dist/src/modules/pubxaiAnalyticsAdapter.js +1 -1
  804. package/dist/src/modules/pxyzBidAdapter.js +1 -1
  805. package/dist/src/modules/quantcastBidAdapter.js +1 -1
  806. package/dist/src/modules/readpeakBidAdapter.js +1 -1
  807. package/dist/src/modules/relaidoBidAdapter.js +1 -1
  808. package/dist/src/modules/retailspotBidAdapter.js +1 -1
  809. package/dist/src/modules/rhythmoneBidAdapter.js +1 -1
  810. package/dist/src/modules/rubiconBidAdapter.js +1 -1
  811. package/dist/src/modules/seedingAllianceBidAdapter.js +1 -1
  812. package/dist/src/modules/seedtagBidAdapter.js +1 -1
  813. package/dist/src/modules/sevioBidAdapter.js +4 -1
  814. package/dist/src/modules/sevioBidAdapter.js.map +1 -1
  815. package/dist/src/modules/sharethroughAnalyticsAdapter.js +1 -1
  816. package/dist/src/modules/sharethroughBidAdapter.js +1 -1
  817. package/dist/src/modules/showheroes-bsBidAdapter.js +1 -1
  818. package/dist/src/modules/smaatoBidAdapter.js +1 -1
  819. package/dist/src/modules/smartadserverBidAdapter.js +1 -1
  820. package/dist/src/modules/smartxBidAdapter.js +1 -1
  821. package/dist/src/modules/smilewantedBidAdapter.js +1 -1
  822. package/dist/src/modules/snigelBidAdapter.js +1 -1
  823. package/dist/src/modules/sonaradsBidAdapter.js +2 -2
  824. package/dist/src/modules/sonobiBidAdapter.js +1 -1
  825. package/dist/src/modules/sovrnBidAdapter.js +1 -1
  826. package/dist/src/modules/sparteoBidAdapter.js +1 -1
  827. package/dist/src/modules/sspBCBidAdapter.js +1 -1
  828. package/dist/src/modules/stvBidAdapter.js +1 -1
  829. package/dist/src/modules/sublimeBidAdapter.js +2 -2
  830. package/dist/src/modules/taboolaBidAdapter.js +1 -1
  831. package/dist/src/modules/tappxBidAdapter.js +1 -1
  832. package/dist/src/modules/targetVideoBidAdapter.js +1 -1
  833. package/dist/src/modules/teadsBidAdapter.js +1 -1
  834. package/dist/src/modules/terceptAnalyticsAdapter.js +1 -1
  835. package/dist/src/modules/themoneytizerBidAdapter.js +1 -1
  836. package/dist/src/modules/trionBidAdapter.js +1 -1
  837. package/dist/src/modules/tripleliftBidAdapter.js +1 -1
  838. package/dist/src/modules/ttdBidAdapter.js +1 -1
  839. package/dist/src/modules/ucfunnelAnalyticsAdapter.js +1 -1
  840. package/dist/src/modules/uid2IdSystem.js +1 -1
  841. package/dist/src/modules/underdogmediaBidAdapter.js +1 -1
  842. package/dist/src/modules/undertoneBidAdapter.js +1 -1
  843. package/dist/src/modules/unrulyBidAdapter.js +1 -1
  844. package/dist/src/modules/videobyteBidAdapter.js +1 -1
  845. package/dist/src/modules/visxBidAdapter.js +1 -1
  846. package/dist/src/modules/vuukleBidAdapter.js +1 -1
  847. package/dist/src/modules/widespaceBidAdapter.js +1 -1
  848. package/dist/src/modules/winrBidAdapter.js +1 -1
  849. package/dist/src/modules/yahooAdsBidAdapter.js +1 -1
  850. package/dist/src/modules/yandexBidAdapter.js +1 -1
  851. package/dist/src/modules/yieldmoBidAdapter.js +2 -2
  852. package/dist/src/modules/yieldoneAnalyticsAdapter.js +1 -1
  853. package/dist/src/package.json +2 -3
  854. package/dist/src/src/debugging.js +1 -1
  855. package/dist/src/src/prebid.js +2 -2
  856. package/dist/src/src/targeting.d.ts +4 -4
  857. package/dist/src/src/targeting.js.map +1 -1
  858. package/dist/src/src/types/summary/core.d.ts +1 -1
  859. package/dist/src/src/types/summary/modules.d.ts +2 -2
  860. package/dist/src/test/spec/modules/33acrossAnalyticsAdapter_spec.js +2 -2
  861. package/dist/src/test/spec/modules/33acrossBidAdapter_spec.js +1 -1
  862. package/dist/src/test/spec/modules/33acrossIdSystem_spec.js +1 -1
  863. package/dist/src/test/spec/modules/adagioAnalyticsAdapter_spec.js +4 -4
  864. package/dist/src/test/spec/modules/adqueryBidAdapter_spec.js +1 -1
  865. package/dist/src/test/spec/modules/adrelevantisBidAdapter_spec.js +1 -1
  866. package/dist/src/test/spec/modules/adtrgtmeBidAdapter_spec.js +1 -1
  867. package/dist/src/test/spec/modules/advertisingBidAdapter_spec.js +9 -9
  868. package/dist/src/test/spec/modules/adyoulikeBidAdapter_spec.js +3 -3
  869. package/dist/src/test/spec/modules/ajaBidAdapter_spec.js +2 -2
  870. package/dist/src/test/spec/modules/amxBidAdapter_spec.js +2 -2
  871. package/dist/src/test/spec/modules/appierAnalyticsAdapter_spec.js +1 -1
  872. package/dist/src/test/spec/modules/appnexusBidAdapter_spec.js +2 -2
  873. package/dist/src/test/spec/modules/asoBidAdapter_spec.js +1 -1
  874. package/dist/src/test/spec/modules/blockthroughBidAdapter_spec.js +1 -1
  875. package/dist/src/test/spec/modules/bridBidAdapter_spec.js +1 -1
  876. package/dist/src/test/spec/modules/criteoBidAdapter_spec.js +1 -1
  877. package/dist/src/test/spec/modules/dailymotionBidAdapter_spec.js +4 -4
  878. package/dist/src/test/spec/modules/dxkultureBidAdapter_spec.js +1 -1
  879. package/dist/src/test/spec/modules/eplanningBidAdapter_spec.js +1 -1
  880. package/dist/src/test/spec/modules/equativBidAdapter_spec.js +1 -1
  881. package/dist/src/test/spec/modules/excoBidAdapter_spec.js +1 -1
  882. package/dist/src/test/spec/modules/feedadBidAdapter_spec.js +2 -2
  883. package/dist/src/test/spec/modules/gmosspBidAdapter_spec.js +2 -2
  884. package/dist/src/test/spec/modules/greenbidsAnalyticsAdapter_spec.js +1 -1
  885. package/dist/src/test/spec/modules/gridBidAdapter_spec.js +6 -6
  886. package/dist/src/test/spec/modules/gumgumBidAdapter_spec.js +1 -1
  887. package/dist/src/test/spec/modules/id5IdSystem_spec.js +4 -4
  888. package/dist/src/test/spec/modules/insticatorBidAdapter_spec.js +1 -1
  889. package/dist/src/test/spec/modules/ixBidAdapter_spec.js +2 -2
  890. package/dist/src/test/spec/modules/justpremiumBidAdapter_spec.js +1 -1
  891. package/dist/src/test/spec/modules/kargoBidAdapter_spec.js +1 -1
  892. package/dist/src/test/spec/modules/liveIntentExternalIdSystem_spec.js +29 -10
  893. package/dist/src/test/spec/modules/liveIntentExternalIdSystem_spec.js.map +1 -1
  894. package/dist/src/test/spec/modules/liveIntentIdMinimalSystem_spec.js +19 -0
  895. package/dist/src/test/spec/modules/liveIntentIdMinimalSystem_spec.js.map +1 -1
  896. package/dist/src/test/spec/modules/liveIntentIdSystem_spec.js +58 -1
  897. package/dist/src/test/spec/modules/liveIntentIdSystem_spec.js.map +1 -1
  898. package/dist/src/test/spec/modules/magniteAnalyticsAdapter_spec.js +1 -1
  899. package/dist/src/test/spec/modules/malltvAnalyticsAdapter_spec.js +1 -1
  900. package/dist/src/test/spec/modules/mediafuseBidAdapter_spec.js +2 -2
  901. package/dist/src/test/spec/modules/medianetBidAdapter_spec.js +9 -9
  902. package/dist/src/test/spec/modules/missenaBidAdapter_spec.js +1 -1
  903. package/dist/src/test/spec/modules/nobidAnalyticsAdapter_spec.js +1 -1
  904. package/dist/src/test/spec/modules/nobidBidAdapter_spec.js +1 -1
  905. package/dist/src/test/spec/modules/oguryBidAdapter_spec.js +1 -1
  906. package/dist/src/test/spec/modules/openxBidAdapter_spec.js +113 -0
  907. package/dist/src/test/spec/modules/openxBidAdapter_spec.js.map +1 -1
  908. package/dist/src/test/spec/modules/outbrainBidAdapter_spec.js +3 -3
  909. package/dist/src/test/spec/modules/prebidServerBidAdapter_spec.js +4 -4
  910. package/dist/src/test/spec/modules/publinkIdSystem_spec.js +5 -5
  911. package/dist/src/test/spec/modules/pubmaticAnalyticsAdapter_spec.js +6 -6
  912. package/dist/src/test/spec/modules/pubmaticBidAdapter_spec.js +58 -0
  913. package/dist/src/test/spec/modules/pubmaticBidAdapter_spec.js.map +1 -1
  914. package/dist/src/test/spec/modules/pubwiseAnalyticsAdapter_spec.js +1 -1
  915. package/dist/src/test/spec/modules/pubxaiAnalyticsAdapter_spec.js +6 -6
  916. package/dist/src/test/spec/modules/quantcastBidAdapter_spec.js +6 -6
  917. package/dist/src/test/spec/modules/readpeakBidAdapter_spec.js +4 -4
  918. package/dist/src/test/spec/modules/relaidoBidAdapter_spec.js +1 -1
  919. package/dist/src/test/spec/modules/rubiconBidAdapter_spec.js +2 -2
  920. package/dist/src/test/spec/modules/smartxBidAdapter_spec.js +1 -1
  921. package/dist/src/test/spec/modules/sonaradsBidAdapter_spec.js +5 -5
  922. package/dist/src/test/spec/modules/sovrnBidAdapter_spec.js +1 -1
  923. package/dist/src/test/spec/modules/sparteoBidAdapter_spec.js +3 -3
  924. package/dist/src/test/spec/modules/sspBCBidAdapter_spec.js +1 -1
  925. package/dist/src/test/spec/modules/taboolaBidAdapter_spec.js +1 -1
  926. package/dist/src/test/spec/modules/targetVideoBidAdapter_spec.js +2 -2
  927. package/dist/src/test/spec/modules/trionBidAdapter_spec.js +1 -1
  928. package/dist/src/test/spec/modules/ttdBidAdapter_spec.js +1 -1
  929. package/dist/src/test/spec/modules/ucfunnelAnalyticsAdapter_spec.js +1 -1
  930. package/dist/src/test/spec/modules/unrulyBidAdapter_spec.js +3 -3
  931. package/dist/src/test/spec/modules/videobyteBidAdapter_spec.js +1 -1
  932. package/dist/src/test/spec/modules/visxBidAdapter_spec.js +12 -12
  933. package/dist/src/test/spec/modules/winrBidAdapter_spec.js +1 -1
  934. package/dist/src/test/spec/modules/yahooAdsBidAdapter_spec.js +1 -1
  935. package/dist/src/test/spec/modules/yieldoneAnalyticsAdapter_spec.js +2 -2
  936. package/gulpfile.js +0 -7
  937. package/libraries/liveIntentId/shared.js +16 -0
  938. package/metadata/modules/33acrossBidAdapter.json +1 -1
  939. package/metadata/modules/33acrossIdSystem.json +1 -1
  940. package/metadata/modules/acuityadsBidAdapter.json +1 -1
  941. package/metadata/modules/adagioBidAdapter.json +1 -1
  942. package/metadata/modules/adagioRtdProvider.json +1 -1
  943. package/metadata/modules/addefendBidAdapter.json +1 -1
  944. package/metadata/modules/adfBidAdapter.json +1 -1
  945. package/metadata/modules/adfusionBidAdapter.json +1 -1
  946. package/metadata/modules/adheseBidAdapter.json +1 -1
  947. package/metadata/modules/adkernelAdnBidAdapter.json +1 -1
  948. package/metadata/modules/adkernelBidAdapter.json +4 -4
  949. package/metadata/modules/admaticBidAdapter.json +2 -2
  950. package/metadata/modules/admixerBidAdapter.json +1 -1
  951. package/metadata/modules/admixerIdSystem.json +1 -1
  952. package/metadata/modules/adnowBidAdapter.json +1 -1
  953. package/metadata/modules/adnuntiusBidAdapter.json +1 -1
  954. package/metadata/modules/adnuntiusRtdProvider.json +1 -1
  955. package/metadata/modules/adotBidAdapter.json +1 -1
  956. package/metadata/modules/adponeBidAdapter.json +1 -1
  957. package/metadata/modules/adqueryBidAdapter.json +1 -1
  958. package/metadata/modules/adqueryIdSystem.json +1 -1
  959. package/metadata/modules/adrinoBidAdapter.json +1 -1
  960. package/metadata/modules/ads_interactiveBidAdapter.json +1 -1
  961. package/metadata/modules/adtargetBidAdapter.json +1 -1
  962. package/metadata/modules/adtelligentBidAdapter.json +3 -3
  963. package/metadata/modules/adtelligentIdSystem.json +1 -1
  964. package/metadata/modules/aduptechBidAdapter.json +1 -1
  965. package/metadata/modules/adyoulikeBidAdapter.json +1 -1
  966. package/metadata/modules/aidemBidAdapter.json +1 -1
  967. package/metadata/modules/airgridRtdProvider.json +1 -1
  968. package/metadata/modules/alkimiBidAdapter.json +1 -1
  969. package/metadata/modules/ampliffyBidAdapter.json +1 -1
  970. package/metadata/modules/amxBidAdapter.json +1 -1
  971. package/metadata/modules/amxIdSystem.json +1 -1
  972. package/metadata/modules/aniviewBidAdapter.json +1 -1
  973. package/metadata/modules/anonymisedRtdProvider.json +1 -1
  974. package/metadata/modules/appierBidAdapter.json +1 -1
  975. package/metadata/modules/appnexusBidAdapter.json +5 -5
  976. package/metadata/modules/appushBidAdapter.json +1 -1
  977. package/metadata/modules/apstreamBidAdapter.json +1 -1
  978. package/metadata/modules/audiencerunBidAdapter.json +1 -1
  979. package/metadata/modules/axisBidAdapter.json +1 -1
  980. package/metadata/modules/azerionedgeRtdProvider.json +1 -1
  981. package/metadata/modules/beopBidAdapter.json +1 -1
  982. package/metadata/modules/betweenBidAdapter.json +1 -1
  983. package/metadata/modules/bidmaticBidAdapter.json +1 -1
  984. package/metadata/modules/bidtheatreBidAdapter.json +1 -1
  985. package/metadata/modules/bliinkBidAdapter.json +1 -1
  986. package/metadata/modules/blockthroughBidAdapter.json +1 -1
  987. package/metadata/modules/blueBidAdapter.json +1 -1
  988. package/metadata/modules/bmsBidAdapter.json +1 -1
  989. package/metadata/modules/boldwinBidAdapter.json +1 -1
  990. package/metadata/modules/bridBidAdapter.json +1 -1
  991. package/metadata/modules/browsiBidAdapter.json +1 -1
  992. package/metadata/modules/bucksenseBidAdapter.json +1 -1
  993. package/metadata/modules/carodaBidAdapter.json +1 -1
  994. package/metadata/modules/categoryTranslation.json +1 -1
  995. package/metadata/modules/ccxBidAdapter.json +1 -1
  996. package/metadata/modules/ceeIdSystem.json +1 -1
  997. package/metadata/modules/chromeAiRtdProvider.json +1 -1
  998. package/metadata/modules/compassBidAdapter.json +1 -1
  999. package/metadata/modules/conceptxBidAdapter.json +1 -1
  1000. package/metadata/modules/connatixBidAdapter.json +1 -1
  1001. package/metadata/modules/connectIdSystem.json +1 -1
  1002. package/metadata/modules/connectadBidAdapter.json +1 -1
  1003. package/metadata/modules/contentexchangeBidAdapter.json +1 -1
  1004. package/metadata/modules/conversantBidAdapter.json +1 -1
  1005. package/metadata/modules/copper6sspBidAdapter.json +1 -1
  1006. package/metadata/modules/cpmstarBidAdapter.json +1 -1
  1007. package/metadata/modules/criteoBidAdapter.json +1 -1
  1008. package/metadata/modules/criteoIdSystem.json +1 -1
  1009. package/metadata/modules/cwireBidAdapter.json +1 -1
  1010. package/metadata/modules/czechAdIdSystem.json +1 -1
  1011. package/metadata/modules/dailymotionBidAdapter.json +1 -1
  1012. package/metadata/modules/debugging.json +1 -1
  1013. package/metadata/modules/deepintentBidAdapter.json +1 -1
  1014. package/metadata/modules/deltaprojectsBidAdapter.json +1 -1
  1015. package/metadata/modules/dianomiBidAdapter.json +1 -1
  1016. package/metadata/modules/digitalMatterBidAdapter.json +1 -1
  1017. package/metadata/modules/distroscaleBidAdapter.json +1 -1
  1018. package/metadata/modules/docereeAdManagerBidAdapter.json +1 -1
  1019. package/metadata/modules/docereeBidAdapter.json +1 -1
  1020. package/metadata/modules/dspxBidAdapter.json +1 -1
  1021. package/metadata/modules/e_volutionBidAdapter.json +1 -1
  1022. package/metadata/modules/edge226BidAdapter.json +1 -1
  1023. package/metadata/modules/equativBidAdapter.json +1 -1
  1024. package/metadata/modules/eskimiBidAdapter.json +1 -1
  1025. package/metadata/modules/etargetBidAdapter.json +1 -1
  1026. package/metadata/modules/euidIdSystem.json +1 -1
  1027. package/metadata/modules/exadsBidAdapter.json +1 -1
  1028. package/metadata/modules/feedadBidAdapter.json +1 -1
  1029. package/metadata/modules/fwsspBidAdapter.json +1 -1
  1030. package/metadata/modules/gamoshiBidAdapter.json +1 -1
  1031. package/metadata/modules/glomexBidAdapter.json +1 -1
  1032. package/metadata/modules/goldbachBidAdapter.json +1 -1
  1033. package/metadata/modules/greenbidsBidAdapter.json +1 -1
  1034. package/metadata/modules/gridBidAdapter.json +1 -1
  1035. package/metadata/modules/gumgumBidAdapter.json +1 -1
  1036. package/metadata/modules/hadronIdSystem.json +1 -1
  1037. package/metadata/modules/hadronRtdProvider.json +1 -1
  1038. package/metadata/modules/holidBidAdapter.json +1 -1
  1039. package/metadata/modules/hybridBidAdapter.json +1 -1
  1040. package/metadata/modules/id5IdSystem.json +1 -1
  1041. package/metadata/modules/identityLinkIdSystem.json +1 -1
  1042. package/metadata/modules/illuminBidAdapter.json +1 -1
  1043. package/metadata/modules/impactifyBidAdapter.json +1 -1
  1044. package/metadata/modules/improvedigitalBidAdapter.json +1 -1
  1045. package/metadata/modules/inmobiBidAdapter.json +1 -1
  1046. package/metadata/modules/innityBidAdapter.json +1 -1
  1047. package/metadata/modules/insticatorBidAdapter.json +1 -1
  1048. package/metadata/modules/intentIqIdSystem.json +1 -1
  1049. package/metadata/modules/invibesBidAdapter.json +1 -1
  1050. package/metadata/modules/ipromBidAdapter.json +1 -1
  1051. package/metadata/modules/ixBidAdapter.json +1 -1
  1052. package/metadata/modules/justIdSystem.json +1 -1
  1053. package/metadata/modules/justpremiumBidAdapter.json +1 -1
  1054. package/metadata/modules/jwplayerBidAdapter.json +1 -1
  1055. package/metadata/modules/kargoBidAdapter.json +1 -1
  1056. package/metadata/modules/kueezRtbBidAdapter.json +1 -1
  1057. package/metadata/modules/limelightDigitalBidAdapter.json +2 -2
  1058. package/metadata/modules/liveIntentIdSystem.json +1 -1
  1059. package/metadata/modules/liveIntentRtdProvider.json +1 -1
  1060. package/metadata/modules/livewrappedBidAdapter.json +1 -1
  1061. package/metadata/modules/loopmeBidAdapter.json +1 -1
  1062. package/metadata/modules/lotamePanoramaIdSystem.json +1 -1
  1063. package/metadata/modules/luceadBidAdapter.json +1 -1
  1064. package/metadata/modules/luponmediaBidAdapter.json +1 -1
  1065. package/metadata/modules/madvertiseBidAdapter.json +1 -1
  1066. package/metadata/modules/marsmediaBidAdapter.json +1 -1
  1067. package/metadata/modules/mediaConsortiumBidAdapter.json +1 -1
  1068. package/metadata/modules/mediaforceBidAdapter.json +1 -1
  1069. package/metadata/modules/mediafuseBidAdapter.json +1 -1
  1070. package/metadata/modules/mediagoBidAdapter.json +1 -1
  1071. package/metadata/modules/mediakeysBidAdapter.json +1 -1
  1072. package/metadata/modules/medianetBidAdapter.json +2 -2
  1073. package/metadata/modules/mediasquareBidAdapter.json +1 -1
  1074. package/metadata/modules/mgidBidAdapter.json +1 -1
  1075. package/metadata/modules/mgidRtdProvider.json +1 -1
  1076. package/metadata/modules/mgidXBidAdapter.json +1 -1
  1077. package/metadata/modules/minutemediaBidAdapter.json +1 -1
  1078. package/metadata/modules/missenaBidAdapter.json +1 -1
  1079. package/metadata/modules/mobianRtdProvider.json +1 -1
  1080. package/metadata/modules/mobilefuseBidAdapter.json +1 -1
  1081. package/metadata/modules/mobkoiBidAdapter.json +1 -1
  1082. package/metadata/modules/mobkoiIdSystem.json +1 -1
  1083. package/metadata/modules/nativeryBidAdapter.json +1 -1
  1084. package/metadata/modules/nativoBidAdapter.json +1 -1
  1085. package/metadata/modules/newspassidBidAdapter.json +1 -1
  1086. package/metadata/modules/nextMillenniumBidAdapter.json +1 -1
  1087. package/metadata/modules/nextrollBidAdapter.json +1 -1
  1088. package/metadata/modules/nexx360BidAdapter.json +5 -5
  1089. package/metadata/modules/nobidBidAdapter.json +2 -2
  1090. package/metadata/modules/nodalsAiRtdProvider.json +1 -1
  1091. package/metadata/modules/novatiqIdSystem.json +1 -1
  1092. package/metadata/modules/oguryBidAdapter.json +1 -1
  1093. package/metadata/modules/omsBidAdapter.json +1 -1
  1094. package/metadata/modules/onetagBidAdapter.json +1 -1
  1095. package/metadata/modules/openwebBidAdapter.json +1 -1
  1096. package/metadata/modules/openxBidAdapter.json +1 -1
  1097. package/metadata/modules/operaadsBidAdapter.json +1 -1
  1098. package/metadata/modules/optidigitalBidAdapter.json +1 -1
  1099. package/metadata/modules/optoutBidAdapter.json +1 -1
  1100. package/metadata/modules/orbidderBidAdapter.json +1 -1
  1101. package/metadata/modules/outbrainBidAdapter.json +1 -1
  1102. package/metadata/modules/ozoneBidAdapter.json +1 -1
  1103. package/metadata/modules/pairIdSystem.json +1 -1
  1104. package/metadata/modules/performaxBidAdapter.json +1 -1
  1105. package/metadata/modules/pgamsspBidAdapter.json +1 -1
  1106. package/metadata/modules/pixfutureBidAdapter.json +1 -1
  1107. package/metadata/modules/playdigoBidAdapter.json +1 -1
  1108. package/metadata/modules/prebid-core.json +2 -2
  1109. package/metadata/modules/precisoBidAdapter.json +1 -1
  1110. package/metadata/modules/prismaBidAdapter.json +1 -1
  1111. package/metadata/modules/programmaticXBidAdapter.json +1 -1
  1112. package/metadata/modules/proxistoreBidAdapter.json +1 -1
  1113. package/metadata/modules/publinkIdSystem.json +1 -1
  1114. package/metadata/modules/pubmaticBidAdapter.json +1 -1
  1115. package/metadata/modules/pubmaticIdSystem.json +1 -1
  1116. package/metadata/modules/pulsepointBidAdapter.json +1 -1
  1117. package/metadata/modules/qtBidAdapter.json +1 -1
  1118. package/metadata/modules/quantcastBidAdapter.json +1 -1
  1119. package/metadata/modules/quantcastIdSystem.json +1 -1
  1120. package/metadata/modules/r2b2BidAdapter.json +1 -1
  1121. package/metadata/modules/raynRtdProvider.json +1 -1
  1122. package/metadata/modules/readpeakBidAdapter.json +1 -1
  1123. package/metadata/modules/relayBidAdapter.json +1 -1
  1124. package/metadata/modules/relevantdigitalBidAdapter.json +1 -1
  1125. package/metadata/modules/resetdigitalBidAdapter.json +1 -1
  1126. package/metadata/modules/responsiveAdsBidAdapter.json +1 -1
  1127. package/metadata/modules/retailspotBidAdapter.json +1 -1
  1128. package/metadata/modules/revcontentBidAdapter.json +1 -1
  1129. package/metadata/modules/rhythmoneBidAdapter.json +1 -1
  1130. package/metadata/modules/richaudienceBidAdapter.json +1 -1
  1131. package/metadata/modules/riseBidAdapter.json +2 -2
  1132. package/metadata/modules/rixengineBidAdapter.json +1 -1
  1133. package/metadata/modules/rtbhouseBidAdapter.json +1 -1
  1134. package/metadata/modules/rubiconBidAdapter.json +1 -1
  1135. package/metadata/modules/scatteredBidAdapter.json +1 -1
  1136. package/metadata/modules/seedingAllianceBidAdapter.json +1 -1
  1137. package/metadata/modules/seedtagBidAdapter.json +1 -1
  1138. package/metadata/modules/semantiqRtdProvider.json +1 -1
  1139. package/metadata/modules/setupadBidAdapter.json +1 -1
  1140. package/metadata/modules/sevioBidAdapter.json +1 -1
  1141. package/metadata/modules/sharedIdSystem.json +1 -1
  1142. package/metadata/modules/sharethroughBidAdapter.json +1 -1
  1143. package/metadata/modules/showheroes-bsBidAdapter.json +1 -1
  1144. package/metadata/modules/silvermobBidAdapter.json +1 -1
  1145. package/metadata/modules/sirdataRtdProvider.json +1 -1
  1146. package/metadata/modules/slimcutBidAdapter.json +1 -1
  1147. package/metadata/modules/smaatoBidAdapter.json +1 -1
  1148. package/metadata/modules/smartadserverBidAdapter.json +1 -1
  1149. package/metadata/modules/smartxBidAdapter.json +1 -1
  1150. package/metadata/modules/smartyadsBidAdapter.json +1 -1
  1151. package/metadata/modules/smilewantedBidAdapter.json +1 -1
  1152. package/metadata/modules/snigelBidAdapter.json +1 -1
  1153. package/metadata/modules/sonaradsBidAdapter.json +1 -1
  1154. package/metadata/modules/sonobiBidAdapter.json +1 -1
  1155. package/metadata/modules/sparteoBidAdapter.json +1 -1
  1156. package/metadata/modules/ssmasBidAdapter.json +1 -1
  1157. package/metadata/modules/sspBCBidAdapter.json +1 -1
  1158. package/metadata/modules/stackadaptBidAdapter.json +1 -1
  1159. package/metadata/modules/startioBidAdapter.json +1 -1
  1160. package/metadata/modules/stroeerCoreBidAdapter.json +1 -1
  1161. package/metadata/modules/stvBidAdapter.json +1 -1
  1162. package/metadata/modules/sublimeBidAdapter.json +1 -1
  1163. package/metadata/modules/taboolaBidAdapter.json +1 -1
  1164. package/metadata/modules/taboolaIdSystem.json +1 -1
  1165. package/metadata/modules/tappxBidAdapter.json +1 -1
  1166. package/metadata/modules/targetVideoBidAdapter.json +1 -1
  1167. package/metadata/modules/teadsBidAdapter.json +1 -1
  1168. package/metadata/modules/teadsIdSystem.json +1 -1
  1169. package/metadata/modules/tealBidAdapter.json +1 -1
  1170. package/metadata/modules/tncIdSystem.json +1 -1
  1171. package/metadata/modules/topicsFpdModule.json +1 -1
  1172. package/metadata/modules/tripleliftBidAdapter.json +1 -1
  1173. package/metadata/modules/ttdBidAdapter.json +1 -1
  1174. package/metadata/modules/twistDigitalBidAdapter.json +1 -1
  1175. package/metadata/modules/underdogmediaBidAdapter.json +1 -1
  1176. package/metadata/modules/undertoneBidAdapter.json +1 -1
  1177. package/metadata/modules/unifiedIdSystem.json +1 -1
  1178. package/metadata/modules/unrulyBidAdapter.json +1 -1
  1179. package/metadata/modules/userId.json +1 -1
  1180. package/metadata/modules/validationFpdModule.json +1 -1
  1181. package/metadata/modules/vidazooBidAdapter.json +1 -1
  1182. package/metadata/modules/vidoomyBidAdapter.json +1 -1
  1183. package/metadata/modules/viewdeosDXBidAdapter.json +1 -1
  1184. package/metadata/modules/viouslyBidAdapter.json +1 -1
  1185. package/metadata/modules/visxBidAdapter.json +1 -1
  1186. package/metadata/modules/vlybyBidAdapter.json +1 -1
  1187. package/metadata/modules/voxBidAdapter.json +1 -1
  1188. package/metadata/modules/vrtcalBidAdapter.json +1 -1
  1189. package/metadata/modules/vuukleBidAdapter.json +1 -1
  1190. package/metadata/modules/weboramaRtdProvider.json +1 -1
  1191. package/metadata/modules/welectBidAdapter.json +1 -1
  1192. package/metadata/modules/yahooAdsBidAdapter.json +1 -1
  1193. package/metadata/modules/yieldlabBidAdapter.json +1 -1
  1194. package/metadata/modules/yieldliftBidAdapter.json +1 -1
  1195. package/metadata/modules/yieldloveBidAdapter.json +1 -1
  1196. package/metadata/modules/yieldmoBidAdapter.json +1 -1
  1197. package/metadata/modules/zeotapIdPlusIdSystem.json +1 -1
  1198. package/metadata/modules/zeta_globalBidAdapter.json +1 -1
  1199. package/metadata/modules/zeta_global_sspBidAdapter.json +1 -1
  1200. package/modules/openxBidAdapter.js +6 -1
  1201. package/modules/priceFloors.ts +2 -2
  1202. package/modules/pubmaticBidAdapter.js +21 -1
  1203. package/modules/sevioBidAdapter.js +4 -1
  1204. package/package.json +2 -3
  1205. package/src/targeting.ts +3 -3
  1206. package/test/spec/modules/liveIntentExternalIdSystem_spec.js +5 -0
  1207. package/test/spec/modules/liveIntentIdMinimalSystem_spec.js +5 -0
  1208. package/test/spec/modules/liveIntentIdSystem_spec.js +38 -0
  1209. package/test/spec/modules/openxBidAdapter_spec.js +129 -0
  1210. package/test/spec/modules/pubmaticBidAdapter_spec.js +70 -0
@@ -1 +1 @@
1
- {"version":3,"file":"openxBidAdapter_spec.js","names":["expect","spec","REQUEST_URL","SYNC_URL","DEFAULT_PH","newBidder","BANNER","NATIVE","VIDEO","config","utils","deepClone","version","addFPDToBidderRequest","hook","DEFAULT_SYNC","BidRequestBuilder","options","defaults","request","auctionId","adUnitCode","bidder","params","unit","delDomain","sizes","withParams","build","BidderRequestBuilder","bidderCode","bidderRequestId","timeout","refererInfo","numIframes","reachedTop","referer","describe","before","ready","adapter","it","callBids","to","exist","and","be","a","bannerBid","beforeEach","mediaTypes","banner","bidId","isBidRequestValid","equal","multiformatBid","video","playerSize","transactionId","videoBidWithMediaTypes","invalidVideoBidWithMediaTypes","Object","assign","videoBidWithDelDomainAndPlatform","platform","videoBidWithMediaType","invalidVideoBidWithMediaType","nativeOrtbRequest","assets","id","required","title","len","nativeBidWithMediaTypes","native","ortb","invalidNativeBidWithMediaTypes","nativeBidWithDelDomainAndPlatform","bidRequestsWithMediaTypes","mockBidderRequest","nativeBidRequest","ortb2Imp","ext","ae","context","multiformat","requests","buildRequests","have","length","data","imp","not","url","method","pv","platformId","undefined","tagid","bidRequest","customParams","bids","customFloor","bidfloor","bidfloorcur","adServerCurrencyStub","sinon","stub","withArgs","afterEach","getConfig","restore","getFloor","currency","floor","returns","bidRequests","site","domain","cat","sectioncat","deep","user","yob","hasOwnProperty","property","pbadslot","adSlotValue","adserver","name","adslot","other","bidderRequestWithUserAgentClientHints","ortb2","device","sua","source","brand","browsers","mobile","model","bitness","architecture","bidderRequestWithoutUserAgentClientHints","mockConfig","bidderRequest","uspConsent","callsFake","key","deepAccess","regs","us_privacy","gdprConsent","consentString","addtlConsent","gdprApplies","consentManagement","cmpApi","allowAuctionWithoutConsent","gdpr","consent","ConsentedProvidersSettings","consented_providers","ok","coppa","after","doNotTrackStub","dnt","schainConfig","supplyChainNodePropertyOrder","ver","complete","nodes","asi","sid","hp","rid","schain","eids","uids","atype","rtiPartner","third","eql","any","keys","paapi","enabled","bid01","mimes","protocols","skip","skipafter","minduration","maxduration","expected","w","h","lengthOf","bidRequestConfigs","bidResponse","bid","response","nbr","interpretResponse","body","SAMPLE_BID_REQUESTS","SAMPLE_BID_RESPONSE","seatbid","impid","price","crid","dealid","adm","mtype","adomain","dsp_id","buyer_id","brand_id","cur","cpm","requestId","width","height","creativeId","ad","dealId","ttl","netRevenue","meta","brandId","networkId","advertiserId","advertiserDomains","mediaType","winUrl","nurl","vastUrl","size","text","link","eventtrackers","event","fledge_auction_configs","seller","interestGroupBuyers","sellerTimeout","perBuyerSignals","base_bid_micros","disallowed_advertiser_ids","multiplier","use_bid_multiplier","win_reporting_id","auctionConfig","include","auctionSignals","topframe","format","map","_ref","divid","secure","syncs","getUserSyncs","pixelEnabled","type","iframeEnabled","gdprPixelUrl","string","usPrivacyConsent","uspPixelUrl","privacyString"],"sourceRoot":"../../../../..","sources":["test/spec/modules/openxBidAdapter_spec.js"],"sourcesContent":["import {expect} from 'chai';\nimport {spec, REQUEST_URL, SYNC_URL, DEFAULT_PH} from 'modules/openxBidAdapter.js';\nimport {newBidder} from 'src/adapters/bidderFactory.js';\nimport {BANNER, NATIVE, VIDEO} from 'src/mediaTypes.js';\nimport {config} from 'src/config.js';\nimport * as utils from 'src/utils.js';\n// load modules that register ORTB processors\nimport 'src/prebid.js'\nimport 'modules/currency.js';\nimport 'modules/userId/index.js';\nimport 'modules/multibid/index.js';\nimport 'modules/priceFloors.js';\nimport 'modules/consentManagementTcf.js';\nimport 'modules/consentManagementUsp.js';\nimport 'modules/paapi.js';\n\nimport {deepClone} from 'src/utils.js';\nimport {version} from 'package.json';\nimport {addFPDToBidderRequest} from '../../helpers/fpd.js';\nimport {hook} from '../../../src/hook.js';\nconst DEFAULT_SYNC = SYNC_URL + '?ph=' + DEFAULT_PH;\n\nconst BidRequestBuilder = function BidRequestBuilder(options) {\n const defaults = {\n request: {\n auctionId: '4fd1ca2d-846c-4211-b9e5-321dfe1709c9',\n adUnitCode: 'adunit-code',\n bidder: 'openx'\n },\n params: {\n unit: '12345678',\n delDomain: 'test-del-domain'\n },\n sizes: [[300, 250], [300, 600]],\n };\n\n const request = {\n ...defaults.request,\n ...options\n };\n\n this.withParams = (options) => {\n request.params = {\n ...defaults.params,\n ...options\n };\n return this;\n };\n\n this.build = () => request;\n};\n\nconst BidderRequestBuilder = function BidderRequestBuilder(options) {\n const defaults = {\n bidderCode: 'openx',\n auctionId: '4fd1ca2d-846c-4211-b9e5-321dfe1709c9',\n bidderRequestId: '7g36s867Tr4xF90X',\n timeout: 3000,\n refererInfo: {\n numIframes: 0,\n reachedTop: true,\n referer: 'http://test.io/index.html?pbjs_debug=true'\n }\n };\n\n const request = {\n ...defaults,\n ...options\n };\n\n this.build = () => request;\n};\n\ndescribe('OpenxRtbAdapter', function () {\n before(() => {\n hook.ready();\n });\n\n const adapter = newBidder(spec);\n\n describe('inherited functions', function () {\n it('exists and is a function', function () {\n expect(adapter.callBids).to.exist.and.to.be.a('function');\n });\n });\n\n describe('isBidRequestValid()', function () {\n describe('when request is for a banner ad', function () {\n let bannerBid;\n beforeEach(function () {\n bannerBid = {\n bidder: 'openx',\n params: {},\n adUnitCode: 'adunit-code',\n mediaTypes: {banner: {}},\n sizes: [[300, 250], [300, 600]],\n bidId: '30b31c1838de1e',\n bidderRequestId: '22edbae2733bf6',\n auctionId: '1d1a030790a475'\n };\n });\n\n it('should return false when there is no delivery domain', function () {\n bannerBid.params = {'unit': '12345678'};\n expect(spec.isBidRequestValid(bannerBid)).to.equal(false);\n });\n\n describe('when there is a delivery domain', function () {\n beforeEach(function () {\n bannerBid.params = {delDomain: 'test-delivery-domain'}\n });\n\n it('should return false when there is no ad unit id and size', function () {\n expect(spec.isBidRequestValid(bannerBid)).to.equal(false);\n });\n\n it('should return true if there is an adunit id ', function () {\n bannerBid.params.unit = '12345678';\n expect(spec.isBidRequestValid(bannerBid)).to.equal(true);\n });\n\n it('should return true if there is no adunit id and sizes are defined', function () {\n bannerBid.mediaTypes.banner.sizes = [720, 90];\n expect(spec.isBidRequestValid(bannerBid)).to.equal(true);\n });\n\n it('should return false if no sizes are defined ', function () {\n expect(spec.isBidRequestValid(bannerBid)).to.equal(false);\n });\n\n it('should return false if sizes empty ', function () {\n bannerBid.mediaTypes.banner.sizes = [];\n expect(spec.isBidRequestValid(bannerBid)).to.equal(false);\n });\n });\n });\n\n describe('when request is for a multiformat ad', function () {\n describe('and request config uses mediaTypes video and banner', () => {\n const multiformatBid = {\n bidder: 'openx',\n params: {\n unit: '12345678',\n delDomain: 'test-del-domain'\n },\n adUnitCode: 'adunit-code',\n mediaTypes: {\n banner: {\n sizes: [[300, 250]]\n },\n video: {\n playerSize: [300, 250]\n }\n },\n bidId: '30b31c1838de1e',\n bidderRequestId: '22edbae2733bf6',\n auctionId: '1d1a030790a475',\n transactionId: '4008d88a-8137-410b-aa35-fbfdabcb478e'\n };\n it('should return true multisize when required params found', function () {\n expect(spec.isBidRequestValid(multiformatBid)).to.equal(true);\n });\n });\n });\n\n describe('when request is for a video ad', function () {\n describe('and request config uses mediaTypes', () => {\n const videoBidWithMediaTypes = {\n bidder: 'openx',\n params: {\n unit: '12345678',\n delDomain: 'test-del-domain'\n },\n adUnitCode: 'adunit-code',\n mediaTypes: {\n video: {\n playerSize: [640, 480]\n }\n },\n bidId: '30b31c1838de1e',\n bidderRequestId: '22edbae2733bf6',\n auctionId: '1d1a030790a475',\n transactionId: '4008d88a-8137-410b-aa35-fbfdabcb478e'\n };\n it('should return true when required params found', function () {\n expect(spec.isBidRequestValid(videoBidWithMediaTypes)).to.equal(true);\n });\n\n it('should return false when required params are not passed', function () {\n const invalidVideoBidWithMediaTypes = Object.assign({}, videoBidWithMediaTypes);\n invalidVideoBidWithMediaTypes.params = {};\n expect(spec.isBidRequestValid(invalidVideoBidWithMediaTypes)).to.equal(false);\n });\n });\n describe('and request config uses both delDomain and platform', () => {\n const videoBidWithDelDomainAndPlatform = {\n bidder: 'openx',\n params: {\n unit: '12345678',\n delDomain: 'test-del-domain',\n platform: '1cabba9e-cafe-3665-beef-f00f00f00f00'\n },\n adUnitCode: 'adunit-code',\n mediaTypes: {\n video: {\n playerSize: [640, 480]\n }\n },\n bidId: '30b31c1838de1e',\n bidderRequestId: '22edbae2733bf6',\n auctionId: '1d1a030790a475',\n transactionId: '4008d88a-8137-410b-aa35-fbfdabcb478e'\n };\n it('should return true when required params found', function () {\n expect(spec.isBidRequestValid(videoBidWithDelDomainAndPlatform)).to.equal(true);\n });\n\n it('should return false when required params are not passed', function () {\n const invalidVideoBidWithMediaTypes = Object.assign({}, videoBidWithDelDomainAndPlatform);\n invalidVideoBidWithMediaTypes.params = {};\n expect(spec.isBidRequestValid(invalidVideoBidWithMediaTypes)).to.equal(false);\n });\n });\n describe('and request config uses mediaType', () => {\n const videoBidWithMediaType = {\n 'bidder': 'openx',\n 'params': {\n 'unit': '12345678',\n 'delDomain': 'test-del-domain'\n },\n 'adUnitCode': 'adunit-code',\n 'mediaType': 'video',\n 'sizes': [640, 480],\n 'bidId': '30b31c1838de1e',\n 'bidderRequestId': '22edbae2733bf6',\n 'auctionId': '1d1a030790a475',\n 'transactionId': '4008d88a-8137-410b-aa35-fbfdabcb478e'\n };\n it('should return true when required params found', function () {\n expect(spec.isBidRequestValid(videoBidWithMediaType)).to.equal(true);\n });\n\n it('should return false when required params are not passed', function () {\n const invalidVideoBidWithMediaType = Object.assign({}, videoBidWithMediaType);\n delete invalidVideoBidWithMediaType.params;\n invalidVideoBidWithMediaType.params = {};\n expect(spec.isBidRequestValid(invalidVideoBidWithMediaType)).to.equal(false);\n });\n });\n });\n\n describe('when request is for a native ad', function () {\n const nativeOrtbRequest = {\n assets: [{\n id: 1,\n required: 1,\n title: {\n len: 80\n }\n }]\n }\n describe('and request config uses mediaTypes', () => {\n const nativeBidWithMediaTypes = {\n bidder: 'openx',\n params: {\n unit: '12345678',\n delDomain: 'test-del-domain'\n },\n adUnitCode: 'adunit-code',\n mediaTypes: {\n native: {\n ortb: {\n ...nativeOrtbRequest\n }\n }\n },\n nativeOrtbRequest,\n bidId: '30b31c1838de1e',\n bidderRequestId: '22edbae2733bf6',\n auctionId: '1d1a030790a475',\n transactionId: '4008d88a-8137-410b-aa35-fbfdabcb478e'\n };\n\n it('should return true when required params found', function () {\n expect(spec.isBidRequestValid(nativeBidWithMediaTypes)).to.equal(true);\n });\n\n it('should return false when required params are not passed', function () {\n const invalidNativeBidWithMediaTypes = Object.assign({}, nativeBidWithMediaTypes);\n invalidNativeBidWithMediaTypes.params = {};\n expect(spec.isBidRequestValid(invalidNativeBidWithMediaTypes)).to.equal(false);\n });\n });\n\n describe('and request config uses both delDomain and platform', () => {\n const nativeBidWithDelDomainAndPlatform = {\n bidder: 'openx',\n params: {\n unit: '12345678',\n delDomain: 'test-del-domain',\n platform: '1cabba9e-cafe-3665-beef-f00f00f00f00'\n },\n adUnitCode: 'adunit-code',\n mediaTypes: {\n native: {\n ortb: {\n ...nativeOrtbRequest\n }\n }\n },\n nativeOrtbRequest,\n bidId: '30b31c1838de1e',\n bidderRequestId: '22edbae2733bf6',\n auctionId: '1d1a030790a475',\n transactionId: '4008d88a-8137-410b-aa35-fbfdabcb478e'\n };\n\n it('should return true when required params found', function () {\n expect(spec.isBidRequestValid(nativeBidWithDelDomainAndPlatform)).to.equal(true);\n });\n\n it('should return false when required params are not passed', function () {\n const invalidNativeBidWithMediaTypes = Object.assign({}, nativeBidWithDelDomainAndPlatform);\n invalidNativeBidWithMediaTypes.params = {};\n expect(spec.isBidRequestValid(invalidNativeBidWithMediaTypes)).to.equal(false);\n });\n });\n });\n });\n\n describe('buildRequests()', function () {\n let bidRequestsWithMediaTypes;\n let mockBidderRequest;\n const nativeOrtbRequest = {\n assets: [{\n id: 1,\n required: 1,\n title: {\n len: 80\n }\n }]\n };\n const nativeBidRequest = {\n bidder: 'openx',\n params: {\n unit: '33',\n delDomain: 'test-del-domain',\n platform: '1cabba9e-cafe-3665-beef-f00f00f00f00',\n },\n adUnitCode: 'adunit-code',\n mediaTypes: {\n native: {\n ortb: {\n ...nativeOrtbRequest\n }\n }\n },\n nativeOrtbRequest,\n bidId: 'test-bid-id-3',\n bidderRequestId: 'test-bid-request-3',\n auctionId: 'test-auction-3',\n transactionId: 'test-transactionId-3'\n };\n\n beforeEach(function () {\n mockBidderRequest = {refererInfo: {}};\n\n bidRequestsWithMediaTypes = [{\n bidder: 'openx',\n params: {\n unit: '11',\n delDomain: 'test-del-domain',\n platform: '1cabba9e-cafe-3665-beef-f00f00f00f00',\n },\n adUnitCode: '/adunit-code/test-path',\n mediaTypes: {\n banner: {\n sizes: [[300, 250], [300, 600]]\n }\n },\n bidId: 'test-bid-id-1',\n bidderRequestId: 'test-bid-request-1',\n auctionId: 'test-auction-1',\n transactionId: 'test-transactionId-1',\n ortb2Imp: {\n ext: {\n ae: 2\n }\n }\n }, {\n bidder: 'openx',\n params: {\n unit: '22',\n delDomain: 'test-del-domain',\n platform: '1cabba9e-cafe-3665-beef-f00f00f00f00',\n },\n adUnitCode: 'adunit-code',\n mediaTypes: {\n video: {\n playerSize: [640, 480]\n }\n },\n bidId: 'test-bid-id-2',\n bidderRequestId: 'test-bid-request-2',\n auctionId: 'test-auction-2',\n transactionId: 'test-transactionId-2'\n }];\n });\n\n context('common requests checks', function() {\n it('should be able to handle multiformat request - banner + video', () => {\n const multiformat = utils.deepClone(bidRequestsWithMediaTypes[0]);\n multiformat.mediaTypes.video = {\n context: 'outstream',\n playerSize: [640, 480]\n };\n const requests = spec.buildRequests([multiformat], mockBidderRequest);\n expect(requests).to.have.length(2);\n expect(requests[0].data.imp).to.have.length(1);\n expect(requests[0].data.imp[0].banner).to.exist;\n expect(requests[0].data.imp[0].video).to.not.exist;\n expect(requests[0].data.imp[0].native).to.not.exist;\n expect(requests[1].data.imp).to.have.length(1);\n expect(requests[1].data.imp[0].banner).to.not.exist;\n expect(requests[1].data.imp[0].native).to.not.exist;\n if (FEATURES.VIDEO) {\n expect(requests[1].data.imp[0].video).to.exist;\n }\n })\n\n it('should be able to handle multiformat request - banner + native', () => {\n const multiformat = utils.deepClone(nativeBidRequest);\n multiformat.mediaTypes.banner = {\n sizes: [[300, 250], [300, 600]]\n }\n const requests = spec.buildRequests([multiformat], mockBidderRequest);\n expect(requests).to.have.length(1);\n expect(requests[0].data.imp).to.have.length(1);\n expect(requests[0].data.imp[0].banner).to.exist;\n expect(requests[0].data.imp[0].video).to.not.exist;\n if (FEATURES.NATIVE) {\n expect(requests[0].data.imp[0].native).to.exist;\n }\n })\n\n it('should be able to handle multiformat request - banner + video + native', () => {\n const multiformat = utils.deepClone(nativeBidRequest);\n multiformat.mediaTypes.video = {\n context: 'outstream',\n playerSize: [640, 480]\n };\n multiformat.mediaTypes.banner = {\n sizes: [[300, 250]]\n }\n const requests = spec.buildRequests([multiformat], mockBidderRequest);\n expect(requests).to.have.length(2);\n expect(requests[0].data.imp).to.have.length(1);\n expect(requests[0].data.imp[0].banner).to.exist;\n expect(requests[0].data.imp[0].video).to.not.exist;\n if (FEATURES.NATIVE) {\n expect(requests[0].data.imp[0].native).to.exist;\n }\n expect(requests[1].data.imp).to.have.length(1);\n expect(requests[1].data.imp[0].banner).to.not.exist;\n expect(requests[1].data.imp[0].native).to.not.exist;\n if (FEATURES.VIDEO) {\n expect(requests[1].data.imp[0].video).to.exist;\n }\n })\n\n it('should send bid request to openx url via POST', function () {\n const request = spec.buildRequests(bidRequestsWithMediaTypes, mockBidderRequest);\n expect(request[0].url).to.equal(REQUEST_URL);\n expect(request[0].method).to.equal('POST');\n expect(request[0].data.ext.pv).to.equal(version);\n });\n\n it('should send delivery domain, if available', function () {\n const request = spec.buildRequests(bidRequestsWithMediaTypes, mockBidderRequest);\n expect(request[0].data.ext.delDomain).to.equal(bidRequestsWithMediaTypes[0].params.delDomain);\n expect(request[0].data.ext.platformId).to.be.undefined;\n });\n\n it('should send platform id, if available', function () {\n bidRequestsWithMediaTypes[0].params.platform = '1cabba9e-cafe-3665-beef-f00f00f00f00';\n bidRequestsWithMediaTypes[1].params.platform = '51ca3159-abc2-4035-8e00-fe26eaa09397';\n\n const request = spec.buildRequests(bidRequestsWithMediaTypes, mockBidderRequest);\n expect(request[0].data.ext.platform).to.equal(bidRequestsWithMediaTypes[0].params.platform);\n expect(request[1].data.ext.platform).to.equal(bidRequestsWithMediaTypes[1].params.platform);\n });\n\n it('should send openx adunit codes', function () {\n const request = spec.buildRequests(bidRequestsWithMediaTypes, mockBidderRequest);\n expect(request[0].data.imp[0].tagid).to.equal(bidRequestsWithMediaTypes[0].params.unit);\n expect(request[1].data.imp[0].tagid).to.equal(bidRequestsWithMediaTypes[1].params.unit);\n });\n\n it('should send out custom params on bids that have customParams specified', function () {\n const bidRequest = Object.assign({},\n bidRequestsWithMediaTypes[0],\n {\n params: {\n unit: '12345678',\n delDomain: 'test-del-domain',\n customParams: {'Test1': 'testval1+', 'test2': ['testval2/', 'testval3']}\n }\n }\n );\n\n mockBidderRequest.bids = [bidRequest];\n const request = spec.buildRequests([bidRequest], mockBidderRequest);\n expect(request[0].data.imp[0].ext.customParams).to.equal(bidRequest.params.customParams);\n })\n\n describe('floors', function () {\n it('should send out custom floors on bids that have customFloors, no currency as account currency is used', function () {\n const bidRequest = Object.assign({},\n bidRequestsWithMediaTypes[0],\n {\n params: {\n unit: '12345678',\n delDomain: 'test-del-domain',\n customFloor: 1.500\n }\n }\n );\n\n const request = spec.buildRequests([bidRequest], mockBidderRequest);\n expect(request[0].data.imp[0].bidfloor).to.equal(bidRequest.params.customFloor);\n expect(request[0].data.imp[0].bidfloorcur).to.equal(undefined);\n });\n\n context('with floors module', function () {\n let adServerCurrencyStub;\n\n beforeEach(function () {\n adServerCurrencyStub = sinon\n .stub(config, 'getConfig')\n .withArgs('currency.adServerCurrency')\n });\n\n afterEach(function () {\n config.getConfig.restore();\n });\n\n it('should send out floors on bids in USD', function () {\n const bidRequest = Object.assign({},\n bidRequestsWithMediaTypes[0],\n {\n getFloor: () => {\n return {\n currency: 'USD',\n floor: 9.99\n }\n }\n }\n );\n\n const request = spec.buildRequests([bidRequest], mockBidderRequest);\n expect(request[0].data.imp[0].bidfloor).to.equal(9.99);\n expect(request[0].data.imp[0].bidfloorcur).to.equal('USD');\n });\n\n it('should send not send floors', function () {\n adServerCurrencyStub.returns('EUR');\n const bidRequest = Object.assign({},\n bidRequestsWithMediaTypes[0],\n {\n getFloor: () => {\n return {\n currency: 'BTC',\n floor: 9.99\n }\n }\n }\n );\n\n const request = spec.buildRequests([bidRequest], mockBidderRequest);\n expect(request[0].data.imp[0].bidfloor).to.equal(undefined)\n expect(request[0].data.imp[0].bidfloorcur).to.equal(undefined)\n });\n })\n })\n\n describe('FPD', function() {\n let bidRequests;\n const mockBidderRequest = {refererInfo: {}};\n\n beforeEach(function () {\n bidRequests = [{\n bidder: 'openx',\n params: {\n unit: '12345678-banner',\n delDomain: 'test-del-domain'\n },\n adUnitCode: 'adunit-code',\n mediaTypes: {\n banner: {\n sizes: [[300, 250], [300, 600]]\n }\n },\n bidId: 'test-bid-id',\n bidderRequestId: 'test-bidder-request-id',\n auctionId: 'test-auction-id',\n transactionId: 'test-transaction-id-1'\n }, {\n bidder: 'openx',\n mediaTypes: {\n video: {\n playerSize: [640, 480]\n }\n },\n params: {\n unit: '12345678-video',\n delDomain: 'test-del-domain'\n },\n 'adUnitCode': 'adunit-code',\n\n bidId: 'test-bid-id',\n bidderRequestId: 'test-bidder-request-id',\n auctionId: 'test-auction-id',\n transactionId: 'test-transaction-id-2'\n }];\n });\n\n it('ortb2.site should be merged in the request', function() {\n const request = spec.buildRequests(bidRequests, {\n ...mockBidderRequest,\n 'ortb2': {\n site: {\n domain: 'page.example.com',\n cat: ['IAB2'],\n sectioncat: ['IAB2-2']\n }\n }\n });\n const data = request[0].data;\n expect(data.site.domain).to.equal('page.example.com');\n expect(data.site.cat).to.deep.equal(['IAB2']);\n expect(data.site.sectioncat).to.deep.equal(['IAB2-2']);\n });\n\n it('ortb2.user should be merged in the request', function() {\n const request = spec.buildRequests(bidRequests, {\n ...mockBidderRequest,\n 'ortb2': {\n user: {\n yob: 1985\n }\n }\n });\n const data = request[0].data;\n expect(data.user.yob).to.equal(1985);\n });\n\n describe('ortb2Imp', function() {\n describe('ortb2Imp.ext.data.pbadslot', function() {\n beforeEach(function () {\n if (bidRequests[0].hasOwnProperty('ortb2Imp')) {\n delete bidRequests[0].ortb2Imp;\n }\n });\n\n it('should not send if imp[].ext.data object is invalid', function() {\n bidRequests[0].ortb2Imp = {\n ext: {}\n };\n const request = spec.buildRequests(bidRequests, mockBidderRequest);\n const data = request[0].data;\n expect(data.imp[0].ext).to.not.have.property('data');\n });\n\n it('should not send if imp[].ext.data.pbadslot is undefined', function() {\n bidRequests[0].ortb2Imp = {\n ext: {\n data: {\n }\n }\n };\n const request = spec.buildRequests(bidRequests, mockBidderRequest);\n const data = request[0].data;\n if (data.imp[0].ext.data) {\n expect(data.imp[0].ext.data).to.not.have.property('pbadslot');\n } else {\n expect(data.imp[0].ext).to.not.have.property('data');\n }\n });\n\n it('should send if imp[].ext.data.pbadslot is string', function() {\n bidRequests[0].ortb2Imp = {\n ext: {\n data: {\n pbadslot: 'abcd'\n }\n }\n };\n const request = spec.buildRequests(bidRequests, mockBidderRequest);\n const data = request[0].data;\n expect(data.imp[0].ext.data).to.have.property('pbadslot');\n expect(data.imp[0].ext.data.pbadslot).to.equal('abcd');\n });\n });\n\n describe('ortb2Imp.ext.data.adserver', function() {\n beforeEach(function () {\n if (bidRequests[0].hasOwnProperty('ortb2Imp')) {\n delete bidRequests[0].ortb2Imp;\n }\n });\n\n it('should not send if imp[].ext.data object is invalid', function() {\n bidRequests[0].ortb2Imp = {\n ext: {}\n };\n const request = spec.buildRequests(bidRequests, mockBidderRequest);\n const data = request[0].data;\n expect(data.imp[0].ext).to.not.have.property('data');\n });\n\n it('should not send if imp[].ext.data.adserver is undefined', function() {\n bidRequests[0].ortb2Imp = {\n ext: {\n data: {\n }\n }\n };\n const request = spec.buildRequests(bidRequests, mockBidderRequest);\n const data = request[0].data;\n if (data.imp[0].ext.data) {\n expect(data.imp[0].ext.data).to.not.have.property('adserver');\n } else {\n expect(data.imp[0].ext).to.not.have.property('data');\n }\n });\n\n it('should send', function() {\n const adSlotValue = 'abc';\n bidRequests[0].ortb2Imp = {\n ext: {\n data: {\n adserver: {\n name: 'GAM',\n adslot: adSlotValue\n }\n }\n }\n };\n const request = spec.buildRequests(bidRequests, mockBidderRequest);\n const data = request[0].data;\n expect(data.imp[0].ext.data.adserver.name).to.equal('GAM');\n expect(data.imp[0].ext.data.adserver.adslot).to.equal(adSlotValue);\n });\n });\n\n describe('ortb2Imp.ext.data.other', function() {\n beforeEach(function () {\n if (bidRequests[0].hasOwnProperty('ortb2Imp')) {\n delete bidRequests[0].ortb2Imp;\n }\n });\n\n it('should not send if imp[].ext.data object is invalid', function() {\n bidRequests[0].ortb2Imp = {\n ext: {}\n };\n const request = spec.buildRequests(bidRequests, mockBidderRequest);\n const data = request[0].data;\n expect(data.imp[0].ext).to.not.have.property('data');\n });\n\n it('should not send if imp[].ext.data.other is undefined', function() {\n bidRequests[0].ortb2Imp = {\n ext: {\n data: {\n }\n }\n };\n const request = spec.buildRequests(bidRequests, mockBidderRequest);\n const data = request[0].data;\n if (data.imp[0].ext.data) {\n expect(data.imp[0].ext.data).to.not.have.property('other');\n } else {\n expect(data.imp[0].ext).to.not.have.property('data');\n }\n });\n\n it('ortb2Imp.ext.data.other', function() {\n bidRequests[0].ortb2Imp = {\n ext: {\n data: {\n other: 1234\n }\n }\n };\n const request = spec.buildRequests(bidRequests, mockBidderRequest);\n const data = request[0].data;\n expect(data.imp[0].ext.data.other).to.equal(1234);\n });\n });\n });\n\n describe('with user agent client hints', function () {\n it('should add device.sua if available', function () {\n const bidderRequestWithUserAgentClientHints = { refererInfo: {},\n ortb2: {\n device: {\n sua: {\n source: 2,\n platform: {\n brand: 'macOS',\n version: [ '12', '4', '0' ]\n },\n browsers: [\n {\n brand: 'Chromium',\n version: [ '106', '0', '5249', '119' ]\n },\n {\n brand: 'Google Chrome',\n version: [ '106', '0', '5249', '119' ]\n },\n {\n brand: 'Not;A=Brand',\n version: [ '99', '0', '0', '0' ]\n }],\n mobile: 0,\n model: 'Pro',\n bitness: '64',\n architecture: 'x86'\n }\n }\n }};\n\n let request = spec.buildRequests(bidRequests, bidderRequestWithUserAgentClientHints);\n expect(request[0].data.device.sua).to.exist;\n expect(request[0].data.device.sua).to.deep.equal(bidderRequestWithUserAgentClientHints.ortb2.device.sua);\n const bidderRequestWithoutUserAgentClientHints = {refererInfo: {}, ortb2: {}};\n request = spec.buildRequests(bidRequests, bidderRequestWithoutUserAgentClientHints);\n expect(request[0].data.device?.sua).to.not.exist;\n });\n });\n });\n\n context('when there is a consent management framework', function () {\n let bidRequests;\n let mockConfig;\n let bidderRequest;\n\n beforeEach(function () {\n bidRequests = [{\n bidder: 'openx',\n params: {\n unit: '12345678-banner',\n delDomain: 'test-del-domain'\n },\n adUnitCode: 'adunit-code',\n mediaTypes: {\n banner: {\n sizes: [[300, 250], [300, 600]]\n }\n },\n bidId: 'test-bid-id',\n bidderRequestId: 'test-bidder-request-id',\n auctionId: 'test-auction-id',\n transactionId: 'test-transaction-id-1'\n }, {\n bidder: 'openx',\n mediaTypes: {\n video: {\n playerSize: [640, 480]\n }\n },\n params: {\n unit: '12345678-video',\n delDomain: 'test-del-domain'\n },\n 'adUnitCode': 'adunit-code',\n\n bidId: 'test-bid-id',\n bidderRequestId: 'test-bidder-request-id',\n auctionId: 'test-auction-id',\n transactionId: 'test-transaction-id-2'\n }];\n });\n\n describe('us_privacy', function () {\n beforeEach(function () {\n bidderRequest = {\n uspConsent: '1YYN',\n refererInfo: {}\n };\n\n sinon.stub(config, 'getConfig').callsFake((key) => {\n return utils.deepAccess(mockConfig, key);\n });\n });\n\n afterEach(function () {\n config.getConfig.restore();\n });\n\n it('should send a signal to specify that US Privacy applies to this request', async function () {\n const request = spec.buildRequests(bidRequests, await addFPDToBidderRequest(bidderRequest));\n expect(request[0].data.regs.ext.us_privacy).to.equal('1YYN');\n expect(request[1].data.regs.ext.us_privacy).to.equal('1YYN');\n });\n\n it('should not send the regs object, when consent string is undefined', async function () {\n delete bidderRequest.uspConsent;\n const request = spec.buildRequests(bidRequests, await addFPDToBidderRequest(bidderRequest));\n expect(request[0].data.regs?.us_privacy).to.not.exist;\n });\n });\n\n describe('GDPR', function () {\n beforeEach(function () {\n bidderRequest = {\n gdprConsent: {\n consentString: 'test-gdpr-consent-string',\n addtlConsent: 'test-addtl-consent-string',\n gdprApplies: true\n },\n refererInfo: {}\n };\n\n mockConfig = {\n consentManagement: {\n cmpApi: 'iab',\n timeout: 1111,\n allowAuctionWithoutConsent: 'cancel'\n }\n };\n\n sinon.stub(config, 'getConfig').callsFake((key) => {\n return utils.deepAccess(mockConfig, key);\n });\n });\n\n afterEach(function () {\n config.getConfig.restore();\n });\n\n it('should send a signal to specify that GDPR applies to this request', async function () {\n bidderRequest.bids = bidRequests;\n const request = spec.buildRequests(bidRequests, await addFPDToBidderRequest(bidderRequest));\n expect(request[0].data.regs.ext.gdpr).to.equal(1);\n expect(request[1].data.regs.ext.gdpr).to.equal(1);\n });\n\n it('should send the consent string', async function () {\n bidderRequest.bids = bidRequests;\n const request = spec.buildRequests(bidRequests, await addFPDToBidderRequest(bidderRequest));\n expect(request[0].data.user.ext.consent).to.equal(bidderRequest.gdprConsent.consentString);\n expect(request[1].data.user.ext.consent).to.equal(bidderRequest.gdprConsent.consentString);\n });\n\n it('should send the addtlConsent string', async function () {\n bidderRequest.bids = bidRequests;\n const request = spec.buildRequests(bidRequests, await addFPDToBidderRequest(bidderRequest));\n expect(request[0].data.user.ext.ConsentedProvidersSettings.consented_providers).to.equal(bidderRequest.gdprConsent.addtlConsent);\n expect(request[1].data.user.ext.ConsentedProvidersSettings.consented_providers).to.equal(bidderRequest.gdprConsent.addtlConsent);\n });\n\n it('should send a signal to specify that GDPR does not apply to this request', async function () {\n bidderRequest.gdprConsent.gdprApplies = false;\n bidderRequest.bids = bidRequests;\n const request = spec.buildRequests(bidRequests, await addFPDToBidderRequest(bidderRequest));\n expect(request[0].data.regs.ext.gdpr).to.equal(0);\n expect(request[1].data.regs.ext.gdpr).to.equal(0);\n });\n\n it('when GDPR application is undefined, should not send a signal to specify whether GDPR applies to this request, ' +\n 'but can send consent data, ', async function () {\n delete bidderRequest.gdprConsent.gdprApplies;\n bidderRequest.bids = bidRequests;\n const request = spec.buildRequests(bidRequests, await addFPDToBidderRequest(bidderRequest));\n expect(request[0].data.regs?.ext?.gdpr).to.not.be.ok;\n expect(request[0].data.user.ext.consent).to.equal(bidderRequest.gdprConsent.consentString);\n expect(request[1].data.user.ext.consent).to.equal(bidderRequest.gdprConsent.consentString);\n });\n\n it('when consent string is undefined, should not send the consent string, ', async function () {\n delete bidderRequest.gdprConsent.consentString;\n bidderRequest.bids = bidRequests;\n const request = spec.buildRequests(bidRequests, await addFPDToBidderRequest(bidderRequest));\n expect(request[0].data.imp[0].ext.consent).to.equal(undefined);\n expect(request[1].data.imp[0].ext.consent).to.equal(undefined);\n });\n });\n });\n\n context('coppa', function() {\n it('when there are no coppa param settings, should not send a coppa flag', async function () {\n const request = spec.buildRequests(bidRequestsWithMediaTypes, await addFPDToBidderRequest(mockBidderRequest));\n expect(request[0].data.regs?.coppa).to.be.not.ok;\n });\n\n it('should send a coppa flag there is when there is coppa param settings in the bid requests', async function () {\n const mockConfig = {\n coppa: true\n };\n\n sinon.stub(config, 'getConfig').callsFake((key) => {\n return utils.deepAccess(mockConfig, key);\n });\n\n const request = spec.buildRequests(bidRequestsWithMediaTypes, await addFPDToBidderRequest(mockBidderRequest));\n expect(request[0].data.regs.coppa).to.equal(1);\n });\n\n it('should send a coppa flag there is when there is coppa param settings in the bid params', async function () {\n const request = spec.buildRequests(bidRequestsWithMediaTypes, await addFPDToBidderRequest(mockBidderRequest));\n request.params = {coppa: true};\n expect(request[0].data.regs.coppa).to.equal(1);\n });\n\n after(function () {\n config.getConfig.restore()\n });\n });\n\n context('do not track (DNT)', function() {\n let doNotTrackStub;\n\n beforeEach(function () {\n doNotTrackStub = sinon.stub(utils, 'getDNT');\n });\n afterEach(function() {\n doNotTrackStub.restore();\n });\n\n it('when there is a do not track, should send a dnt', async function () {\n doNotTrackStub.returns(1);\n\n const request = spec.buildRequests(bidRequestsWithMediaTypes, await addFPDToBidderRequest(mockBidderRequest));\n expect(request[0].data.device.dnt).to.equal(1);\n });\n\n it('when there is not do not track, don\\'t send dnt', async function () {\n doNotTrackStub.returns(0);\n\n const request = spec.buildRequests(bidRequestsWithMediaTypes, await addFPDToBidderRequest(mockBidderRequest));\n expect(request[0].data.device.dnt).to.equal(0);\n });\n\n it('when there is no defined do not track, don\\'t send dnt', async function () {\n doNotTrackStub.returns(null);\n\n const request = spec.buildRequests(bidRequestsWithMediaTypes, await addFPDToBidderRequest(mockBidderRequest));\n expect(request[0].data.device.dnt).to.equal(0);\n });\n });\n\n context('supply chain (schain)', function () {\n let bidRequests;\n let schainConfig;\n const supplyChainNodePropertyOrder = ['asi', 'sid', 'hp', 'rid', 'name', 'domain'];\n\n beforeEach(function () {\n schainConfig = {\n ver: '1.0',\n complete: 1,\n nodes: [\n {\n asi: 'exchange1.com',\n sid: '1234',\n hp: 1,\n rid: 'bid-request-1',\n name: 'publisher',\n domain: 'publisher.com'\n // omitted ext\n },\n {\n asi: 'exchange2.com',\n sid: 'abcd',\n hp: 1,\n rid: 'bid-request-2',\n // name field missing\n domain: 'intermediary.com'\n },\n {\n asi: 'exchange3.com',\n sid: '4321',\n hp: 1,\n // request id\n // name field missing\n domain: 'intermediary-2.com'\n }\n ]\n };\n\n bidRequests = [{\n bidder: 'openx',\n params: {\n unit: '11',\n delDomain: 'test-del-domain'\n },\n adUnitCode: '/adunit-code/test-path',\n mediaTypes: {\n banner: {\n sizes: [[300, 250], [300, 600]]\n }\n },\n bidId: 'test-bid-id-1',\n bidderRequestId: 'test-bid-request-1',\n auctionId: 'test-auction-1',\n ortb2: {source: {\n schain: schainConfig,\n ext: {schain: schainConfig}\n }}\n }];\n\n // Add schain to mockBidderRequest as well\n mockBidderRequest.ortb2 = {\n source: {\n schain: schainConfig,\n ext: {schain: schainConfig}\n }\n };\n });\n\n it('should send a supply chain object', function () {\n const request = spec.buildRequests(bidRequests, mockBidderRequest);\n expect(request[0].data.source.ext.schain).to.deep.equal(schainConfig);\n });\n\n it('should send the supply chain object with the right version', function () {\n const request = spec.buildRequests(bidRequests, mockBidderRequest);\n expect(request[0].data.source.ext.schain.ver).to.equal(schainConfig.ver);\n });\n\n it('should send the supply chain object with the right complete value', function () {\n const request = spec.buildRequests(bidRequests, mockBidderRequest);\n expect(request[0].data.source.ext.schain.complete).to.equal(schainConfig.complete);\n });\n });\n\n context('when there are userid providers', function () {\n const eids = [\n {\n source: 'adserver.org',\n uids: [{\n id: 'some-random-id-value',\n atype: 1,\n ext: {\n rtiPartner: 'TDID'\n }\n }]\n },\n {\n source: 'id5-sync.com',\n uids: [{\n id: 'some-random-id-value',\n atype: 1\n }]\n },\n {\n source: 'sharedid.org',\n uids: [{\n id: 'some-random-id-value',\n atype: 1,\n ext: {\n third: 'some-random-id-value'\n }\n }]\n }\n ];\n\n it(`should send the user id under the extended ids`, function () {\n const bidRequests = [{\n bidder: 'openx',\n params: {\n unit: '11',\n delDomain: 'test-del-domain'\n },\n adUnitCode: 'adunit-code',\n mediaTypes: {\n banner: {\n sizes: [[300, 250], [300, 600]]\n }\n },\n bidId: 'test-bid-id-1',\n bidderRequestId: 'test-bid-request-1',\n auctionId: 'test-auction-1',\n }];\n // enrich bid request with userId key/value\n\n mockBidderRequest.ortb2 = {user: {ext: {eids}}}\n const request = spec.buildRequests(bidRequests, mockBidderRequest);\n expect(request[0].data.user.ext.eids).to.eql(eids);\n });\n\n it(`when no user ids are available, it should not send any extended ids`, function () {\n const request = spec.buildRequests(bidRequestsWithMediaTypes, mockBidderRequest);\n expect(request[0].data).to.not.have.any.keys('user');\n });\n });\n\n context('FLEDGE', function() {\n it('when FLEDGE is enabled, should send whatever is set in ortb2imp.ext.ae in all bid requests', function () {\n const request = spec.buildRequests(bidRequestsWithMediaTypes, {\n ...mockBidderRequest,\n paapi: {\n enabled: true\n }\n });\n expect(request[0].data.imp[0].ext.ae).to.equal(2);\n });\n });\n });\n\n context('banner', function () {\n it('should send bid request with a mediaTypes specified with banner type', function () {\n const request = spec.buildRequests(bidRequestsWithMediaTypes, mockBidderRequest);\n expect(request[0].data.imp[0]).to.have.any.keys(BANNER);\n });\n });\n\n if (FEATURES.VIDEO) {\n context('video', function () {\n it('should send bid request with a mediaTypes specified with video type', function () {\n const request = spec.buildRequests(bidRequestsWithMediaTypes, mockBidderRequest);\n expect(request[1].data.imp[0]).to.have.any.keys(VIDEO);\n });\n\n it('Update imp.video with OpenRTB options from mimeTypes and params', function() {\n const bid01 = new BidRequestBuilder({\n adUnitCode: 'adunit-code-01',\n mediaTypes: {\n banner: { sizes: [[300, 250]] },\n video: {\n context: 'outstream',\n playerSize: [[300, 250]],\n mimes: ['video/mp4'],\n protocols: [8]\n }\n },\n }).withParams({\n // options in video, will merge\n video: {\n skip: 1,\n skipafter: 4,\n minduration: 10,\n maxduration: 30\n }\n }).build();\n\n const bidderRequest = new BidderRequestBuilder().build();\n const expected = {\n mimes: ['video/mp4'],\n skip: 1,\n skipafter: 4,\n minduration: 10,\n maxduration: 30,\n protocols: [8],\n w: 300,\n h: 250\n };\n const requests = spec.buildRequests([bid01], bidderRequest);\n expect(requests).to.have.lengthOf(2);\n expect(requests[1].data.imp[0].video).to.deep.equal(expected);\n });\n });\n }\n });\n\n describe('interpretResponse()', function () {\n let bidRequestConfigs;\n let bidRequest;\n let bidResponse;\n let bid;\n\n context('when there is an nbr response', function () {\n let response;\n beforeEach(function () {\n bidRequestConfigs = [{\n bidder: 'openx',\n params: {\n unit: '12345678',\n delDomain: 'test-del-domain'\n },\n adUnitCode: 'adunit-code',\n mediaTypes: {\n banner: {\n sizes: [[300, 250], [300, 600]],\n },\n },\n bidId: 'test-bid-id',\n bidderRequestId: 'test-bidder-request-id',\n auctionId: 'test-auction-id'\n }];\n\n bidRequest = spec.buildRequests(bidRequestConfigs, {refererInfo: {}})[0];\n\n bidResponse = {nbr: 0}; // Unknown error\n response = spec.interpretResponse({body: bidResponse}, bidRequest);\n });\n\n it('should not return any bids', function () {\n expect(response.bids.length).to.equal(0);\n });\n });\n\n context('when no seatbid in response', function () {\n let response;\n beforeEach(function () {\n bidRequestConfigs = [{\n bidder: 'openx',\n params: {\n unit: '12345678',\n delDomain: 'test-del-domain'\n },\n adUnitCode: 'adunit-code',\n mediaTypes: {\n banner: {\n sizes: [[300, 250], [300, 600]],\n },\n },\n bidId: 'test-bid-id',\n bidderRequestId: 'test-bidder-request-id',\n auctionId: 'test-auction-id'\n }];\n\n bidRequest = spec.buildRequests(bidRequestConfigs, {refererInfo: {}})[0];\n\n bidResponse = {ext: {}, id: 'test-bid-id'};\n response = spec.interpretResponse({body: bidResponse}, bidRequest);\n });\n\n it('should not return any bids', function () {\n expect(response.bids.length).to.equal(0);\n });\n });\n\n context('when there is no response', function () {\n let response;\n beforeEach(function () {\n bidRequestConfigs = [{\n bidder: 'openx',\n params: {\n unit: '12345678',\n delDomain: 'test-del-domain'\n },\n adUnitCode: 'adunit-code',\n mediaTypes: {\n banner: {\n sizes: [[300, 250], [300, 600]],\n },\n },\n bidId: 'test-bid-id',\n bidderRequestId: 'test-bidder-request-id',\n auctionId: 'test-auction-id'\n }];\n\n bidRequest = spec.buildRequests(bidRequestConfigs, {refererInfo: {}})[0];\n\n bidResponse = ''; // Unknown error\n response = spec.interpretResponse({body: bidResponse}, bidRequest);\n });\n\n it('should not return any bids', function () {\n expect(response.bids.length).to.equal(0);\n });\n });\n\n const SAMPLE_BID_REQUESTS = [{\n bidder: 'openx',\n params: {\n unit: '12345678',\n delDomain: 'test-del-domain'\n },\n adUnitCode: 'adunit-code',\n mediaTypes: {\n banner: {\n sizes: [[300, 250], [300, 600]],\n },\n },\n bidId: 'test-bid-id',\n bidderRequestId: 'test-bidder-request-id',\n auctionId: 'test-auction-id'\n }];\n\n const SAMPLE_BID_RESPONSE = {\n seatbid: [{\n bid: [{\n impid: 'test-bid-id',\n price: 2,\n w: 300,\n h: 250,\n crid: 'test-creative-id',\n dealid: 'test-deal-id',\n adm: 'test-ad-markup',\n mtype: 1,\n adomain: ['brand.com'],\n ext: {\n dsp_id: '123',\n buyer_id: '456',\n brand_id: '789'\n }\n }]\n }],\n cur: 'AUS'\n };\n\n context('when there is a response, the common response properties', function () {\n beforeEach(function () {\n bidRequestConfigs = deepClone(SAMPLE_BID_REQUESTS);\n bidRequest = spec.buildRequests(bidRequestConfigs, {refererInfo: {}})[0];\n bidResponse = deepClone(SAMPLE_BID_RESPONSE);\n\n bid = spec.interpretResponse({body: bidResponse}, bidRequest).bids[0];\n });\n\n it('should return a price', function () {\n expect(bid.cpm).to.equal(bidResponse.seatbid[0].bid[0].price);\n });\n\n it('should return a request id', function () {\n expect(bid.requestId).to.equal(bidResponse.seatbid[0].bid[0].impid);\n });\n\n it('should return width and height for the creative', function () {\n expect(bid.width).to.equal(bidResponse.seatbid[0].bid[0].w);\n expect(bid.height).to.equal(bidResponse.seatbid[0].bid[0].h);\n });\n\n it('should return a creativeId', function () {\n expect(bid.creativeId).to.equal(bidResponse.seatbid[0].bid[0].crid);\n });\n\n it('should return an ad', function () {\n expect(bid.ad).to.equal(bidResponse.seatbid[0].bid[0].adm);\n });\n\n it('should return a deal id if it exists', function () {\n expect(bid.dealId).to.equal(bidResponse.seatbid[0].bid[0].dealid);\n });\n\n it('should have a time-to-live of 5 minutes', function () {\n expect(bid.ttl).to.equal(300);\n });\n\n it('should always return net revenue', function () {\n expect(bid.netRevenue).to.equal(true);\n });\n\n it('should return a currency', function () {\n expect(bid.currency).to.equal(bidResponse.cur);\n });\n\n it('should return a brand ID', function () {\n expect(bid.meta.brandId).to.equal(bidResponse.seatbid[0].bid[0].ext.brand_id);\n });\n\n it('should return a dsp ID', function () {\n expect(bid.meta.networkId).to.equal(bidResponse.seatbid[0].bid[0].ext.dsp_id);\n });\n\n it('should return a buyer ID', function () {\n expect(bid.meta.advertiserId).to.equal(bidResponse.seatbid[0].bid[0].ext.buyer_id);\n });\n\n it('should return adomain', function () {\n expect(bid.meta.advertiserDomains).to.equal(bidResponse.seatbid[0].bid[0].adomain);\n });\n });\n\n context('when banner request and the response is a banner', function() {\n beforeEach(function () {\n bidRequestConfigs = [{\n bidder: 'openx',\n params: {\n unit: '12345678',\n delDomain: 'test-del-domain'\n },\n adUnitCode: 'adunit-code',\n mediaTypes: {\n banner: {\n sizes: [[300, 250], [300, 600]],\n },\n },\n bidId: 'test-bid-id',\n bidderRequestId: 'test-bidder-request-id',\n auctionId: 'test-auction-id'\n }];\n\n bidRequest = spec.buildRequests(bidRequestConfigs, {refererInfo: {}})[0];\n\n bidResponse = {\n seatbid: [{\n bid: [{\n impid: 'test-bid-id',\n price: 2,\n w: 300,\n h: 250,\n crid: 'test-creative-id',\n dealid: 'test-deal-id',\n adm: 'test-ad-markup',\n mtype: 1,\n }]\n }],\n cur: 'AUS'\n };\n\n bid = spec.interpretResponse({body: bidResponse}, bidRequest).bids[0];\n });\n\n it('should return the proper mediaType', function () {\n expect(bid.mediaType).to.equal(Object.keys(bidRequestConfigs[0].mediaTypes)[0]);\n });\n });\n\n if (FEATURES.VIDEO) {\n context('when video request and the response is a video', function() {\n beforeEach(function () {\n bidRequestConfigs = [{\n bidder: 'openx',\n params: {\n unit: '12345678',\n delDomain: 'test-del-domain'\n },\n adUnitCode: 'adunit-code',\n mediaTypes: {\n video: {\n playerSize: [[640, 360], [854, 480]],\n },\n },\n bidId: 'test-bid-id',\n bidderRequestId: 'test-bidder-request-id',\n auctionId: 'test-auction-id'\n }];\n\n bidRequest = spec.buildRequests(bidRequestConfigs, {refererInfo: {}})[0];\n\n bidResponse = {\n seatbid: [{\n bid: [{\n impid: 'test-bid-id',\n price: 2,\n w: 854,\n h: 480,\n crid: 'test-creative-id',\n dealid: 'test-deal-id',\n adm: '<VAST version=\"4.0\"><Ad></Ad></VAST>',\n }]\n }],\n cur: 'AUS'\n };\n });\n\n it('should return the proper mediaType', function () {\n bid = spec.interpretResponse({body: bidResponse}, bidRequest).bids[0];\n expect(bid.mediaType).to.equal(Object.keys(bidRequestConfigs[0].mediaTypes)[0]);\n });\n\n it('should return the proper vastUrl', function () {\n const winUrl = 'https//my.win.url';\n bidResponse.seatbid[0].bid[0].nurl = winUrl\n bid = spec.interpretResponse({body: bidResponse}, bidRequest).bids[0];\n\n expect(bid.vastUrl).to.equal(winUrl);\n });\n });\n\n context('when multi-format request (banner + video) and the response is a video', function() {\n beforeEach(function () {\n bidRequestConfigs = [{\n bidder: 'openx',\n params: {\n unit: '12345678',\n delDomain: 'test-del-domain'\n },\n adUnitCode: 'adunit-code',\n mediaTypes: {\n banner: {\n size: [[300, 600]]\n },\n video: {\n playerSize: [[640, 360], [854, 480]],\n },\n },\n bidId: 'test-bid-id',\n bidderRequestId: 'test-bidder-request-id',\n auctionId: 'test-auction-id'\n }];\n\n bidRequest = spec.buildRequests(bidRequestConfigs, {refererInfo: {}})[0];\n\n bidResponse = {\n seatbid: [{\n bid: [{\n impid: 'test-bid-id',\n price: 5,\n adm: '<VAST version=\"4.0\"><Ad></Ad></VAST>',\n mtype: 2\n }]\n }],\n cur: 'USD'\n };\n });\n\n it('should return video mediaType', function () {\n bid = spec.interpretResponse({body: bidResponse}, bidRequest).bids[0];\n expect(bid.mediaType).to.equal(VIDEO);\n });\n });\n\n context('when multiple bid requests (banner + video) and the response is a banner', function() {\n beforeEach(function () {\n bidRequestConfigs = [{\n bidder: 'openx',\n params: {\n unit: '12345678',\n delDomain: 'test-del-domain'\n },\n adUnitCode: 'adunit-code',\n mediaTypes: {\n video: {\n playerSize: [[640, 360], [854, 480]],\n },\n },\n bidId: 'test-bid-id-1',\n bidderRequestId: 'test-bidder-request-id-1',\n auctionId: 'test-auction-id-1'\n },\n {\n bidder: 'openx',\n params: {\n unit: '12345678',\n delDomain: 'test-del-domain'\n },\n adUnitCode: 'adunit-code',\n mediaTypes: {\n banner: {\n sizes: [[300, 250], [300, 600]]\n }\n },\n bidId: 'test-bid-id-2',\n bidderRequestId: 'test-bidder-request-id-2',\n auctionId: 'test-auction-id-2'\n }];\n\n bidRequest = spec.buildRequests(bidRequestConfigs, {refererInfo: {}})[0];\n\n bidResponse = {\n seatbid: [{\n bid: [{\n impid: 'test-bid-id-2',\n price: 2,\n adm: '<iframe src=\"https://test.url\"></iframe>',\n mtype: 1\n }]\n }],\n cur: 'USD'\n };\n });\n\n it('should return banner mediaType', function () {\n bid = spec.interpretResponse({body: bidResponse}, bidRequest).bids[0];\n expect(bid.mediaType).to.equal(BANNER);\n });\n });\n }\n\n if (FEATURES.NATIVE) {\n context('when native request and the response is a native', function() {\n beforeEach(function () {\n const nativeOrtbRequest = {\n ver: '1.2',\n assets: [{\n id: 1,\n required: 1,\n title: {\n len: 80\n }\n }]\n };\n bidRequestConfigs = [{\n bidder: 'openx',\n params: {\n unit: '12345678',\n delDomain: 'test-del-domain'\n },\n adUnitCode: 'adunit-code',\n mediaTypes: {\n native: {\n ...nativeOrtbRequest\n },\n },\n nativeOrtbRequest,\n bidId: 'test-bid-id',\n bidderRequestId: 'test-bidder-request-id',\n auctionId: 'test-auction-id'\n }];\n\n bidRequest = spec.buildRequests(bidRequestConfigs, {refererInfo: {}})[0];\n\n bidResponse = {\n seatbid: [{\n bid: [{\n impid: 'test-bid-id',\n price: 2,\n adm: '{\"ver\": \"1.2\", \"assets\": [{\"id\": 1, \"required\": 1,\"title\": {\"text\": \"OpenX (Title)\"}}], \"link\": {\"url\": \"https://www.openx.com/\"}, \"eventtrackers\":[{\"event\":1,\"method\":1,\"url\":\"http://example.com/impression\"}]}',\n mtype: 4\n }]\n }],\n cur: 'AUS'\n };\n });\n\n it('should return the proper mediaType', function () {\n bid = spec.interpretResponse({body: bidResponse}, bidRequest).bids[0];\n expect(bid.mediaType).to.equal(Object.keys(bidRequestConfigs[0].mediaTypes)[0]);\n });\n\n it('should return parsed adm JSON in native.ortb response field', function () {\n bid = spec.interpretResponse({body: bidResponse}, bidRequest).bids[0];\n\n expect(bid.native.ortb).to.deep.equal({\n ver: '1.2',\n assets: [{\n id: 1,\n required: 1,\n title: {text: 'OpenX (Title)'}\n }],\n link: {url: 'https://www.openx.com/'},\n eventtrackers: [{\n event: 1,\n method: 1,\n url: 'http://example.com/impression'\n }]\n });\n });\n });\n\n context('when multi-format request (banner + native) and the response is a banner', function() {\n beforeEach(function () {\n const nativeOrtbRequest = {\n ver: '1.2',\n assets: [{\n id: 1,\n required: 1,\n title: {\n len: 80\n }\n }]\n };\n bidRequestConfigs = [{\n bidder: 'openx',\n params: {\n unit: '12345678',\n delDomain: 'test-del-domain'\n },\n adUnitCode: 'adunit-code',\n mediaTypes: {\n banner: {\n sizes: [[300, 250], [300, 600]]\n },\n native: {\n ...nativeOrtbRequest\n },\n },\n nativeOrtbRequest,\n bidId: 'test-bid-id',\n bidderRequestId: 'test-bidder-request-id',\n auctionId: 'test-auction-id'\n }];\n\n bidRequest = spec.buildRequests(bidRequestConfigs, {refererInfo: {}})[0];\n\n bidResponse = {\n seatbid: [{\n bid: [{\n impid: 'test-bid-id',\n price: 2,\n adm: '<iframe src=\"https://test.url\"></iframe>',\n mtype: 1\n }]\n }],\n cur: 'AUS'\n };\n });\n\n it('should return banner mediaType', function () {\n bid = spec.interpretResponse({body: bidResponse}, bidRequest).bids[0];\n expect(bid.mediaType).to.equal(BANNER);\n });\n });\n\n context('when multiple bid requests (banner + native) and the response is a native', function() {\n beforeEach(function () {\n const nativeOrtbRequest = {\n ver: '1.2',\n assets: [{\n id: 1,\n required: 1,\n title: {\n len: 80\n }\n }]\n };\n bidRequestConfigs = [{\n bidder: 'openx',\n params: {\n unit: '12345678',\n delDomain: 'test-del-domain'\n },\n adUnitCode: 'adunit-code',\n mediaTypes: {\n native: {\n ...nativeOrtbRequest\n },\n },\n nativeOrtbRequest,\n bidId: 'test-bid-id-1',\n bidderRequestId: 'test-bidder-request-id-1',\n auctionId: 'test-auction-id-1'\n },\n {\n bidder: 'openx',\n params: {\n unit: '12345678',\n delDomain: 'test-del-domain'\n },\n adUnitCode: 'adunit-code',\n mediaTypes: {\n banner: {\n sizes: [[300, 250], [300, 600]]\n }\n },\n bidId: 'test-bid-id-2',\n bidderRequestId: 'test-bidder-request-id-2',\n auctionId: 'test-auction-id-2'\n }];\n\n bidRequest = spec.buildRequests(bidRequestConfigs, {refererInfo: {}})[0];\n\n bidResponse = {\n seatbid: [{\n bid: [{\n impid: 'test-bid-id-1',\n price: 2,\n adm: '{\"ver\": \"1.2\", \"assets\": [{\"id\": 1, \"required\": 1,\"title\": {\"text\": \"OpenX (Title)\"}}], \"link\": {\"url\": \"https://www.openx.com/\"}, \"eventtrackers\":[{\"event\":1,\"method\":1,\"url\":\"http://example.com/impression\"}]}',\n mtype: 4\n }]\n }],\n cur: 'USD'\n };\n });\n\n it('should return native mediaType', function () {\n bid = spec.interpretResponse({body: bidResponse}, bidRequest).bids[0];\n expect(bid.mediaType).to.equal(NATIVE);\n });\n });\n }\n\n context('when the response contains FLEDGE interest groups config', function() {\n let response;\n\n beforeEach(function () {\n sinon.stub(config, 'getConfig')\n .withArgs('fledgeEnabled')\n .returns(true);\n\n bidRequestConfigs = [{\n bidder: 'openx',\n params: {\n unit: '12345678',\n delDomain: 'test-del-domain'\n },\n adUnitCode: 'adunit-code',\n mediaTypes: {\n banner: {\n sizes: [[300, 250], [300, 600]],\n },\n },\n bidId: 'test-bid-id',\n bidderRequestId: 'test-bidder-request-id',\n auctionId: 'test-auction-id'\n }];\n\n bidRequest = spec.buildRequests(bidRequestConfigs, {refererInfo: {}})[0];\n\n bidResponse = {\n seatbid: [{\n bid: [{\n impid: 'test-bid-id',\n price: 2,\n w: 300,\n h: 250,\n crid: 'test-creative-id',\n dealid: 'test-deal-id',\n adm: 'test-ad-markup'\n }]\n }],\n cur: 'AUS',\n ext: {\n fledge_auction_configs: {\n 'test-bid-id': {\n seller: 'codinginadtech.com',\n interestGroupBuyers: ['somedomain.com'],\n sellerTimeout: 0,\n perBuyerSignals: {\n 'somedomain.com': {\n base_bid_micros: 0.1,\n disallowed_advertiser_ids: [\n '1234',\n '2345'\n ],\n multiplier: 1.3,\n use_bid_multiplier: true,\n win_reporting_id: '1234567asdf'\n }\n }\n }\n }\n }\n };\n\n response = spec.interpretResponse({body: bidResponse}, bidRequest);\n });\n\n afterEach(function () {\n config.getConfig.restore();\n });\n\n it('should return FLEDGE auction_configs alongside bids', function () {\n expect(response).to.have.property('bids');\n expect(response).to.have.property('paapi');\n expect(response.paapi.length).to.equal(1);\n expect(response.paapi[0].bidId).to.equal('test-bid-id');\n });\n\n it('should inject ortb2Imp in auctionSignals', function () {\n const auctionConfig = response.paapi[0].config;\n expect(auctionConfig).to.deep.include({\n auctionSignals: {\n ortb2Imp: {\n id: 'test-bid-id',\n tagid: '12345678',\n banner: {\n topframe: 0,\n format: bidRequestConfigs[0].mediaTypes.banner.sizes.map(([w, h]) => ({w, h}))\n },\n ext: {\n divid: 'adunit-code',\n },\n secure: 1\n }\n }\n });\n })\n });\n });\n\n describe('user sync', function () {\n it('should register the default image pixel if no pixels available', function () {\n const syncs = spec.getUserSyncs(\n {pixelEnabled: true},\n []\n );\n expect(syncs).to.deep.equal([{type: 'image', url: DEFAULT_SYNC}]);\n });\n\n it('should register custom syncUrl when exists', function () {\n const syncs = spec.getUserSyncs(\n {pixelEnabled: true},\n [{body: {ext: {delDomain: 'www.url.com'}}}]\n );\n expect(syncs).to.deep.equal([{type: 'image', url: 'https://www.url.com/w/1.0/pd'}]);\n });\n\n it('should register custom syncUrl when exists', function () {\n const syncs = spec.getUserSyncs(\n {pixelEnabled: true},\n [{body: {ext: {platform: 'abc'}}}]\n );\n expect(syncs).to.deep.equal([{type: 'image', url: SYNC_URL + '?ph=abc'}]);\n });\n\n it('when iframe sync is allowed, it should register an iframe sync', function () {\n const syncs = spec.getUserSyncs(\n {iframeEnabled: true},\n []\n );\n expect(syncs).to.deep.equal([{type: 'iframe', url: DEFAULT_SYNC}]);\n });\n\n it('should prioritize iframe over image for user sync', function () {\n const syncs = spec.getUserSyncs(\n {iframeEnabled: true, pixelEnabled: true},\n []\n );\n expect(syncs).to.deep.equal([{type: 'iframe', url: DEFAULT_SYNC}]);\n });\n\n describe('when gdpr applies', function () {\n let gdprConsent;\n let gdprPixelUrl;\n const consentString = 'gdpr-pixel-consent';\n const gdprApplies = '1';\n beforeEach(() => {\n gdprConsent = {\n consentString,\n gdprApplies: true\n };\n\n gdprPixelUrl = `${SYNC_URL}&gdpr=${gdprApplies}&gdpr_consent=${consentString}`;\n });\n\n it('when there is a response, it should have the gdpr query params', () => {\n const [{url}] = spec.getUserSyncs(\n {iframeEnabled: true, pixelEnabled: true},\n [],\n gdprConsent\n );\n\n expect(url).to.have.string(`gdpr_consent=${consentString}`);\n expect(url).to.have.string(`gdpr=${gdprApplies}`);\n });\n\n it('should not send signals if no consent object is available', function () {\n const [{url}] = spec.getUserSyncs(\n {iframeEnabled: true, pixelEnabled: true},\n [],\n );\n expect(url).to.not.have.string('gdpr_consent=');\n expect(url).to.not.have.string('gdpr=');\n });\n });\n\n describe('when ccpa applies', function () {\n let usPrivacyConsent;\n let uspPixelUrl;\n const privacyString = 'TEST';\n beforeEach(() => {\n usPrivacyConsent = 'TEST';\n uspPixelUrl = `${DEFAULT_SYNC}&us_privacy=${privacyString}`\n });\n it('should send the us privacy string, ', () => {\n const [{url}] = spec.getUserSyncs(\n {iframeEnabled: true, pixelEnabled: true},\n [],\n undefined,\n usPrivacyConsent\n );\n expect(url).to.have.string(`us_privacy=${privacyString}`);\n });\n\n it('should not send signals if no consent string is available', function () {\n const [{url}] = spec.getUserSyncs(\n {iframeEnabled: true, pixelEnabled: true},\n [],\n );\n expect(url).to.not.have.string('us_privacy=');\n });\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"openxBidAdapter_spec.js","names":["expect","spec","REQUEST_URL","SYNC_URL","DEFAULT_PH","newBidder","BANNER","NATIVE","VIDEO","config","utils","deepClone","version","addFPDToBidderRequest","hook","DEFAULT_SYNC","BidRequestBuilder","options","defaults","request","auctionId","adUnitCode","bidder","params","unit","delDomain","sizes","withParams","build","BidderRequestBuilder","bidderCode","bidderRequestId","timeout","refererInfo","numIframes","reachedTop","referer","describe","before","ready","adapter","it","callBids","to","exist","and","be","a","bannerBid","beforeEach","mediaTypes","banner","bidId","isBidRequestValid","equal","multiformatBid","video","playerSize","transactionId","videoBidWithMediaTypes","invalidVideoBidWithMediaTypes","Object","assign","videoBidWithDelDomainAndPlatform","platform","videoBidWithMediaType","invalidVideoBidWithMediaType","nativeOrtbRequest","assets","id","required","title","len","nativeBidWithMediaTypes","native","ortb","invalidNativeBidWithMediaTypes","nativeBidWithDelDomainAndPlatform","bidRequestsWithMediaTypes","mockBidderRequest","nativeBidRequest","ortb2Imp","ext","ae","context","multiformat","requests","buildRequests","have","length","data","imp","not","url","method","pv","platformId","undefined","tagid","bidRequest","customParams","bids","customFloor","bidfloor","bidfloorcur","adServerCurrencyStub","sinon","stub","withArgs","afterEach","getConfig","restore","getFloor","currency","floor","returns","bidRequests","site","domain","cat","sectioncat","deep","user","yob","hasOwnProperty","property","pbadslot","adSlotValue","adserver","name","adslot","other","bidderRequestWithUserAgentClientHints","ortb2","device","sua","source","brand","browsers","mobile","model","bitness","architecture","bidderRequestWithoutUserAgentClientHints","mockConfig","bidderRequest","uspConsent","callsFake","key","deepAccess","regs","us_privacy","gdprConsent","consentString","addtlConsent","gdprApplies","consentManagement","cmpApi","allowAuctionWithoutConsent","gdpr","consent","ConsentedProvidersSettings","consented_providers","ok","gpp","gpp_sid","coppa","after","doNotTrackStub","dnt","schainConfig","supplyChainNodePropertyOrder","ver","complete","nodes","asi","sid","hp","rid","schain","eids","uids","atype","rtiPartner","third","eql","any","keys","paapi","enabled","bid01","mimes","protocols","skip","skipafter","minduration","maxduration","expected","w","h","lengthOf","bidRequestConfigs","bidResponse","bid","response","nbr","interpretResponse","body","SAMPLE_BID_REQUESTS","SAMPLE_BID_RESPONSE","seatbid","impid","price","crid","dealid","adm","mtype","adomain","dsp_id","buyer_id","brand_id","cur","cpm","requestId","width","height","creativeId","ad","dealId","ttl","netRevenue","meta","brandId","networkId","advertiserId","advertiserDomains","mediaType","winUrl","nurl","vastUrl","size","text","link","eventtrackers","event","fledge_auction_configs","seller","interestGroupBuyers","sellerTimeout","perBuyerSignals","base_bid_micros","disallowed_advertiser_ids","multiplier","use_bid_multiplier","win_reporting_id","auctionConfig","include","auctionSignals","topframe","format","map","_ref","divid","secure","syncs","getUserSyncs","pixelEnabled","type","iframeEnabled","gdprPixelUrl","string","gppConsent","gppString","applicableSections","usPrivacyConsent","uspPixelUrl","privacyString"],"sourceRoot":"../../../../..","sources":["test/spec/modules/openxBidAdapter_spec.js"],"sourcesContent":["import {expect} from 'chai';\nimport {spec, REQUEST_URL, SYNC_URL, DEFAULT_PH} from 'modules/openxBidAdapter.js';\nimport {newBidder} from 'src/adapters/bidderFactory.js';\nimport {BANNER, NATIVE, VIDEO} from 'src/mediaTypes.js';\nimport {config} from 'src/config.js';\nimport * as utils from 'src/utils.js';\n// load modules that register ORTB processors\nimport 'src/prebid.js'\nimport 'modules/currency.js';\nimport 'modules/userId/index.js';\nimport 'modules/multibid/index.js';\nimport 'modules/priceFloors.js';\nimport 'modules/consentManagementTcf.js';\nimport 'modules/consentManagementUsp.js';\nimport 'modules/paapi.js';\n\nimport {deepClone} from 'src/utils.js';\nimport {version} from 'package.json';\nimport {addFPDToBidderRequest} from '../../helpers/fpd.js';\nimport {hook} from '../../../src/hook.js';\nconst DEFAULT_SYNC = SYNC_URL + '?ph=' + DEFAULT_PH;\n\nconst BidRequestBuilder = function BidRequestBuilder(options) {\n const defaults = {\n request: {\n auctionId: '4fd1ca2d-846c-4211-b9e5-321dfe1709c9',\n adUnitCode: 'adunit-code',\n bidder: 'openx'\n },\n params: {\n unit: '12345678',\n delDomain: 'test-del-domain'\n },\n sizes: [[300, 250], [300, 600]],\n };\n\n const request = {\n ...defaults.request,\n ...options\n };\n\n this.withParams = (options) => {\n request.params = {\n ...defaults.params,\n ...options\n };\n return this;\n };\n\n this.build = () => request;\n};\n\nconst BidderRequestBuilder = function BidderRequestBuilder(options) {\n const defaults = {\n bidderCode: 'openx',\n auctionId: '4fd1ca2d-846c-4211-b9e5-321dfe1709c9',\n bidderRequestId: '7g36s867Tr4xF90X',\n timeout: 3000,\n refererInfo: {\n numIframes: 0,\n reachedTop: true,\n referer: 'http://test.io/index.html?pbjs_debug=true'\n }\n };\n\n const request = {\n ...defaults,\n ...options\n };\n\n this.build = () => request;\n};\n\ndescribe('OpenxRtbAdapter', function () {\n before(() => {\n hook.ready();\n });\n\n const adapter = newBidder(spec);\n\n describe('inherited functions', function () {\n it('exists and is a function', function () {\n expect(adapter.callBids).to.exist.and.to.be.a('function');\n });\n });\n\n describe('isBidRequestValid()', function () {\n describe('when request is for a banner ad', function () {\n let bannerBid;\n beforeEach(function () {\n bannerBid = {\n bidder: 'openx',\n params: {},\n adUnitCode: 'adunit-code',\n mediaTypes: {banner: {}},\n sizes: [[300, 250], [300, 600]],\n bidId: '30b31c1838de1e',\n bidderRequestId: '22edbae2733bf6',\n auctionId: '1d1a030790a475'\n };\n });\n\n it('should return false when there is no delivery domain', function () {\n bannerBid.params = {'unit': '12345678'};\n expect(spec.isBidRequestValid(bannerBid)).to.equal(false);\n });\n\n describe('when there is a delivery domain', function () {\n beforeEach(function () {\n bannerBid.params = {delDomain: 'test-delivery-domain'}\n });\n\n it('should return false when there is no ad unit id and size', function () {\n expect(spec.isBidRequestValid(bannerBid)).to.equal(false);\n });\n\n it('should return true if there is an adunit id ', function () {\n bannerBid.params.unit = '12345678';\n expect(spec.isBidRequestValid(bannerBid)).to.equal(true);\n });\n\n it('should return true if there is no adunit id and sizes are defined', function () {\n bannerBid.mediaTypes.banner.sizes = [720, 90];\n expect(spec.isBidRequestValid(bannerBid)).to.equal(true);\n });\n\n it('should return false if no sizes are defined ', function () {\n expect(spec.isBidRequestValid(bannerBid)).to.equal(false);\n });\n\n it('should return false if sizes empty ', function () {\n bannerBid.mediaTypes.banner.sizes = [];\n expect(spec.isBidRequestValid(bannerBid)).to.equal(false);\n });\n });\n });\n\n describe('when request is for a multiformat ad', function () {\n describe('and request config uses mediaTypes video and banner', () => {\n const multiformatBid = {\n bidder: 'openx',\n params: {\n unit: '12345678',\n delDomain: 'test-del-domain'\n },\n adUnitCode: 'adunit-code',\n mediaTypes: {\n banner: {\n sizes: [[300, 250]]\n },\n video: {\n playerSize: [300, 250]\n }\n },\n bidId: '30b31c1838de1e',\n bidderRequestId: '22edbae2733bf6',\n auctionId: '1d1a030790a475',\n transactionId: '4008d88a-8137-410b-aa35-fbfdabcb478e'\n };\n it('should return true multisize when required params found', function () {\n expect(spec.isBidRequestValid(multiformatBid)).to.equal(true);\n });\n });\n });\n\n describe('when request is for a video ad', function () {\n describe('and request config uses mediaTypes', () => {\n const videoBidWithMediaTypes = {\n bidder: 'openx',\n params: {\n unit: '12345678',\n delDomain: 'test-del-domain'\n },\n adUnitCode: 'adunit-code',\n mediaTypes: {\n video: {\n playerSize: [640, 480]\n }\n },\n bidId: '30b31c1838de1e',\n bidderRequestId: '22edbae2733bf6',\n auctionId: '1d1a030790a475',\n transactionId: '4008d88a-8137-410b-aa35-fbfdabcb478e'\n };\n it('should return true when required params found', function () {\n expect(spec.isBidRequestValid(videoBidWithMediaTypes)).to.equal(true);\n });\n\n it('should return false when required params are not passed', function () {\n const invalidVideoBidWithMediaTypes = Object.assign({}, videoBidWithMediaTypes);\n invalidVideoBidWithMediaTypes.params = {};\n expect(spec.isBidRequestValid(invalidVideoBidWithMediaTypes)).to.equal(false);\n });\n });\n describe('and request config uses both delDomain and platform', () => {\n const videoBidWithDelDomainAndPlatform = {\n bidder: 'openx',\n params: {\n unit: '12345678',\n delDomain: 'test-del-domain',\n platform: '1cabba9e-cafe-3665-beef-f00f00f00f00'\n },\n adUnitCode: 'adunit-code',\n mediaTypes: {\n video: {\n playerSize: [640, 480]\n }\n },\n bidId: '30b31c1838de1e',\n bidderRequestId: '22edbae2733bf6',\n auctionId: '1d1a030790a475',\n transactionId: '4008d88a-8137-410b-aa35-fbfdabcb478e'\n };\n it('should return true when required params found', function () {\n expect(spec.isBidRequestValid(videoBidWithDelDomainAndPlatform)).to.equal(true);\n });\n\n it('should return false when required params are not passed', function () {\n const invalidVideoBidWithMediaTypes = Object.assign({}, videoBidWithDelDomainAndPlatform);\n invalidVideoBidWithMediaTypes.params = {};\n expect(spec.isBidRequestValid(invalidVideoBidWithMediaTypes)).to.equal(false);\n });\n });\n describe('and request config uses mediaType', () => {\n const videoBidWithMediaType = {\n 'bidder': 'openx',\n 'params': {\n 'unit': '12345678',\n 'delDomain': 'test-del-domain'\n },\n 'adUnitCode': 'adunit-code',\n 'mediaType': 'video',\n 'sizes': [640, 480],\n 'bidId': '30b31c1838de1e',\n 'bidderRequestId': '22edbae2733bf6',\n 'auctionId': '1d1a030790a475',\n 'transactionId': '4008d88a-8137-410b-aa35-fbfdabcb478e'\n };\n it('should return true when required params found', function () {\n expect(spec.isBidRequestValid(videoBidWithMediaType)).to.equal(true);\n });\n\n it('should return false when required params are not passed', function () {\n const invalidVideoBidWithMediaType = Object.assign({}, videoBidWithMediaType);\n delete invalidVideoBidWithMediaType.params;\n invalidVideoBidWithMediaType.params = {};\n expect(spec.isBidRequestValid(invalidVideoBidWithMediaType)).to.equal(false);\n });\n });\n });\n\n describe('when request is for a native ad', function () {\n const nativeOrtbRequest = {\n assets: [{\n id: 1,\n required: 1,\n title: {\n len: 80\n }\n }]\n }\n describe('and request config uses mediaTypes', () => {\n const nativeBidWithMediaTypes = {\n bidder: 'openx',\n params: {\n unit: '12345678',\n delDomain: 'test-del-domain'\n },\n adUnitCode: 'adunit-code',\n mediaTypes: {\n native: {\n ortb: {\n ...nativeOrtbRequest\n }\n }\n },\n nativeOrtbRequest,\n bidId: '30b31c1838de1e',\n bidderRequestId: '22edbae2733bf6',\n auctionId: '1d1a030790a475',\n transactionId: '4008d88a-8137-410b-aa35-fbfdabcb478e'\n };\n\n it('should return true when required params found', function () {\n expect(spec.isBidRequestValid(nativeBidWithMediaTypes)).to.equal(true);\n });\n\n it('should return false when required params are not passed', function () {\n const invalidNativeBidWithMediaTypes = Object.assign({}, nativeBidWithMediaTypes);\n invalidNativeBidWithMediaTypes.params = {};\n expect(spec.isBidRequestValid(invalidNativeBidWithMediaTypes)).to.equal(false);\n });\n });\n\n describe('and request config uses both delDomain and platform', () => {\n const nativeBidWithDelDomainAndPlatform = {\n bidder: 'openx',\n params: {\n unit: '12345678',\n delDomain: 'test-del-domain',\n platform: '1cabba9e-cafe-3665-beef-f00f00f00f00'\n },\n adUnitCode: 'adunit-code',\n mediaTypes: {\n native: {\n ortb: {\n ...nativeOrtbRequest\n }\n }\n },\n nativeOrtbRequest,\n bidId: '30b31c1838de1e',\n bidderRequestId: '22edbae2733bf6',\n auctionId: '1d1a030790a475',\n transactionId: '4008d88a-8137-410b-aa35-fbfdabcb478e'\n };\n\n it('should return true when required params found', function () {\n expect(spec.isBidRequestValid(nativeBidWithDelDomainAndPlatform)).to.equal(true);\n });\n\n it('should return false when required params are not passed', function () {\n const invalidNativeBidWithMediaTypes = Object.assign({}, nativeBidWithDelDomainAndPlatform);\n invalidNativeBidWithMediaTypes.params = {};\n expect(spec.isBidRequestValid(invalidNativeBidWithMediaTypes)).to.equal(false);\n });\n });\n });\n });\n\n describe('buildRequests()', function () {\n let bidRequestsWithMediaTypes;\n let mockBidderRequest;\n const nativeOrtbRequest = {\n assets: [{\n id: 1,\n required: 1,\n title: {\n len: 80\n }\n }]\n };\n const nativeBidRequest = {\n bidder: 'openx',\n params: {\n unit: '33',\n delDomain: 'test-del-domain',\n platform: '1cabba9e-cafe-3665-beef-f00f00f00f00',\n },\n adUnitCode: 'adunit-code',\n mediaTypes: {\n native: {\n ortb: {\n ...nativeOrtbRequest\n }\n }\n },\n nativeOrtbRequest,\n bidId: 'test-bid-id-3',\n bidderRequestId: 'test-bid-request-3',\n auctionId: 'test-auction-3',\n transactionId: 'test-transactionId-3'\n };\n\n beforeEach(function () {\n mockBidderRequest = {refererInfo: {}};\n\n bidRequestsWithMediaTypes = [{\n bidder: 'openx',\n params: {\n unit: '11',\n delDomain: 'test-del-domain',\n platform: '1cabba9e-cafe-3665-beef-f00f00f00f00',\n },\n adUnitCode: '/adunit-code/test-path',\n mediaTypes: {\n banner: {\n sizes: [[300, 250], [300, 600]]\n }\n },\n bidId: 'test-bid-id-1',\n bidderRequestId: 'test-bid-request-1',\n auctionId: 'test-auction-1',\n transactionId: 'test-transactionId-1',\n ortb2Imp: {\n ext: {\n ae: 2\n }\n }\n }, {\n bidder: 'openx',\n params: {\n unit: '22',\n delDomain: 'test-del-domain',\n platform: '1cabba9e-cafe-3665-beef-f00f00f00f00',\n },\n adUnitCode: 'adunit-code',\n mediaTypes: {\n video: {\n playerSize: [640, 480]\n }\n },\n bidId: 'test-bid-id-2',\n bidderRequestId: 'test-bid-request-2',\n auctionId: 'test-auction-2',\n transactionId: 'test-transactionId-2'\n }];\n });\n\n context('common requests checks', function() {\n it('should be able to handle multiformat request - banner + video', () => {\n const multiformat = utils.deepClone(bidRequestsWithMediaTypes[0]);\n multiformat.mediaTypes.video = {\n context: 'outstream',\n playerSize: [640, 480]\n };\n const requests = spec.buildRequests([multiformat], mockBidderRequest);\n expect(requests).to.have.length(2);\n expect(requests[0].data.imp).to.have.length(1);\n expect(requests[0].data.imp[0].banner).to.exist;\n expect(requests[0].data.imp[0].video).to.not.exist;\n expect(requests[0].data.imp[0].native).to.not.exist;\n expect(requests[1].data.imp).to.have.length(1);\n expect(requests[1].data.imp[0].banner).to.not.exist;\n expect(requests[1].data.imp[0].native).to.not.exist;\n if (FEATURES.VIDEO) {\n expect(requests[1].data.imp[0].video).to.exist;\n }\n })\n\n it('should be able to handle multiformat request - banner + native', () => {\n const multiformat = utils.deepClone(nativeBidRequest);\n multiformat.mediaTypes.banner = {\n sizes: [[300, 250], [300, 600]]\n }\n const requests = spec.buildRequests([multiformat], mockBidderRequest);\n expect(requests).to.have.length(1);\n expect(requests[0].data.imp).to.have.length(1);\n expect(requests[0].data.imp[0].banner).to.exist;\n expect(requests[0].data.imp[0].video).to.not.exist;\n if (FEATURES.NATIVE) {\n expect(requests[0].data.imp[0].native).to.exist;\n }\n })\n\n it('should be able to handle multiformat request - banner + video + native', () => {\n const multiformat = utils.deepClone(nativeBidRequest);\n multiformat.mediaTypes.video = {\n context: 'outstream',\n playerSize: [640, 480]\n };\n multiformat.mediaTypes.banner = {\n sizes: [[300, 250]]\n }\n const requests = spec.buildRequests([multiformat], mockBidderRequest);\n expect(requests).to.have.length(2);\n expect(requests[0].data.imp).to.have.length(1);\n expect(requests[0].data.imp[0].banner).to.exist;\n expect(requests[0].data.imp[0].video).to.not.exist;\n if (FEATURES.NATIVE) {\n expect(requests[0].data.imp[0].native).to.exist;\n }\n expect(requests[1].data.imp).to.have.length(1);\n expect(requests[1].data.imp[0].banner).to.not.exist;\n expect(requests[1].data.imp[0].native).to.not.exist;\n if (FEATURES.VIDEO) {\n expect(requests[1].data.imp[0].video).to.exist;\n }\n })\n\n it('should send bid request to openx url via POST', function () {\n const request = spec.buildRequests(bidRequestsWithMediaTypes, mockBidderRequest);\n expect(request[0].url).to.equal(REQUEST_URL);\n expect(request[0].method).to.equal('POST');\n expect(request[0].data.ext.pv).to.equal(version);\n });\n\n it('should send delivery domain, if available', function () {\n const request = spec.buildRequests(bidRequestsWithMediaTypes, mockBidderRequest);\n expect(request[0].data.ext.delDomain).to.equal(bidRequestsWithMediaTypes[0].params.delDomain);\n expect(request[0].data.ext.platformId).to.be.undefined;\n });\n\n it('should send platform id, if available', function () {\n bidRequestsWithMediaTypes[0].params.platform = '1cabba9e-cafe-3665-beef-f00f00f00f00';\n bidRequestsWithMediaTypes[1].params.platform = '51ca3159-abc2-4035-8e00-fe26eaa09397';\n\n const request = spec.buildRequests(bidRequestsWithMediaTypes, mockBidderRequest);\n expect(request[0].data.ext.platform).to.equal(bidRequestsWithMediaTypes[0].params.platform);\n expect(request[1].data.ext.platform).to.equal(bidRequestsWithMediaTypes[1].params.platform);\n });\n\n it('should send openx adunit codes', function () {\n const request = spec.buildRequests(bidRequestsWithMediaTypes, mockBidderRequest);\n expect(request[0].data.imp[0].tagid).to.equal(bidRequestsWithMediaTypes[0].params.unit);\n expect(request[1].data.imp[0].tagid).to.equal(bidRequestsWithMediaTypes[1].params.unit);\n });\n\n it('should send out custom params on bids that have customParams specified', function () {\n const bidRequest = Object.assign({},\n bidRequestsWithMediaTypes[0],\n {\n params: {\n unit: '12345678',\n delDomain: 'test-del-domain',\n customParams: {'Test1': 'testval1+', 'test2': ['testval2/', 'testval3']}\n }\n }\n );\n\n mockBidderRequest.bids = [bidRequest];\n const request = spec.buildRequests([bidRequest], mockBidderRequest);\n expect(request[0].data.imp[0].ext.customParams).to.equal(bidRequest.params.customParams);\n })\n\n describe('floors', function () {\n it('should send out custom floors on bids that have customFloors, no currency as account currency is used', function () {\n const bidRequest = Object.assign({},\n bidRequestsWithMediaTypes[0],\n {\n params: {\n unit: '12345678',\n delDomain: 'test-del-domain',\n customFloor: 1.500\n }\n }\n );\n\n const request = spec.buildRequests([bidRequest], mockBidderRequest);\n expect(request[0].data.imp[0].bidfloor).to.equal(bidRequest.params.customFloor);\n expect(request[0].data.imp[0].bidfloorcur).to.equal(undefined);\n });\n\n context('with floors module', function () {\n let adServerCurrencyStub;\n\n beforeEach(function () {\n adServerCurrencyStub = sinon\n .stub(config, 'getConfig')\n .withArgs('currency.adServerCurrency')\n });\n\n afterEach(function () {\n config.getConfig.restore();\n });\n\n it('should send out floors on bids in USD', function () {\n const bidRequest = Object.assign({},\n bidRequestsWithMediaTypes[0],\n {\n getFloor: () => {\n return {\n currency: 'USD',\n floor: 9.99\n }\n }\n }\n );\n\n const request = spec.buildRequests([bidRequest], mockBidderRequest);\n expect(request[0].data.imp[0].bidfloor).to.equal(9.99);\n expect(request[0].data.imp[0].bidfloorcur).to.equal('USD');\n });\n\n it('should send not send floors', function () {\n adServerCurrencyStub.returns('EUR');\n const bidRequest = Object.assign({},\n bidRequestsWithMediaTypes[0],\n {\n getFloor: () => {\n return {\n currency: 'BTC',\n floor: 9.99\n }\n }\n }\n );\n\n const request = spec.buildRequests([bidRequest], mockBidderRequest);\n expect(request[0].data.imp[0].bidfloor).to.equal(undefined)\n expect(request[0].data.imp[0].bidfloorcur).to.equal(undefined)\n });\n })\n })\n\n describe('FPD', function() {\n let bidRequests;\n const mockBidderRequest = {refererInfo: {}};\n\n beforeEach(function () {\n bidRequests = [{\n bidder: 'openx',\n params: {\n unit: '12345678-banner',\n delDomain: 'test-del-domain'\n },\n adUnitCode: 'adunit-code',\n mediaTypes: {\n banner: {\n sizes: [[300, 250], [300, 600]]\n }\n },\n bidId: 'test-bid-id',\n bidderRequestId: 'test-bidder-request-id',\n auctionId: 'test-auction-id',\n transactionId: 'test-transaction-id-1'\n }, {\n bidder: 'openx',\n mediaTypes: {\n video: {\n playerSize: [640, 480]\n }\n },\n params: {\n unit: '12345678-video',\n delDomain: 'test-del-domain'\n },\n 'adUnitCode': 'adunit-code',\n\n bidId: 'test-bid-id',\n bidderRequestId: 'test-bidder-request-id',\n auctionId: 'test-auction-id',\n transactionId: 'test-transaction-id-2'\n }];\n });\n\n it('ortb2.site should be merged in the request', function() {\n const request = spec.buildRequests(bidRequests, {\n ...mockBidderRequest,\n 'ortb2': {\n site: {\n domain: 'page.example.com',\n cat: ['IAB2'],\n sectioncat: ['IAB2-2']\n }\n }\n });\n const data = request[0].data;\n expect(data.site.domain).to.equal('page.example.com');\n expect(data.site.cat).to.deep.equal(['IAB2']);\n expect(data.site.sectioncat).to.deep.equal(['IAB2-2']);\n });\n\n it('ortb2.user should be merged in the request', function() {\n const request = spec.buildRequests(bidRequests, {\n ...mockBidderRequest,\n 'ortb2': {\n user: {\n yob: 1985\n }\n }\n });\n const data = request[0].data;\n expect(data.user.yob).to.equal(1985);\n });\n\n describe('ortb2Imp', function() {\n describe('ortb2Imp.ext.data.pbadslot', function() {\n beforeEach(function () {\n if (bidRequests[0].hasOwnProperty('ortb2Imp')) {\n delete bidRequests[0].ortb2Imp;\n }\n });\n\n it('should not send if imp[].ext.data object is invalid', function() {\n bidRequests[0].ortb2Imp = {\n ext: {}\n };\n const request = spec.buildRequests(bidRequests, mockBidderRequest);\n const data = request[0].data;\n expect(data.imp[0].ext).to.not.have.property('data');\n });\n\n it('should not send if imp[].ext.data.pbadslot is undefined', function() {\n bidRequests[0].ortb2Imp = {\n ext: {\n data: {\n }\n }\n };\n const request = spec.buildRequests(bidRequests, mockBidderRequest);\n const data = request[0].data;\n if (data.imp[0].ext.data) {\n expect(data.imp[0].ext.data).to.not.have.property('pbadslot');\n } else {\n expect(data.imp[0].ext).to.not.have.property('data');\n }\n });\n\n it('should send if imp[].ext.data.pbadslot is string', function() {\n bidRequests[0].ortb2Imp = {\n ext: {\n data: {\n pbadslot: 'abcd'\n }\n }\n };\n const request = spec.buildRequests(bidRequests, mockBidderRequest);\n const data = request[0].data;\n expect(data.imp[0].ext.data).to.have.property('pbadslot');\n expect(data.imp[0].ext.data.pbadslot).to.equal('abcd');\n });\n });\n\n describe('ortb2Imp.ext.data.adserver', function() {\n beforeEach(function () {\n if (bidRequests[0].hasOwnProperty('ortb2Imp')) {\n delete bidRequests[0].ortb2Imp;\n }\n });\n\n it('should not send if imp[].ext.data object is invalid', function() {\n bidRequests[0].ortb2Imp = {\n ext: {}\n };\n const request = spec.buildRequests(bidRequests, mockBidderRequest);\n const data = request[0].data;\n expect(data.imp[0].ext).to.not.have.property('data');\n });\n\n it('should not send if imp[].ext.data.adserver is undefined', function() {\n bidRequests[0].ortb2Imp = {\n ext: {\n data: {\n }\n }\n };\n const request = spec.buildRequests(bidRequests, mockBidderRequest);\n const data = request[0].data;\n if (data.imp[0].ext.data) {\n expect(data.imp[0].ext.data).to.not.have.property('adserver');\n } else {\n expect(data.imp[0].ext).to.not.have.property('data');\n }\n });\n\n it('should send', function() {\n const adSlotValue = 'abc';\n bidRequests[0].ortb2Imp = {\n ext: {\n data: {\n adserver: {\n name: 'GAM',\n adslot: adSlotValue\n }\n }\n }\n };\n const request = spec.buildRequests(bidRequests, mockBidderRequest);\n const data = request[0].data;\n expect(data.imp[0].ext.data.adserver.name).to.equal('GAM');\n expect(data.imp[0].ext.data.adserver.adslot).to.equal(adSlotValue);\n });\n });\n\n describe('ortb2Imp.ext.data.other', function() {\n beforeEach(function () {\n if (bidRequests[0].hasOwnProperty('ortb2Imp')) {\n delete bidRequests[0].ortb2Imp;\n }\n });\n\n it('should not send if imp[].ext.data object is invalid', function() {\n bidRequests[0].ortb2Imp = {\n ext: {}\n };\n const request = spec.buildRequests(bidRequests, mockBidderRequest);\n const data = request[0].data;\n expect(data.imp[0].ext).to.not.have.property('data');\n });\n\n it('should not send if imp[].ext.data.other is undefined', function() {\n bidRequests[0].ortb2Imp = {\n ext: {\n data: {\n }\n }\n };\n const request = spec.buildRequests(bidRequests, mockBidderRequest);\n const data = request[0].data;\n if (data.imp[0].ext.data) {\n expect(data.imp[0].ext.data).to.not.have.property('other');\n } else {\n expect(data.imp[0].ext).to.not.have.property('data');\n }\n });\n\n it('ortb2Imp.ext.data.other', function() {\n bidRequests[0].ortb2Imp = {\n ext: {\n data: {\n other: 1234\n }\n }\n };\n const request = spec.buildRequests(bidRequests, mockBidderRequest);\n const data = request[0].data;\n expect(data.imp[0].ext.data.other).to.equal(1234);\n });\n });\n });\n\n describe('with user agent client hints', function () {\n it('should add device.sua if available', function () {\n const bidderRequestWithUserAgentClientHints = { refererInfo: {},\n ortb2: {\n device: {\n sua: {\n source: 2,\n platform: {\n brand: 'macOS',\n version: [ '12', '4', '0' ]\n },\n browsers: [\n {\n brand: 'Chromium',\n version: [ '106', '0', '5249', '119' ]\n },\n {\n brand: 'Google Chrome',\n version: [ '106', '0', '5249', '119' ]\n },\n {\n brand: 'Not;A=Brand',\n version: [ '99', '0', '0', '0' ]\n }],\n mobile: 0,\n model: 'Pro',\n bitness: '64',\n architecture: 'x86'\n }\n }\n }};\n\n let request = spec.buildRequests(bidRequests, bidderRequestWithUserAgentClientHints);\n expect(request[0].data.device.sua).to.exist;\n expect(request[0].data.device.sua).to.deep.equal(bidderRequestWithUserAgentClientHints.ortb2.device.sua);\n const bidderRequestWithoutUserAgentClientHints = {refererInfo: {}, ortb2: {}};\n request = spec.buildRequests(bidRequests, bidderRequestWithoutUserAgentClientHints);\n expect(request[0].data.device?.sua).to.not.exist;\n });\n });\n });\n\n context('when there is a consent management framework', function () {\n let bidRequests;\n let mockConfig;\n let bidderRequest;\n\n beforeEach(function () {\n bidRequests = [{\n bidder: 'openx',\n params: {\n unit: '12345678-banner',\n delDomain: 'test-del-domain'\n },\n adUnitCode: 'adunit-code',\n mediaTypes: {\n banner: {\n sizes: [[300, 250], [300, 600]]\n }\n },\n bidId: 'test-bid-id',\n bidderRequestId: 'test-bidder-request-id',\n auctionId: 'test-auction-id',\n transactionId: 'test-transaction-id-1'\n }, {\n bidder: 'openx',\n mediaTypes: {\n video: {\n playerSize: [640, 480]\n }\n },\n params: {\n unit: '12345678-video',\n delDomain: 'test-del-domain'\n },\n 'adUnitCode': 'adunit-code',\n\n bidId: 'test-bid-id',\n bidderRequestId: 'test-bidder-request-id',\n auctionId: 'test-auction-id',\n transactionId: 'test-transaction-id-2'\n }];\n });\n\n describe('us_privacy', function () {\n beforeEach(function () {\n bidderRequest = {\n uspConsent: '1YYN',\n refererInfo: {}\n };\n\n sinon.stub(config, 'getConfig').callsFake((key) => {\n return utils.deepAccess(mockConfig, key);\n });\n });\n\n afterEach(function () {\n config.getConfig.restore();\n });\n\n it('should send a signal to specify that US Privacy applies to this request', async function () {\n const request = spec.buildRequests(bidRequests, await addFPDToBidderRequest(bidderRequest));\n expect(request[0].data.regs.ext.us_privacy).to.equal('1YYN');\n expect(request[1].data.regs.ext.us_privacy).to.equal('1YYN');\n });\n\n it('should not send the regs object, when consent string is undefined', async function () {\n delete bidderRequest.uspConsent;\n const request = spec.buildRequests(bidRequests, await addFPDToBidderRequest(bidderRequest));\n expect(request[0].data.regs?.us_privacy).to.not.exist;\n });\n });\n\n describe('GDPR', function () {\n beforeEach(function () {\n bidderRequest = {\n gdprConsent: {\n consentString: 'test-gdpr-consent-string',\n addtlConsent: 'test-addtl-consent-string',\n gdprApplies: true\n },\n refererInfo: {}\n };\n\n mockConfig = {\n consentManagement: {\n cmpApi: 'iab',\n timeout: 1111,\n allowAuctionWithoutConsent: 'cancel'\n }\n };\n\n sinon.stub(config, 'getConfig').callsFake((key) => {\n return utils.deepAccess(mockConfig, key);\n });\n });\n\n afterEach(function () {\n config.getConfig.restore();\n });\n\n it('should send a signal to specify that GDPR applies to this request', async function () {\n bidderRequest.bids = bidRequests;\n const request = spec.buildRequests(bidRequests, await addFPDToBidderRequest(bidderRequest));\n expect(request[0].data.regs.ext.gdpr).to.equal(1);\n expect(request[1].data.regs.ext.gdpr).to.equal(1);\n });\n\n it('should send the consent string', async function () {\n bidderRequest.bids = bidRequests;\n const request = spec.buildRequests(bidRequests, await addFPDToBidderRequest(bidderRequest));\n expect(request[0].data.user.ext.consent).to.equal(bidderRequest.gdprConsent.consentString);\n expect(request[1].data.user.ext.consent).to.equal(bidderRequest.gdprConsent.consentString);\n });\n\n it('should send the addtlConsent string', async function () {\n bidderRequest.bids = bidRequests;\n const request = spec.buildRequests(bidRequests, await addFPDToBidderRequest(bidderRequest));\n expect(request[0].data.user.ext.ConsentedProvidersSettings.consented_providers).to.equal(bidderRequest.gdprConsent.addtlConsent);\n expect(request[1].data.user.ext.ConsentedProvidersSettings.consented_providers).to.equal(bidderRequest.gdprConsent.addtlConsent);\n });\n\n it('should send a signal to specify that GDPR does not apply to this request', async function () {\n bidderRequest.gdprConsent.gdprApplies = false;\n bidderRequest.bids = bidRequests;\n const request = spec.buildRequests(bidRequests, await addFPDToBidderRequest(bidderRequest));\n expect(request[0].data.regs.ext.gdpr).to.equal(0);\n expect(request[1].data.regs.ext.gdpr).to.equal(0);\n });\n\n it('when GDPR application is undefined, should not send a signal to specify whether GDPR applies to this request, ' +\n 'but can send consent data, ', async function () {\n delete bidderRequest.gdprConsent.gdprApplies;\n bidderRequest.bids = bidRequests;\n const request = spec.buildRequests(bidRequests, await addFPDToBidderRequest(bidderRequest));\n expect(request[0].data.regs?.ext?.gdpr).to.not.be.ok;\n expect(request[0].data.user.ext.consent).to.equal(bidderRequest.gdprConsent.consentString);\n expect(request[1].data.user.ext.consent).to.equal(bidderRequest.gdprConsent.consentString);\n });\n\n it('when consent string is undefined, should not send the consent string, ', async function () {\n delete bidderRequest.gdprConsent.consentString;\n bidderRequest.bids = bidRequests;\n const request = spec.buildRequests(bidRequests, await addFPDToBidderRequest(bidderRequest));\n expect(request[0].data.imp[0].ext.consent).to.equal(undefined);\n expect(request[1].data.imp[0].ext.consent).to.equal(undefined);\n });\n });\n\n describe('GPP', function () {\n it('should send GPP string and GPP section IDs in bid request when available', async function () {\n bidderRequest.bids = bidRequests;\n bidderRequest.ortb2 = {\n regs: {\n gpp: 'test-gpp-string',\n gpp_sid: [6]\n }\n };\n const request = spec.buildRequests(bidRequests, bidderRequest);\n expect(request[0].data.regs.gpp).to.equal('test-gpp-string');\n expect(request[0].data.regs.gpp_sid).to.deep.equal([6]);\n expect(request[1].data.regs.gpp).to.equal('test-gpp-string');\n expect(request[1].data.regs.gpp_sid).to.deep.equal([6]);\n });\n\n it('should not send GPP string and GPP section IDs in bid request when not available', async function () {\n bidderRequest.bids = bidRequests;\n bidderRequest.ortb2 = {\n regs: {}\n };\n const request = spec.buildRequests(bidRequests, bidderRequest);\n expect(request[0].data.regs.gpp).to.not.exist;\n expect(request[0].data.regs.gpp_sid).to.not.exist;\n expect(request[1].data.regs.gpp).to.not.exist;\n expect(request[1].data.regs.gpp_sid).to.not.exist;\n });\n });\n });\n\n context('coppa', function() {\n it('when there are no coppa param settings, should not send a coppa flag', async function () {\n const request = spec.buildRequests(bidRequestsWithMediaTypes, await addFPDToBidderRequest(mockBidderRequest));\n expect(request[0].data.regs?.coppa).to.be.not.ok;\n });\n\n it('should send a coppa flag there is when there is coppa param settings in the bid requests', async function () {\n const mockConfig = {\n coppa: true\n };\n\n sinon.stub(config, 'getConfig').callsFake((key) => {\n return utils.deepAccess(mockConfig, key);\n });\n\n const request = spec.buildRequests(bidRequestsWithMediaTypes, await addFPDToBidderRequest(mockBidderRequest));\n expect(request[0].data.regs.coppa).to.equal(1);\n });\n\n it('should send a coppa flag there is when there is coppa param settings in the bid params', async function () {\n const request = spec.buildRequests(bidRequestsWithMediaTypes, await addFPDToBidderRequest(mockBidderRequest));\n request.params = {coppa: true};\n expect(request[0].data.regs.coppa).to.equal(1);\n });\n\n after(function () {\n config.getConfig.restore()\n });\n });\n\n context('do not track (DNT)', function() {\n let doNotTrackStub;\n\n beforeEach(function () {\n doNotTrackStub = sinon.stub(utils, 'getDNT');\n });\n afterEach(function() {\n doNotTrackStub.restore();\n });\n\n it('when there is a do not track, should send a dnt', async function () {\n doNotTrackStub.returns(1);\n\n const request = spec.buildRequests(bidRequestsWithMediaTypes, await addFPDToBidderRequest(mockBidderRequest));\n expect(request[0].data.device.dnt).to.equal(1);\n });\n\n it('when there is not do not track, don\\'t send dnt', async function () {\n doNotTrackStub.returns(0);\n\n const request = spec.buildRequests(bidRequestsWithMediaTypes, await addFPDToBidderRequest(mockBidderRequest));\n expect(request[0].data.device.dnt).to.equal(0);\n });\n\n it('when there is no defined do not track, don\\'t send dnt', async function () {\n doNotTrackStub.returns(null);\n\n const request = spec.buildRequests(bidRequestsWithMediaTypes, await addFPDToBidderRequest(mockBidderRequest));\n expect(request[0].data.device.dnt).to.equal(0);\n });\n });\n\n context('supply chain (schain)', function () {\n let bidRequests;\n let schainConfig;\n const supplyChainNodePropertyOrder = ['asi', 'sid', 'hp', 'rid', 'name', 'domain'];\n\n beforeEach(function () {\n schainConfig = {\n ver: '1.0',\n complete: 1,\n nodes: [\n {\n asi: 'exchange1.com',\n sid: '1234',\n hp: 1,\n rid: 'bid-request-1',\n name: 'publisher',\n domain: 'publisher.com'\n // omitted ext\n },\n {\n asi: 'exchange2.com',\n sid: 'abcd',\n hp: 1,\n rid: 'bid-request-2',\n // name field missing\n domain: 'intermediary.com'\n },\n {\n asi: 'exchange3.com',\n sid: '4321',\n hp: 1,\n // request id\n // name field missing\n domain: 'intermediary-2.com'\n }\n ]\n };\n\n bidRequests = [{\n bidder: 'openx',\n params: {\n unit: '11',\n delDomain: 'test-del-domain'\n },\n adUnitCode: '/adunit-code/test-path',\n mediaTypes: {\n banner: {\n sizes: [[300, 250], [300, 600]]\n }\n },\n bidId: 'test-bid-id-1',\n bidderRequestId: 'test-bid-request-1',\n auctionId: 'test-auction-1',\n ortb2: {source: {\n schain: schainConfig,\n ext: {schain: schainConfig}\n }}\n }];\n\n // Add schain to mockBidderRequest as well\n mockBidderRequest.ortb2 = {\n source: {\n schain: schainConfig,\n ext: {schain: schainConfig}\n }\n };\n });\n\n it('should send a supply chain object', function () {\n const request = spec.buildRequests(bidRequests, mockBidderRequest);\n expect(request[0].data.source.ext.schain).to.deep.equal(schainConfig);\n });\n\n it('should send the supply chain object with the right version', function () {\n const request = spec.buildRequests(bidRequests, mockBidderRequest);\n expect(request[0].data.source.ext.schain.ver).to.equal(schainConfig.ver);\n });\n\n it('should send the supply chain object with the right complete value', function () {\n const request = spec.buildRequests(bidRequests, mockBidderRequest);\n expect(request[0].data.source.ext.schain.complete).to.equal(schainConfig.complete);\n });\n });\n\n context('when there are userid providers', function () {\n const eids = [\n {\n source: 'adserver.org',\n uids: [{\n id: 'some-random-id-value',\n atype: 1,\n ext: {\n rtiPartner: 'TDID'\n }\n }]\n },\n {\n source: 'id5-sync.com',\n uids: [{\n id: 'some-random-id-value',\n atype: 1\n }]\n },\n {\n source: 'sharedid.org',\n uids: [{\n id: 'some-random-id-value',\n atype: 1,\n ext: {\n third: 'some-random-id-value'\n }\n }]\n }\n ];\n\n it(`should send the user id under the extended ids`, function () {\n const bidRequests = [{\n bidder: 'openx',\n params: {\n unit: '11',\n delDomain: 'test-del-domain'\n },\n adUnitCode: 'adunit-code',\n mediaTypes: {\n banner: {\n sizes: [[300, 250], [300, 600]]\n }\n },\n bidId: 'test-bid-id-1',\n bidderRequestId: 'test-bid-request-1',\n auctionId: 'test-auction-1',\n }];\n // enrich bid request with userId key/value\n\n mockBidderRequest.ortb2 = {user: {ext: {eids}}}\n const request = spec.buildRequests(bidRequests, mockBidderRequest);\n expect(request[0].data.user.ext.eids).to.eql(eids);\n });\n\n it(`when no user ids are available, it should not send any extended ids`, function () {\n const request = spec.buildRequests(bidRequestsWithMediaTypes, mockBidderRequest);\n expect(request[0].data).to.not.have.any.keys('user');\n });\n });\n\n context('FLEDGE', function() {\n it('when FLEDGE is enabled, should send whatever is set in ortb2imp.ext.ae in all bid requests', function () {\n const request = spec.buildRequests(bidRequestsWithMediaTypes, {\n ...mockBidderRequest,\n paapi: {\n enabled: true\n }\n });\n expect(request[0].data.imp[0].ext.ae).to.equal(2);\n });\n });\n });\n\n context('banner', function () {\n it('should send bid request with a mediaTypes specified with banner type', function () {\n const request = spec.buildRequests(bidRequestsWithMediaTypes, mockBidderRequest);\n expect(request[0].data.imp[0]).to.have.any.keys(BANNER);\n });\n });\n\n if (FEATURES.VIDEO) {\n context('video', function () {\n it('should send bid request with a mediaTypes specified with video type', function () {\n const request = spec.buildRequests(bidRequestsWithMediaTypes, mockBidderRequest);\n expect(request[1].data.imp[0]).to.have.any.keys(VIDEO);\n });\n\n it('Update imp.video with OpenRTB options from mimeTypes and params', function() {\n const bid01 = new BidRequestBuilder({\n adUnitCode: 'adunit-code-01',\n mediaTypes: {\n banner: { sizes: [[300, 250]] },\n video: {\n context: 'outstream',\n playerSize: [[300, 250]],\n mimes: ['video/mp4'],\n protocols: [8]\n }\n },\n }).withParams({\n // options in video, will merge\n video: {\n skip: 1,\n skipafter: 4,\n minduration: 10,\n maxduration: 30\n }\n }).build();\n\n const bidderRequest = new BidderRequestBuilder().build();\n const expected = {\n mimes: ['video/mp4'],\n skip: 1,\n skipafter: 4,\n minduration: 10,\n maxduration: 30,\n protocols: [8],\n w: 300,\n h: 250\n };\n const requests = spec.buildRequests([bid01], bidderRequest);\n expect(requests).to.have.lengthOf(2);\n expect(requests[1].data.imp[0].video).to.deep.equal(expected);\n });\n });\n }\n });\n\n describe('interpretResponse()', function () {\n let bidRequestConfigs;\n let bidRequest;\n let bidResponse;\n let bid;\n\n context('when there is an nbr response', function () {\n let response;\n beforeEach(function () {\n bidRequestConfigs = [{\n bidder: 'openx',\n params: {\n unit: '12345678',\n delDomain: 'test-del-domain'\n },\n adUnitCode: 'adunit-code',\n mediaTypes: {\n banner: {\n sizes: [[300, 250], [300, 600]],\n },\n },\n bidId: 'test-bid-id',\n bidderRequestId: 'test-bidder-request-id',\n auctionId: 'test-auction-id'\n }];\n\n bidRequest = spec.buildRequests(bidRequestConfigs, {refererInfo: {}})[0];\n\n bidResponse = {nbr: 0}; // Unknown error\n response = spec.interpretResponse({body: bidResponse}, bidRequest);\n });\n\n it('should not return any bids', function () {\n expect(response.bids.length).to.equal(0);\n });\n });\n\n context('when no seatbid in response', function () {\n let response;\n beforeEach(function () {\n bidRequestConfigs = [{\n bidder: 'openx',\n params: {\n unit: '12345678',\n delDomain: 'test-del-domain'\n },\n adUnitCode: 'adunit-code',\n mediaTypes: {\n banner: {\n sizes: [[300, 250], [300, 600]],\n },\n },\n bidId: 'test-bid-id',\n bidderRequestId: 'test-bidder-request-id',\n auctionId: 'test-auction-id'\n }];\n\n bidRequest = spec.buildRequests(bidRequestConfigs, {refererInfo: {}})[0];\n\n bidResponse = {ext: {}, id: 'test-bid-id'};\n response = spec.interpretResponse({body: bidResponse}, bidRequest);\n });\n\n it('should not return any bids', function () {\n expect(response.bids.length).to.equal(0);\n });\n });\n\n context('when there is no response', function () {\n let response;\n beforeEach(function () {\n bidRequestConfigs = [{\n bidder: 'openx',\n params: {\n unit: '12345678',\n delDomain: 'test-del-domain'\n },\n adUnitCode: 'adunit-code',\n mediaTypes: {\n banner: {\n sizes: [[300, 250], [300, 600]],\n },\n },\n bidId: 'test-bid-id',\n bidderRequestId: 'test-bidder-request-id',\n auctionId: 'test-auction-id'\n }];\n\n bidRequest = spec.buildRequests(bidRequestConfigs, {refererInfo: {}})[0];\n\n bidResponse = ''; // Unknown error\n response = spec.interpretResponse({body: bidResponse}, bidRequest);\n });\n\n it('should not return any bids', function () {\n expect(response.bids.length).to.equal(0);\n });\n });\n\n const SAMPLE_BID_REQUESTS = [{\n bidder: 'openx',\n params: {\n unit: '12345678',\n delDomain: 'test-del-domain'\n },\n adUnitCode: 'adunit-code',\n mediaTypes: {\n banner: {\n sizes: [[300, 250], [300, 600]],\n },\n },\n bidId: 'test-bid-id',\n bidderRequestId: 'test-bidder-request-id',\n auctionId: 'test-auction-id'\n }];\n\n const SAMPLE_BID_RESPONSE = {\n seatbid: [{\n bid: [{\n impid: 'test-bid-id',\n price: 2,\n w: 300,\n h: 250,\n crid: 'test-creative-id',\n dealid: 'test-deal-id',\n adm: 'test-ad-markup',\n mtype: 1,\n adomain: ['brand.com'],\n ext: {\n dsp_id: '123',\n buyer_id: '456',\n brand_id: '789'\n }\n }]\n }],\n cur: 'AUS'\n };\n\n context('when there is a response, the common response properties', function () {\n beforeEach(function () {\n bidRequestConfigs = deepClone(SAMPLE_BID_REQUESTS);\n bidRequest = spec.buildRequests(bidRequestConfigs, {refererInfo: {}})[0];\n bidResponse = deepClone(SAMPLE_BID_RESPONSE);\n\n bid = spec.interpretResponse({body: bidResponse}, bidRequest).bids[0];\n });\n\n it('should return a price', function () {\n expect(bid.cpm).to.equal(bidResponse.seatbid[0].bid[0].price);\n });\n\n it('should return a request id', function () {\n expect(bid.requestId).to.equal(bidResponse.seatbid[0].bid[0].impid);\n });\n\n it('should return width and height for the creative', function () {\n expect(bid.width).to.equal(bidResponse.seatbid[0].bid[0].w);\n expect(bid.height).to.equal(bidResponse.seatbid[0].bid[0].h);\n });\n\n it('should return a creativeId', function () {\n expect(bid.creativeId).to.equal(bidResponse.seatbid[0].bid[0].crid);\n });\n\n it('should return an ad', function () {\n expect(bid.ad).to.equal(bidResponse.seatbid[0].bid[0].adm);\n });\n\n it('should return a deal id if it exists', function () {\n expect(bid.dealId).to.equal(bidResponse.seatbid[0].bid[0].dealid);\n });\n\n it('should have a time-to-live of 5 minutes', function () {\n expect(bid.ttl).to.equal(300);\n });\n\n it('should always return net revenue', function () {\n expect(bid.netRevenue).to.equal(true);\n });\n\n it('should return a currency', function () {\n expect(bid.currency).to.equal(bidResponse.cur);\n });\n\n it('should return a brand ID', function () {\n expect(bid.meta.brandId).to.equal(bidResponse.seatbid[0].bid[0].ext.brand_id);\n });\n\n it('should return a dsp ID', function () {\n expect(bid.meta.networkId).to.equal(bidResponse.seatbid[0].bid[0].ext.dsp_id);\n });\n\n it('should return a buyer ID', function () {\n expect(bid.meta.advertiserId).to.equal(bidResponse.seatbid[0].bid[0].ext.buyer_id);\n });\n\n it('should return adomain', function () {\n expect(bid.meta.advertiserDomains).to.equal(bidResponse.seatbid[0].bid[0].adomain);\n });\n });\n\n context('when banner request and the response is a banner', function() {\n beforeEach(function () {\n bidRequestConfigs = [{\n bidder: 'openx',\n params: {\n unit: '12345678',\n delDomain: 'test-del-domain'\n },\n adUnitCode: 'adunit-code',\n mediaTypes: {\n banner: {\n sizes: [[300, 250], [300, 600]],\n },\n },\n bidId: 'test-bid-id',\n bidderRequestId: 'test-bidder-request-id',\n auctionId: 'test-auction-id'\n }];\n\n bidRequest = spec.buildRequests(bidRequestConfigs, {refererInfo: {}})[0];\n\n bidResponse = {\n seatbid: [{\n bid: [{\n impid: 'test-bid-id',\n price: 2,\n w: 300,\n h: 250,\n crid: 'test-creative-id',\n dealid: 'test-deal-id',\n adm: 'test-ad-markup',\n mtype: 1,\n }]\n }],\n cur: 'AUS'\n };\n\n bid = spec.interpretResponse({body: bidResponse}, bidRequest).bids[0];\n });\n\n it('should return the proper mediaType', function () {\n expect(bid.mediaType).to.equal(Object.keys(bidRequestConfigs[0].mediaTypes)[0]);\n });\n });\n\n if (FEATURES.VIDEO) {\n context('when video request and the response is a video', function() {\n beforeEach(function () {\n bidRequestConfigs = [{\n bidder: 'openx',\n params: {\n unit: '12345678',\n delDomain: 'test-del-domain'\n },\n adUnitCode: 'adunit-code',\n mediaTypes: {\n video: {\n playerSize: [[640, 360], [854, 480]],\n },\n },\n bidId: 'test-bid-id',\n bidderRequestId: 'test-bidder-request-id',\n auctionId: 'test-auction-id'\n }];\n\n bidRequest = spec.buildRequests(bidRequestConfigs, {refererInfo: {}})[0];\n\n bidResponse = {\n seatbid: [{\n bid: [{\n impid: 'test-bid-id',\n price: 2,\n w: 854,\n h: 480,\n crid: 'test-creative-id',\n dealid: 'test-deal-id',\n adm: '<VAST version=\"4.0\"><Ad></Ad></VAST>',\n }]\n }],\n cur: 'AUS'\n };\n });\n\n it('should return the proper mediaType', function () {\n bid = spec.interpretResponse({body: bidResponse}, bidRequest).bids[0];\n expect(bid.mediaType).to.equal(Object.keys(bidRequestConfigs[0].mediaTypes)[0]);\n });\n\n it('should return the proper vastUrl', function () {\n const winUrl = 'https//my.win.url';\n bidResponse.seatbid[0].bid[0].nurl = winUrl\n bid = spec.interpretResponse({body: bidResponse}, bidRequest).bids[0];\n\n expect(bid.vastUrl).to.equal(winUrl);\n });\n });\n\n context('when multi-format request (banner + video) and the response is a video', function() {\n beforeEach(function () {\n bidRequestConfigs = [{\n bidder: 'openx',\n params: {\n unit: '12345678',\n delDomain: 'test-del-domain'\n },\n adUnitCode: 'adunit-code',\n mediaTypes: {\n banner: {\n size: [[300, 600]]\n },\n video: {\n playerSize: [[640, 360], [854, 480]],\n },\n },\n bidId: 'test-bid-id',\n bidderRequestId: 'test-bidder-request-id',\n auctionId: 'test-auction-id'\n }];\n\n bidRequest = spec.buildRequests(bidRequestConfigs, {refererInfo: {}})[0];\n\n bidResponse = {\n seatbid: [{\n bid: [{\n impid: 'test-bid-id',\n price: 5,\n adm: '<VAST version=\"4.0\"><Ad></Ad></VAST>',\n mtype: 2\n }]\n }],\n cur: 'USD'\n };\n });\n\n it('should return video mediaType', function () {\n bid = spec.interpretResponse({body: bidResponse}, bidRequest).bids[0];\n expect(bid.mediaType).to.equal(VIDEO);\n });\n });\n\n context('when multiple bid requests (banner + video) and the response is a banner', function() {\n beforeEach(function () {\n bidRequestConfigs = [{\n bidder: 'openx',\n params: {\n unit: '12345678',\n delDomain: 'test-del-domain'\n },\n adUnitCode: 'adunit-code',\n mediaTypes: {\n video: {\n playerSize: [[640, 360], [854, 480]],\n },\n },\n bidId: 'test-bid-id-1',\n bidderRequestId: 'test-bidder-request-id-1',\n auctionId: 'test-auction-id-1'\n },\n {\n bidder: 'openx',\n params: {\n unit: '12345678',\n delDomain: 'test-del-domain'\n },\n adUnitCode: 'adunit-code',\n mediaTypes: {\n banner: {\n sizes: [[300, 250], [300, 600]]\n }\n },\n bidId: 'test-bid-id-2',\n bidderRequestId: 'test-bidder-request-id-2',\n auctionId: 'test-auction-id-2'\n }];\n\n bidRequest = spec.buildRequests(bidRequestConfigs, {refererInfo: {}})[0];\n\n bidResponse = {\n seatbid: [{\n bid: [{\n impid: 'test-bid-id-2',\n price: 2,\n adm: '<iframe src=\"https://test.url\"></iframe>',\n mtype: 1\n }]\n }],\n cur: 'USD'\n };\n });\n\n it('should return banner mediaType', function () {\n bid = spec.interpretResponse({body: bidResponse}, bidRequest).bids[0];\n expect(bid.mediaType).to.equal(BANNER);\n });\n });\n }\n\n if (FEATURES.NATIVE) {\n context('when native request and the response is a native', function() {\n beforeEach(function () {\n const nativeOrtbRequest = {\n ver: '1.2',\n assets: [{\n id: 1,\n required: 1,\n title: {\n len: 80\n }\n }]\n };\n bidRequestConfigs = [{\n bidder: 'openx',\n params: {\n unit: '12345678',\n delDomain: 'test-del-domain'\n },\n adUnitCode: 'adunit-code',\n mediaTypes: {\n native: {\n ...nativeOrtbRequest\n },\n },\n nativeOrtbRequest,\n bidId: 'test-bid-id',\n bidderRequestId: 'test-bidder-request-id',\n auctionId: 'test-auction-id'\n }];\n\n bidRequest = spec.buildRequests(bidRequestConfigs, {refererInfo: {}})[0];\n\n bidResponse = {\n seatbid: [{\n bid: [{\n impid: 'test-bid-id',\n price: 2,\n adm: '{\"ver\": \"1.2\", \"assets\": [{\"id\": 1, \"required\": 1,\"title\": {\"text\": \"OpenX (Title)\"}}], \"link\": {\"url\": \"https://www.openx.com/\"}, \"eventtrackers\":[{\"event\":1,\"method\":1,\"url\":\"http://example.com/impression\"}]}',\n mtype: 4\n }]\n }],\n cur: 'AUS'\n };\n });\n\n it('should return the proper mediaType', function () {\n bid = spec.interpretResponse({body: bidResponse}, bidRequest).bids[0];\n expect(bid.mediaType).to.equal(Object.keys(bidRequestConfigs[0].mediaTypes)[0]);\n });\n\n it('should return parsed adm JSON in native.ortb response field', function () {\n bid = spec.interpretResponse({body: bidResponse}, bidRequest).bids[0];\n\n expect(bid.native.ortb).to.deep.equal({\n ver: '1.2',\n assets: [{\n id: 1,\n required: 1,\n title: {text: 'OpenX (Title)'}\n }],\n link: {url: 'https://www.openx.com/'},\n eventtrackers: [{\n event: 1,\n method: 1,\n url: 'http://example.com/impression'\n }]\n });\n });\n });\n\n context('when multi-format request (banner + native) and the response is a banner', function() {\n beforeEach(function () {\n const nativeOrtbRequest = {\n ver: '1.2',\n assets: [{\n id: 1,\n required: 1,\n title: {\n len: 80\n }\n }]\n };\n bidRequestConfigs = [{\n bidder: 'openx',\n params: {\n unit: '12345678',\n delDomain: 'test-del-domain'\n },\n adUnitCode: 'adunit-code',\n mediaTypes: {\n banner: {\n sizes: [[300, 250], [300, 600]]\n },\n native: {\n ...nativeOrtbRequest\n },\n },\n nativeOrtbRequest,\n bidId: 'test-bid-id',\n bidderRequestId: 'test-bidder-request-id',\n auctionId: 'test-auction-id'\n }];\n\n bidRequest = spec.buildRequests(bidRequestConfigs, {refererInfo: {}})[0];\n\n bidResponse = {\n seatbid: [{\n bid: [{\n impid: 'test-bid-id',\n price: 2,\n adm: '<iframe src=\"https://test.url\"></iframe>',\n mtype: 1\n }]\n }],\n cur: 'AUS'\n };\n });\n\n it('should return banner mediaType', function () {\n bid = spec.interpretResponse({body: bidResponse}, bidRequest).bids[0];\n expect(bid.mediaType).to.equal(BANNER);\n });\n });\n\n context('when multiple bid requests (banner + native) and the response is a native', function() {\n beforeEach(function () {\n const nativeOrtbRequest = {\n ver: '1.2',\n assets: [{\n id: 1,\n required: 1,\n title: {\n len: 80\n }\n }]\n };\n bidRequestConfigs = [{\n bidder: 'openx',\n params: {\n unit: '12345678',\n delDomain: 'test-del-domain'\n },\n adUnitCode: 'adunit-code',\n mediaTypes: {\n native: {\n ...nativeOrtbRequest\n },\n },\n nativeOrtbRequest,\n bidId: 'test-bid-id-1',\n bidderRequestId: 'test-bidder-request-id-1',\n auctionId: 'test-auction-id-1'\n },\n {\n bidder: 'openx',\n params: {\n unit: '12345678',\n delDomain: 'test-del-domain'\n },\n adUnitCode: 'adunit-code',\n mediaTypes: {\n banner: {\n sizes: [[300, 250], [300, 600]]\n }\n },\n bidId: 'test-bid-id-2',\n bidderRequestId: 'test-bidder-request-id-2',\n auctionId: 'test-auction-id-2'\n }];\n\n bidRequest = spec.buildRequests(bidRequestConfigs, {refererInfo: {}})[0];\n\n bidResponse = {\n seatbid: [{\n bid: [{\n impid: 'test-bid-id-1',\n price: 2,\n adm: '{\"ver\": \"1.2\", \"assets\": [{\"id\": 1, \"required\": 1,\"title\": {\"text\": \"OpenX (Title)\"}}], \"link\": {\"url\": \"https://www.openx.com/\"}, \"eventtrackers\":[{\"event\":1,\"method\":1,\"url\":\"http://example.com/impression\"}]}',\n mtype: 4\n }]\n }],\n cur: 'USD'\n };\n });\n\n it('should return native mediaType', function () {\n bid = spec.interpretResponse({body: bidResponse}, bidRequest).bids[0];\n expect(bid.mediaType).to.equal(NATIVE);\n });\n });\n }\n\n context('when the response contains FLEDGE interest groups config', function() {\n let response;\n\n beforeEach(function () {\n sinon.stub(config, 'getConfig')\n .withArgs('fledgeEnabled')\n .returns(true);\n\n bidRequestConfigs = [{\n bidder: 'openx',\n params: {\n unit: '12345678',\n delDomain: 'test-del-domain'\n },\n adUnitCode: 'adunit-code',\n mediaTypes: {\n banner: {\n sizes: [[300, 250], [300, 600]],\n },\n },\n bidId: 'test-bid-id',\n bidderRequestId: 'test-bidder-request-id',\n auctionId: 'test-auction-id'\n }];\n\n bidRequest = spec.buildRequests(bidRequestConfigs, {refererInfo: {}})[0];\n\n bidResponse = {\n seatbid: [{\n bid: [{\n impid: 'test-bid-id',\n price: 2,\n w: 300,\n h: 250,\n crid: 'test-creative-id',\n dealid: 'test-deal-id',\n adm: 'test-ad-markup'\n }]\n }],\n cur: 'AUS',\n ext: {\n fledge_auction_configs: {\n 'test-bid-id': {\n seller: 'codinginadtech.com',\n interestGroupBuyers: ['somedomain.com'],\n sellerTimeout: 0,\n perBuyerSignals: {\n 'somedomain.com': {\n base_bid_micros: 0.1,\n disallowed_advertiser_ids: [\n '1234',\n '2345'\n ],\n multiplier: 1.3,\n use_bid_multiplier: true,\n win_reporting_id: '1234567asdf'\n }\n }\n }\n }\n }\n };\n\n response = spec.interpretResponse({body: bidResponse}, bidRequest);\n });\n\n afterEach(function () {\n config.getConfig.restore();\n });\n\n it('should return FLEDGE auction_configs alongside bids', function () {\n expect(response).to.have.property('bids');\n expect(response).to.have.property('paapi');\n expect(response.paapi.length).to.equal(1);\n expect(response.paapi[0].bidId).to.equal('test-bid-id');\n });\n\n it('should inject ortb2Imp in auctionSignals', function () {\n const auctionConfig = response.paapi[0].config;\n expect(auctionConfig).to.deep.include({\n auctionSignals: {\n ortb2Imp: {\n id: 'test-bid-id',\n tagid: '12345678',\n banner: {\n topframe: 0,\n format: bidRequestConfigs[0].mediaTypes.banner.sizes.map(([w, h]) => ({w, h}))\n },\n ext: {\n divid: 'adunit-code',\n },\n secure: 1\n }\n }\n });\n })\n });\n });\n\n describe('user sync', function () {\n it('should register the default image pixel if no pixels available', function () {\n const syncs = spec.getUserSyncs(\n {pixelEnabled: true},\n []\n );\n expect(syncs).to.deep.equal([{type: 'image', url: DEFAULT_SYNC}]);\n });\n\n it('should register custom syncUrl when exists', function () {\n const syncs = spec.getUserSyncs(\n {pixelEnabled: true},\n [{body: {ext: {delDomain: 'www.url.com'}}}]\n );\n expect(syncs).to.deep.equal([{type: 'image', url: 'https://www.url.com/w/1.0/pd'}]);\n });\n\n it('should register custom syncUrl when exists', function () {\n const syncs = spec.getUserSyncs(\n {pixelEnabled: true},\n [{body: {ext: {platform: 'abc'}}}]\n );\n expect(syncs).to.deep.equal([{type: 'image', url: SYNC_URL + '?ph=abc'}]);\n });\n\n it('when iframe sync is allowed, it should register an iframe sync', function () {\n const syncs = spec.getUserSyncs(\n {iframeEnabled: true},\n []\n );\n expect(syncs).to.deep.equal([{type: 'iframe', url: DEFAULT_SYNC}]);\n });\n\n it('should prioritize iframe over image for user sync', function () {\n const syncs = spec.getUserSyncs(\n {iframeEnabled: true, pixelEnabled: true},\n []\n );\n expect(syncs).to.deep.equal([{type: 'iframe', url: DEFAULT_SYNC}]);\n });\n\n describe('when gdpr applies', function () {\n let gdprConsent;\n let gdprPixelUrl;\n const consentString = 'gdpr-pixel-consent';\n const gdprApplies = '1';\n beforeEach(() => {\n gdprConsent = {\n consentString,\n gdprApplies: true\n };\n\n gdprPixelUrl = `${SYNC_URL}&gdpr=${gdprApplies}&gdpr_consent=${consentString}`;\n });\n\n it('when there is a response, it should have the gdpr query params', () => {\n const [{url}] = spec.getUserSyncs(\n {iframeEnabled: true, pixelEnabled: true},\n [],\n gdprConsent\n );\n\n expect(url).to.have.string(`gdpr_consent=${consentString}`);\n expect(url).to.have.string(`gdpr=${gdprApplies}`);\n });\n\n it('should not send signals if no consent object is available', function () {\n const [{url}] = spec.getUserSyncs(\n {iframeEnabled: true, pixelEnabled: true},\n [],\n );\n expect(url).to.not.have.string('gdpr_consent=');\n expect(url).to.not.have.string('gdpr=');\n });\n });\n\n describe('when gpp applies', function () {\n it('should send GPP query params when GPP consent object available', () => {\n const gppConsent = {\n gppString: 'gpp-pixel-consent',\n applicableSections: [6, 7]\n }\n const [{url}] = spec.getUserSyncs(\n {iframeEnabled: true, pixelEnabled: true},\n [],\n undefined,\n undefined,\n gppConsent\n );\n\n expect(url).to.have.string(`gpp=gpp-pixel-consent`);\n expect(url).to.have.string(`gpp_sid=6,7`);\n });\n\n it('should send GDPR and GPP query params when both consent objects available', () => {\n const gdprConsent = {\n consentString: 'gdpr-pixel-consent',\n gdprApplies: true\n }\n const gppConsent = {\n gppString: 'gpp-pixel-consent',\n applicableSections: [6, 7]\n }\n const [{url}] = spec.getUserSyncs(\n {iframeEnabled: true, pixelEnabled: true},\n [],\n gdprConsent,\n undefined,\n gppConsent\n );\n\n expect(url).to.have.string(`gdpr_consent=gdpr-pixel-consent`);\n expect(url).to.have.string(`gdpr=1`);\n expect(url).to.have.string(`gpp=gpp-pixel-consent`);\n expect(url).to.have.string(`gpp_sid=6,7`);\n });\n\n it('should not send GPP query params when GPP string not available', function () {\n const gppConsent = {\n applicableSections: [6, 7]\n }\n const [{url}] = spec.getUserSyncs(\n {iframeEnabled: true, pixelEnabled: true},\n [],\n undefined,\n undefined,\n gppConsent\n );\n\n expect(url).to.not.have.string('gpp=');\n expect(url).to.not.have.string('gpp_sid=');\n });\n\n it('should not send GPP query params when GPP section IDs not available', function () {\n const gppConsent = {\n gppString: 'gpp-pixel-consent',\n }\n const [{url}] = spec.getUserSyncs(\n {iframeEnabled: true, pixelEnabled: true},\n [],\n undefined,\n undefined,\n gppConsent\n );\n\n expect(url).to.not.have.string('gpp=');\n expect(url).to.not.have.string('gpp_sid=');\n });\n\n it('should not send GPP query params when GPP section IDs empty', function () {\n const gppConsent = {\n gppString: 'gpp-pixel-consent',\n applicableSections: []\n }\n const [{url}] = spec.getUserSyncs(\n {iframeEnabled: true, pixelEnabled: true},\n [],\n undefined,\n undefined,\n gppConsent\n );\n\n expect(url).to.not.have.string('gpp=');\n expect(url).to.not.have.string('gpp_sid=');\n });\n\n it('should not send GPP query params when GPP consent object not available', function () {\n const [{url}] = spec.getUserSyncs(\n {iframeEnabled: true, pixelEnabled: true},\n [], undefined, undefined, undefined\n );\n expect(url).to.not.have.string('gpp=');\n expect(url).to.not.have.string('gpp_sid=');\n });\n });\n\n describe('when ccpa applies', function () {\n let usPrivacyConsent;\n let uspPixelUrl;\n const privacyString = 'TEST';\n beforeEach(() => {\n usPrivacyConsent = 'TEST';\n uspPixelUrl = `${DEFAULT_SYNC}&us_privacy=${privacyString}`\n });\n it('should send the us privacy string, ', () => {\n const [{url}] = spec.getUserSyncs(\n {iframeEnabled: true, pixelEnabled: true},\n [],\n undefined,\n usPrivacyConsent\n );\n expect(url).to.have.string(`us_privacy=${privacyString}`);\n });\n\n it('should not send signals if no consent string is available', function () {\n const [{url}] = spec.getUserSyncs(\n {iframeEnabled: true, pixelEnabled: true},\n [],\n );\n expect(url).to.not.have.string('us_privacy=');\n });\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}