prebid.js 7.43.0 → 7.44.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 (401) hide show
  1. package/dist/33acrossBidAdapter.js +1 -1
  2. package/dist/33acrossIdSystem.js +1 -1
  3. package/dist/adagioBidAdapter.js +1 -1
  4. package/dist/adbookpspBidAdapter.js +1 -1
  5. package/dist/adgenerationBidAdapter.js +1 -1
  6. package/dist/adkernelAdnAnalyticsAdapter.js +1 -1
  7. package/dist/admixerIdSystem.js +1 -1
  8. package/dist/adnuntiusBidAdapter.js +1 -1
  9. package/dist/adqueryBidAdapter.js +1 -1
  10. package/dist/adqueryIdSystem.js +1 -1
  11. package/dist/adrelevantisBidAdapter.js +1 -1
  12. package/dist/adrinoBidAdapter.js +1 -1
  13. package/dist/adriverIdSystem.js +1 -1
  14. package/dist/adsinteractiveBidAdapter.js +1 -0
  15. package/dist/adtrgtmeBidAdapter.js +1 -1
  16. package/dist/adxcgBidAdapter.js +1 -1
  17. package/dist/adyoulikeBidAdapter.js +1 -1
  18. package/dist/aidemBidAdapter.js +1 -1
  19. package/dist/airgridRtdProvider.js +1 -1
  20. package/dist/ajaBidAdapter.js +1 -1
  21. package/dist/akamaiDapRtdProvider.js +1 -1
  22. package/dist/amxBidAdapter.js +1 -1
  23. package/dist/amxIdSystem.js +1 -1
  24. package/dist/appierAnalyticsAdapter.js +1 -1
  25. package/dist/appnexusBidAdapter.js +1 -1
  26. package/dist/apstreamBidAdapter.js +1 -1
  27. package/dist/asoBidAdapter.js +1 -1
  28. package/dist/atsAnalyticsAdapter.js +1 -1
  29. package/dist/audiencerunBidAdapter.js +1 -1
  30. package/dist/axonixBidAdapter.js +1 -1
  31. package/dist/bedigitechBidAdapter.js +1 -0
  32. package/dist/bidglassBidAdapter.js +1 -1
  33. package/dist/big-richmediaBidAdapter.js +1 -1
  34. package/dist/bluebillywigBidAdapter.js +1 -1
  35. package/dist/blueconicRtdProvider.js +1 -1
  36. package/dist/bridgewellBidAdapter.js +1 -1
  37. package/dist/brightMountainMediaBidAdapter.js +1 -1
  38. package/dist/brightcomBidAdapter.js +1 -1
  39. package/dist/brightcomSSPBidAdapter.js +1 -1
  40. package/dist/browsiRtdProvider.js +1 -1
  41. package/dist/byDataAnalyticsAdapter.js +1 -1
  42. package/dist/carodaBidAdapter.js +1 -1
  43. package/dist/chtnwBidAdapter.js +1 -1
  44. package/dist/concertBidAdapter.js +1 -1
  45. package/dist/connectadBidAdapter.js +1 -1
  46. package/dist/consumableBidAdapter.js +1 -1
  47. package/dist/conversantAnalyticsAdapter.js +1 -1
  48. package/dist/conversantBidAdapter.js +1 -1
  49. package/dist/craftBidAdapter.js +1 -1
  50. package/dist/criteoBidAdapter.js +1 -1
  51. package/dist/criteoIdSystem.js +1 -1
  52. package/dist/cwireBidAdapter.js +1 -1
  53. package/dist/czechAdIdSystem.js +1 -1
  54. package/dist/dacIdSystem.js +1 -1
  55. package/dist/deepintentDpesIdSystem.js +1 -1
  56. package/dist/dependencies.json +3 -0
  57. package/dist/discoveryBidAdapter.js +1 -1
  58. package/dist/dspxBidAdapter.js +1 -1
  59. package/dist/eplanningBidAdapter.js +1 -1
  60. package/dist/feedadBidAdapter.js +1 -1
  61. package/dist/finativeBidAdapter.js +1 -1
  62. package/dist/fintezaAnalyticsAdapter.js +1 -1
  63. package/dist/fledgeForGpt.js +1 -1
  64. package/dist/freewheel-sspBidAdapter.js +1 -1
  65. package/dist/ftrackIdSystem.js +1 -1
  66. package/dist/gdprEnforcement.js +1 -1
  67. package/dist/glimpseBidAdapter.js +1 -1
  68. package/dist/gmosspBidAdapter.js +1 -1
  69. package/dist/gnetBidAdapter.js +1 -1
  70. package/dist/goldbachBidAdapter.js +1 -1
  71. package/dist/gravitoIdSystem.js +1 -1
  72. package/dist/greenbidsAnalyticsAdapter.js +1 -0
  73. package/dist/gridBidAdapter.js +1 -1
  74. package/dist/gridNMBidAdapter.js +1 -1
  75. package/dist/growthCodeAnalyticsAdapter.js +1 -1
  76. package/dist/growthCodeIdSystem.js +1 -1
  77. package/dist/gumgumBidAdapter.js +1 -1
  78. package/dist/h12mediaBidAdapter.js +1 -1
  79. package/dist/hadronAnalyticsAdapter.js +1 -1
  80. package/dist/hadronIdSystem.js +1 -1
  81. package/dist/hadronRtdProvider.js +1 -1
  82. package/dist/id5IdSystem.js +1 -1
  83. package/dist/idWardRtdProvider.js +1 -1
  84. package/dist/identityLinkIdSystem.js +1 -1
  85. package/dist/idxIdSystem.js +1 -1
  86. package/dist/imRtdProvider.js +1 -1
  87. package/dist/impactifyBidAdapter.js +1 -1
  88. package/dist/improvedigitalBidAdapter.js +1 -1
  89. package/dist/imuIdSystem.js +1 -1
  90. package/dist/inmarBidAdapter.js +1 -1
  91. package/dist/insticatorBidAdapter.js +1 -1
  92. package/dist/intentIqIdSystem.js +1 -1
  93. package/dist/invibesBidAdapter.js +1 -1
  94. package/dist/ixBidAdapter.js +1 -1
  95. package/dist/jixieBidAdapter.js +1 -1
  96. package/dist/justpremiumBidAdapter.js +1 -1
  97. package/dist/kargoBidAdapter.js +1 -1
  98. package/dist/konduitAnalyticsAdapter.js +1 -1
  99. package/dist/kueezBidAdapter.js +1 -1
  100. package/dist/kueezRtbBidAdapter.js +1 -1
  101. package/dist/kulturemediaBidAdapter.js +1 -1
  102. package/dist/lassoBidAdapter.js +1 -1
  103. package/dist/lifestreetBidAdapter.js +1 -1
  104. package/dist/liveIntentIdSystem.js +1 -1
  105. package/dist/liveyieldAnalyticsAdapter.js +1 -1
  106. package/dist/logicadBidAdapter.js +1 -1
  107. package/dist/loglyliftBidAdapter.js +1 -1
  108. package/dist/lotamePanoramaIdSystem.js +1 -1
  109. package/dist/magniteAnalyticsAdapter.js +1 -1
  110. package/dist/malltvAnalyticsAdapter.js +1 -1
  111. package/dist/marsmediaBidAdapter.js +1 -1
  112. package/dist/mediafuseBidAdapter.js +1 -1
  113. package/dist/mediagoBidAdapter.js +1 -1
  114. package/dist/mediakeysBidAdapter.js +1 -1
  115. package/dist/mediasquareBidAdapter.js +1 -1
  116. package/dist/merkleIdSystem.js +1 -1
  117. package/dist/mgidBidAdapter.js +1 -1
  118. package/dist/mgidRtdProvider.js +1 -1
  119. package/dist/minutemediaBidAdapter.js +1 -1
  120. package/dist/minutemediaplusBidAdapter.js +1 -1
  121. package/dist/mwOpenLinkIdSystem.js +1 -1
  122. package/dist/naveggIdSystem.js +1 -1
  123. package/dist/nexx360BidAdapter.js +1 -1
  124. package/dist/nobidBidAdapter.js +1 -1
  125. package/dist/not-for-prod/prebid.js +205 -202
  126. package/dist/novatiqIdSystem.js +1 -1
  127. package/dist/oguryBidAdapter.js +1 -1
  128. package/dist/onetagBidAdapter.js +1 -1
  129. package/dist/ooloAnalyticsAdapter.js +1 -1
  130. package/dist/openxOrtbBidAdapter.js +1 -1
  131. package/dist/optidigitalBidAdapter.js +1 -1
  132. package/dist/ortbConverter.js +1 -1
  133. package/dist/outbrainBidAdapter.js +1 -1
  134. package/dist/parrableIdSystem.js +1 -1
  135. package/dist/permutiveRtdProvider.js +1 -1
  136. package/dist/pixfutureBidAdapter.js +1 -1
  137. package/dist/prebid-core.js +1 -1
  138. package/dist/prebidServerBidAdapter.js +1 -1
  139. package/dist/prebidmanagerAnalyticsAdapter.js +1 -1
  140. package/dist/pubCommonId.js +1 -1
  141. package/dist/publinkIdSystem.js +1 -1
  142. package/dist/pubmaticAnalyticsAdapter.js +1 -1
  143. package/dist/pubmaticBidAdapter.js +1 -1
  144. package/dist/pubwiseAnalyticsAdapter.js +1 -1
  145. package/dist/pxyzBidAdapter.js +1 -1
  146. package/dist/quantcastBidAdapter.js +1 -1
  147. package/dist/quantcastIdSystem.js +1 -1
  148. package/dist/readpeakBidAdapter.js +1 -1
  149. package/dist/realvuAnalyticsAdapter.js +1 -1
  150. package/dist/relaidoBidAdapter.js +1 -1
  151. package/dist/rhythmoneBidAdapter.js +1 -1
  152. package/dist/riseBidAdapter.js +1 -1
  153. package/dist/roxotAnalyticsAdapter.js +1 -1
  154. package/dist/rtbhouseBidAdapter.js +1 -1
  155. package/dist/rtdModule.js +1 -1
  156. package/dist/rubiconAnalyticsAdapter.js +1 -1
  157. package/dist/rubiconBidAdapter.js +1 -1
  158. package/dist/seedingAllianceBidAdapter.js +1 -1
  159. package/dist/seedtagBidAdapter.js +1 -1
  160. package/dist/sharedIdSystem.js +1 -1
  161. package/dist/sharethroughAnalyticsAdapter.js +1 -1
  162. package/dist/sharethroughBidAdapter.js +1 -1
  163. package/dist/shinezBidAdapter.js +1 -1
  164. package/dist/sigmoidAnalyticsAdapter.js +1 -1
  165. package/dist/smaatoBidAdapter.js +1 -1
  166. package/dist/smartadserverBidAdapter.js +1 -1
  167. package/dist/smartxBidAdapter.js +1 -1
  168. package/dist/smilewantedBidAdapter.js +1 -1
  169. package/dist/sonobiBidAdapter.js +1 -1
  170. package/dist/sovrnAnalyticsAdapter.js +1 -1
  171. package/dist/sovrnBidAdapter.js +1 -1
  172. package/dist/sspBCBidAdapter.js +1 -1
  173. package/dist/staqAnalyticsAdapter.js +1 -1
  174. package/dist/stroeerCoreBidAdapter.js +1 -1
  175. package/dist/stvBidAdapter.js +1 -1
  176. package/dist/sublimeBidAdapter.js +1 -1
  177. package/dist/synacormediaBidAdapter.js +1 -1
  178. package/dist/taboolaBidAdapter.js +1 -1
  179. package/dist/targetVideoBidAdapter.js +1 -1
  180. package/dist/teadsBidAdapter.js +1 -1
  181. package/dist/teadsIdSystem.js +1 -1
  182. package/dist/trionBidAdapter.js +1 -1
  183. package/dist/tripleliftBidAdapter.js +1 -1
  184. package/dist/trustpidSystem.js +1 -1
  185. package/dist/ttdBidAdapter.js +1 -1
  186. package/dist/ucfunnelAnalyticsAdapter.js +1 -1
  187. package/dist/uid2IdSystem.js +1 -1
  188. package/dist/underdogmediaBidAdapter.js +1 -1
  189. package/dist/undertoneBidAdapter.js +1 -1
  190. package/dist/userId.js +1 -1
  191. package/dist/validationFpdModule.js +1 -1
  192. package/dist/vidazooBidAdapter.js +1 -1
  193. package/dist/videobyteBidAdapter.js +1 -1
  194. package/dist/vidoomyBidAdapter.js +1 -1
  195. package/dist/visxBidAdapter.js +1 -1
  196. package/dist/vuukleBidAdapter.js +1 -1
  197. package/dist/weboramaRtdProvider.js +1 -1
  198. package/dist/widespaceBidAdapter.js +1 -1
  199. package/dist/winrBidAdapter.js +1 -1
  200. package/dist/yahoosspBidAdapter.js +1 -1
  201. package/dist/yieldmoBidAdapter.js +1 -1
  202. package/dist/yieldoneAnalyticsAdapter.js +1 -1
  203. package/dist/yuktamediaAnalyticsAdapter.js +1 -1
  204. package/dist/zeotapIdPlusIdSystem.js +1 -1
  205. package/dist/zeta_global_sspBidAdapter.js +1 -1
  206. package/libraries/ortbConverter/converter.js +3 -2
  207. package/modules/33acrossIdSystem.js +5 -2
  208. package/modules/adagioBidAdapter.js +3 -4
  209. package/modules/adkernelAdnAnalyticsAdapter.js +4 -2
  210. package/modules/admixerIdSystem.js +4 -2
  211. package/modules/adnuntiusBidAdapter.js +1 -1
  212. package/modules/adqueryBidAdapter.js +1 -1
  213. package/modules/adqueryIdSystem.js +2 -1
  214. package/modules/adrinoBidAdapter.js +24 -16
  215. package/modules/adriverIdSystem.js +3 -2
  216. package/modules/adsinteractiveBidAdapter.js +144 -0
  217. package/modules/adsinteractiveBidAdapter.md +31 -0
  218. package/modules/adyoulikeBidAdapter.js +2 -3
  219. package/modules/aidemBidAdapter.js +5 -0
  220. package/modules/airgridRtdProvider.js +4 -2
  221. package/modules/ajaBidAdapter.js +38 -16
  222. package/modules/akamaiDapRtdProvider.js +2 -1
  223. package/modules/amxBidAdapter.js +11 -9
  224. package/modules/appnexusBidAdapter.js +8 -8
  225. package/modules/apstreamBidAdapter.js +1 -1
  226. package/modules/atsAnalyticsAdapter.js +4 -2
  227. package/modules/audiencerunBidAdapter.js +9 -10
  228. package/modules/bedigitechBidAdapter.js +67 -0
  229. package/modules/bedigitechBidAdapter.md +32 -0
  230. package/modules/bluebillywigBidAdapter.js +2 -4
  231. package/modules/blueconicRtdProvider.js +2 -1
  232. package/modules/brightcomBidAdapter.js +0 -1
  233. package/modules/brightcomSSPBidAdapter.js +0 -1
  234. package/modules/browsiRtdProvider.js +4 -2
  235. package/modules/byDataAnalyticsAdapter.js +6 -3
  236. package/modules/concertBidAdapter.js +14 -7
  237. package/modules/connectadBidAdapter.js +2 -4
  238. package/modules/craftBidAdapter.js +29 -24
  239. package/modules/criteoBidAdapter.js +4 -2
  240. package/modules/criteoIdSystem.js +6 -2
  241. package/modules/czechAdIdSystem.js +3 -2
  242. package/modules/dacIdSystem.js +4 -3
  243. package/modules/deepintentDpesIdSystem.js +3 -2
  244. package/modules/discoveryBidAdapter.js +1 -1
  245. package/modules/dspxBidAdapter.js +223 -15
  246. package/modules/fintezaAnalyticsAdapter.js +5 -3
  247. package/modules/fledgeForGpt.js +54 -6
  248. package/modules/ftrackIdSystem.js +6 -6
  249. package/modules/gdprEnforcement.js +56 -68
  250. package/modules/glimpseBidAdapter.js +1 -4
  251. package/modules/gnetBidAdapter.js +1 -2
  252. package/modules/gravitoIdSystem.js +5 -3
  253. package/modules/greenbidsAnalyticsAdapter.js +181 -0
  254. package/modules/greenbidsAnalyticsAdapter.md +23 -0
  255. package/modules/gridBidAdapter.js +13 -7
  256. package/modules/growthCodeAnalyticsAdapter.js +3 -2
  257. package/modules/growthCodeIdSystem.js +3 -2
  258. package/modules/gumgumBidAdapter.js +7 -17
  259. package/modules/hadronAnalyticsAdapter.js +5 -3
  260. package/modules/hadronIdSystem.js +3 -1
  261. package/modules/hadronRtdProvider.js +4 -2
  262. package/modules/id5IdSystem.js +4 -2
  263. package/modules/idWardRtdProvider.js +2 -1
  264. package/modules/identityLinkIdSystem.js +5 -2
  265. package/modules/idxIdSystem.js +3 -2
  266. package/modules/imRtdProvider.js +3 -1
  267. package/modules/impactifyBidAdapter.js +2 -4
  268. package/modules/imuIdSystem.js +6 -3
  269. package/modules/insticatorBidAdapter.js +1 -1
  270. package/modules/intentIqIdSystem.js +3 -2
  271. package/modules/invibesBidAdapter.js +1 -1
  272. package/modules/ixBidAdapter.js +1 -1
  273. package/modules/jixieBidAdapter.js +3 -6
  274. package/modules/kargoBidAdapter.js +1 -1
  275. package/modules/kueezRtbBidAdapter.js +1 -1
  276. package/modules/liveIntentIdSystem.js +3 -2
  277. package/modules/lotamePanoramaIdSystem.js +3 -2
  278. package/modules/magniteAnalyticsAdapter.js +25 -6
  279. package/modules/mediafuseBidAdapter.js +1 -1
  280. package/modules/mediagoBidAdapter.js +1 -1
  281. package/modules/mediakeysBidAdapter.js +2 -3
  282. package/modules/merkleIdSystem.js +2 -1
  283. package/modules/mgidBidAdapter.js +1 -1
  284. package/modules/mgidRtdProvider.js +3 -1
  285. package/modules/minutemediaplusBidAdapter.js +1 -1
  286. package/modules/mwOpenLinkIdSystem.js +3 -2
  287. package/modules/naveggIdSystem.js +3 -2
  288. package/modules/nexx360BidAdapter.js +0 -1
  289. package/modules/nobidBidAdapter.js +1 -1
  290. package/modules/novatiqIdSystem.js +6 -3
  291. package/modules/onetagBidAdapter.js +1 -1
  292. package/modules/openxOrtbBidAdapter.js +19 -7
  293. package/modules/openxOrtbBidAdapter.md +6 -5
  294. package/modules/parrableIdSystem.js +4 -2
  295. package/modules/permutiveRtdProvider.js +2 -1
  296. package/modules/prebidServerBidAdapter/index.js +9 -3
  297. package/modules/prebidServerBidAdapter/ortbConverter.js +12 -2
  298. package/modules/prebidmanagerAnalyticsAdapter.js +3 -2
  299. package/modules/pubCommonId.js +6 -3
  300. package/modules/publinkIdSystem.js +2 -1
  301. package/modules/pubmaticAnalyticsAdapter.js +12 -1
  302. package/modules/pubmaticBidAdapter.js +192 -222
  303. package/modules/pubwiseAnalyticsAdapter.js +5 -3
  304. package/modules/quantcastBidAdapter.js +1 -1
  305. package/modules/quantcastIdSystem.js +5 -3
  306. package/modules/realvuAnalyticsAdapter.js +6 -3
  307. package/modules/roxotAnalyticsAdapter.js +5 -2
  308. package/modules/rtbhouseBidAdapter.js +5 -3
  309. package/modules/rtdModule/index.js +3 -0
  310. package/modules/rubiconAnalyticsAdapter.js +3 -2
  311. package/modules/rubiconBidAdapter.js +1 -0
  312. package/modules/sharedIdSystem.js +12 -9
  313. package/modules/sharethroughBidAdapter.js +1 -2
  314. package/modules/sigmoidAnalyticsAdapter.js +4 -2
  315. package/modules/smartadserverBidAdapter.js +2 -3
  316. package/modules/sovrnBidAdapter.js +2 -3
  317. package/modules/staqAnalyticsAdapter.js +5 -3
  318. package/modules/stroeerCoreBidAdapter.js +3 -2
  319. package/modules/taboolaBidAdapter.js +4 -2
  320. package/modules/teadsBidAdapter.js +1 -1
  321. package/modules/teadsIdSystem.js +2 -1
  322. package/modules/tripleliftBidAdapter.js +1 -1
  323. package/modules/trustpidSystem.js +3 -2
  324. package/modules/ttdBidAdapter.js +11 -5
  325. package/modules/uid2IdSystem.js +3 -2
  326. package/modules/undertoneBidAdapter.js +1 -0
  327. package/modules/userId/index.js +5 -2
  328. package/modules/validationFpdModule/index.js +3 -2
  329. package/modules/vidazooBidAdapter.js +14 -5
  330. package/modules/vidoomyBidAdapter.js +29 -1
  331. package/modules/weboramaRtdProvider.js +3 -1
  332. package/modules/yieldmoBidAdapter.js +2 -3
  333. package/modules/yuktamediaAnalyticsAdapter.js +4 -2
  334. package/modules/zeotapIdPlusIdSystem.js +3 -2
  335. package/modules/zeta_global_sspBidAdapter.js +3 -0
  336. package/package.json +1 -1
  337. package/plugins/eslint/validateImports.js +13 -14
  338. package/plugins/pbjsGlobals.js +3 -1
  339. package/src/activities/modules.js +5 -0
  340. package/src/adapterManager.js +4 -8
  341. package/src/adapters/bidderFactory.js +30 -16
  342. package/src/consentHandler.js +42 -0
  343. package/src/refererDetection.js +39 -21
  344. package/src/secureCreatives.js +2 -2
  345. package/src/storageManager.js +33 -47
  346. package/src/userSync.js +7 -4
  347. package/test/spec/modules/33acrossIdSystem_spec.js +1 -1
  348. package/test/spec/modules/adagioBidAdapter_spec.js +11 -17
  349. package/test/spec/modules/admixerIdSystem_spec.js +0 -3
  350. package/test/spec/modules/adnuntiusBidAdapter_spec.js +6 -6
  351. package/test/spec/modules/adrinoBidAdapter_spec.js +65 -34
  352. package/test/spec/modules/adsinteractiveBidAdapter_spec.js +207 -0
  353. package/test/spec/modules/adyoulikeBidAdapter_spec.js +13 -11
  354. package/test/spec/modules/aidemBidAdapter_spec.js +72 -8
  355. package/test/spec/modules/amxBidAdapter_spec.js +4 -1
  356. package/test/spec/modules/atsAnalyticsAdapter_spec.js +2 -2
  357. package/test/spec/modules/audiencerunBidAdapter_spec.js +8 -11
  358. package/test/spec/modules/bedigitechBidAdapter_spec.js +145 -0
  359. package/test/spec/modules/bluebillywigBidAdapter_spec.js +1 -3
  360. package/test/spec/modules/concertBidAdapter_spec.js +3 -8
  361. package/test/spec/modules/connectadBidAdapter_spec.js +11 -3
  362. package/test/spec/modules/criteoBidAdapter_spec.js +29 -0
  363. package/test/spec/modules/criteoIdSystem_spec.js +38 -0
  364. package/test/spec/modules/datablocksBidAdapter_spec.js +0 -1
  365. package/test/spec/modules/dspxBidAdapter_spec.js +184 -13
  366. package/test/spec/modules/fledge_spec.js +173 -2
  367. package/test/spec/modules/gdprEnforcement_spec.js +134 -164
  368. package/test/spec/modules/greenbidsAnalyticsAdapter_spec.js +418 -0
  369. package/test/spec/modules/gridBidAdapter_spec.js +9 -5
  370. package/test/spec/modules/growthCodeIdSystem_spec.js +2 -1
  371. package/test/spec/modules/id5IdSystem_spec.js +41 -4
  372. package/test/spec/modules/identityLinkIdSystem_spec.js +2 -2
  373. package/test/spec/modules/improvedigitalBidAdapter_spec.js +10 -3
  374. package/test/spec/modules/jixieBidAdapter_spec.js +42 -60
  375. package/test/spec/modules/mediakeysBidAdapter_spec.js +12 -16
  376. package/test/spec/modules/openxOrtbBidAdapter_spec.js +96 -11
  377. package/test/spec/modules/prebidServerBidAdapter_spec.js +68 -2
  378. package/test/spec/modules/publinkIdSystem_spec.js +3 -2
  379. package/test/spec/modules/pubmaticBidAdapter_spec.js +67 -10
  380. package/test/spec/modules/realTimeDataModule_spec.js +22 -0
  381. package/test/spec/modules/realvuAnalyticsAdapter_spec.js +0 -1
  382. package/test/spec/modules/relaidoBidAdapter_spec.js +5 -5
  383. package/test/spec/modules/rubiconBidAdapter_spec.js +2 -1
  384. package/test/spec/modules/sharethroughBidAdapter_spec.js +97 -21
  385. package/test/spec/modules/smartadserverBidAdapter_spec.js +74 -12
  386. package/test/spec/modules/sovrnBidAdapter_spec.js +25 -6
  387. package/test/spec/modules/stroeerCoreBidAdapter_spec.js +13 -18
  388. package/test/spec/modules/taboolaBidAdapter_spec.js +101 -0
  389. package/test/spec/modules/ttdBidAdapter_spec.js +25 -7
  390. package/test/spec/modules/userId_spec.js +68 -0
  391. package/test/spec/modules/vidazooBidAdapter_spec.js +13 -0
  392. package/test/spec/modules/vidoomyBidAdapter_spec.js +33 -0
  393. package/test/spec/modules/yieldmoBidAdapter_spec.js +18 -2
  394. package/test/spec/modules/zeotapIdPlusIdSystem_spec.js +3 -2
  395. package/test/spec/modules/zeta_global_sspBidAdapter_spec.js +8 -0
  396. package/test/spec/refererDetection_spec.js +56 -1
  397. package/test/spec/unit/core/adapterManager_spec.js +21 -58
  398. package/test/spec/unit/core/bidderFactory_spec.js +28 -10
  399. package/test/spec/unit/core/consentHandler_spec.js +29 -1
  400. package/test/spec/unit/core/storageManager_spec.js +31 -21
  401. package/test/spec/userSync_spec.js +2 -1
@@ -0,0 +1,418 @@
1
+ import {
2
+ greenbidsAnalyticsAdapter, parseBidderCode,
3
+ ANALYTICS_VERSION, BIDDER_STATUS
4
+ } from 'modules/greenbidsAnalyticsAdapter.js';
5
+
6
+ import {expect} from 'chai';
7
+ import sinon from 'sinon';
8
+
9
+ const events = require('src/events');
10
+ const constants = require('src/constants.json');
11
+
12
+ const pbuid = 'pbuid-AA778D8A796AEA7A0843E2BBEB677766';
13
+ const auctionId = 'b0b39610-b941-4659-a87c-de9f62d3e13e';
14
+
15
+ describe('Greenbids Prebid AnalyticsAdapter Testing', function () {
16
+ describe('event tracking and message cache manager', function () {
17
+ beforeEach(function () {
18
+ const configOptions = {
19
+ pbuid: pbuid,
20
+ sampling: 0,
21
+ };
22
+
23
+ greenbidsAnalyticsAdapter.enableAnalytics({
24
+ provider: 'greenbidsAnalytics',
25
+ options: configOptions
26
+ });
27
+ });
28
+
29
+ afterEach(function () {
30
+ greenbidsAnalyticsAdapter.disableAnalytics();
31
+ });
32
+
33
+ describe('#parseBidderCode()', function() {
34
+ it('should get lower case bidder code from bidderCode field value', function() {
35
+ const receivedBids = [
36
+ {
37
+ auctionId: auctionId,
38
+ adUnitCode: 'adunit_1',
39
+ bidder: 'greenbids',
40
+ bidderCode: 'GREENBIDS',
41
+ requestId: 'a1b2c3d4',
42
+ timeToRespond: 72,
43
+ cpm: 0.1,
44
+ currency: 'USD',
45
+ ad: '<html>fake ad1</html>'
46
+ },
47
+ ];
48
+ const result = parseBidderCode(receivedBids[0]);
49
+ expect(result).to.equal('greenbids');
50
+ });
51
+ it('should get lower case bidder code from bidder field value as bidderCode field is missing', function() {
52
+ const receivedBids = [
53
+ {
54
+ auctionId: auctionId,
55
+ adUnitCode: 'adunit_1',
56
+ bidder: 'greenbids',
57
+ bidderCode: '',
58
+ requestId: 'a1b2c3d4',
59
+ timeToRespond: 72,
60
+ cpm: 0.1,
61
+ currency: 'USD',
62
+ ad: '<html>fake ad1</html>'
63
+ },
64
+ ];
65
+ const result = parseBidderCode(receivedBids[0]);
66
+ expect(result).to.equal('greenbids');
67
+ });
68
+ });
69
+
70
+ describe('#getCachedAuction()', function() {
71
+ const existing = {timeoutBids: [{}]};
72
+ greenbidsAnalyticsAdapter.cachedAuctions['test_auction_id'] = existing;
73
+
74
+ it('should get the existing cached object if it exists', function() {
75
+ const result = greenbidsAnalyticsAdapter.getCachedAuction('test_auction_id');
76
+
77
+ expect(result).to.equal(existing);
78
+ });
79
+
80
+ it('should create a new object and store it in the cache on cache miss', function() {
81
+ const result = greenbidsAnalyticsAdapter.getCachedAuction('no_such_id');
82
+
83
+ expect(result).to.deep.include({
84
+ timeoutBids: [],
85
+ });
86
+ });
87
+ });
88
+
89
+ describe('when formatting JSON payload sent to backend', function() {
90
+ const receivedBids = [
91
+ {
92
+ auctionId: auctionId,
93
+ adUnitCode: 'adunit-1',
94
+ bidder: 'greenbids',
95
+ bidderCode: 'greenbids',
96
+ requestId: 'a1b2c3d4',
97
+ timeToRespond: 72,
98
+ cpm: 0.1,
99
+ currency: 'USD',
100
+ ad: '<html>fake ad1</html>'
101
+ },
102
+ {
103
+ auctionId: auctionId,
104
+ adUnitCode: 'adunit-1',
105
+ bidder: 'greenbidsx',
106
+ bidderCode: 'greenbidsx',
107
+ requestId: 'b2c3d4e5',
108
+ timeToRespond: 100,
109
+ cpm: 0.08,
110
+ currency: 'USD',
111
+ ad: '<html>fake ad2</html>'
112
+ },
113
+ {
114
+ auctionId: auctionId,
115
+ adUnitCode: 'adunit-2',
116
+ bidder: 'greenbids',
117
+ bidderCode: 'greenbids',
118
+ requestId: 'c3d4e5f6',
119
+ timeToRespond: 120,
120
+ cpm: 0.09,
121
+ currency: 'USD',
122
+ ad: '<html>fake ad3</html>'
123
+ },
124
+ ];
125
+ const noBids = [
126
+ {
127
+ auctionId: auctionId,
128
+ adUnitCode: 'adunit-2',
129
+ bidder: 'greenbids',
130
+ bidderCode: 'greenbids',
131
+ bidId: 'a1b2c3d4',
132
+ }
133
+ ];
134
+ const timeoutBids = [
135
+ {
136
+ auctionId: auctionId,
137
+ adUnitCode: 'adunit-2',
138
+ bidder: 'greenbids',
139
+ bidderCode: 'greenbids',
140
+ bidId: '00123d4c',
141
+ }
142
+ ];
143
+ function assertHavingRequiredMessageFields(message) {
144
+ expect(message).to.include({
145
+ version: ANALYTICS_VERSION,
146
+ auctionId: auctionId,
147
+ pbuid: pbuid,
148
+ referrer: window.location.href,
149
+ sampling: 0,
150
+ prebid: '$prebid.version$',
151
+ });
152
+ }
153
+
154
+ describe('#createCommonMessage', function() {
155
+ it('should correctly serialize some common fields', function() {
156
+ const message = greenbidsAnalyticsAdapter.createCommonMessage(auctionId);
157
+
158
+ assertHavingRequiredMessageFields(message);
159
+ });
160
+ });
161
+
162
+ describe('#serializeBidResponse', function() {
163
+ it('should handle BID properly with timeout false and hasBid true', function() {
164
+ const result = greenbidsAnalyticsAdapter.serializeBidResponse(receivedBids[0], BIDDER_STATUS.BID);
165
+
166
+ expect(result).to.include({
167
+ bidder: 'greenbids',
168
+ isTimeout: false,
169
+ hasBid: true,
170
+ });
171
+ });
172
+
173
+ it('should handle NO_BID properly and set hasBid to false', function() {
174
+ const result = greenbidsAnalyticsAdapter.serializeBidResponse(noBids[0], BIDDER_STATUS.NO_BID);
175
+
176
+ expect(result).to.include({
177
+ bidder: 'greenbids',
178
+ isTimeout: false,
179
+ hasBid: false,
180
+ });
181
+ });
182
+
183
+ it('should handle TIMEOUT properly and set isTimeout to true', function() {
184
+ const result = greenbidsAnalyticsAdapter.serializeBidResponse(noBids[0], BIDDER_STATUS.TIMEOUT);
185
+
186
+ expect(result).to.include({
187
+ bidder: 'greenbids',
188
+ isTimeout: true,
189
+ hasBid: false,
190
+ });
191
+ });
192
+ });
193
+
194
+ describe('#addBidResponseToMessage()', function() {
195
+ it('should add a bid response in the output message, grouped by adunit_id and bidder', function() {
196
+ const message = {
197
+ adUnits: [
198
+ {
199
+ code: 'adunit-2',
200
+ bidders: []
201
+ }
202
+ ]
203
+ };
204
+ greenbidsAnalyticsAdapter.addBidResponseToMessage(message, noBids[0], BIDDER_STATUS.NO_BID);
205
+
206
+ expect(message.adUnits[0]).to.deep.include({
207
+ code: 'adunit-2',
208
+ bidders: [
209
+ {
210
+ bidder: 'greenbids',
211
+ isTimeout: false,
212
+ hasBid: false,
213
+ }
214
+ ]
215
+ });
216
+ });
217
+ });
218
+
219
+ describe('#createBidMessage()', function() {
220
+ it('should format auction message sent to the backend', function() {
221
+ const args = {
222
+ auctionId: auctionId,
223
+ timestamp: 1234567890,
224
+ timeout: 3000,
225
+ auctionEnd: 1234567990,
226
+ adUnitCodes: ['adunit-1', 'adunit-2'],
227
+ adUnits: [
228
+ {
229
+ code: 'adunit-1',
230
+ mediaTypes: {
231
+ banner: {
232
+ sizes: [[300, 250], [300, 600]]
233
+ },
234
+ }
235
+ },
236
+ {
237
+ code: 'adunit-2',
238
+ mediaTypes: {
239
+ banner: {
240
+ sizes: [[300, 250], [300, 600]]
241
+ },
242
+ video: {
243
+ context: 'instream',
244
+ mimes: ['video/mp4'],
245
+ playerSize: [[640, 480]],
246
+ skip: 1,
247
+ protocols: [1, 2, 3, 4]
248
+ },
249
+ }
250
+ },
251
+ ],
252
+ bidsReceived: receivedBids,
253
+ noBids: noBids
254
+ };
255
+
256
+ const result = greenbidsAnalyticsAdapter.createBidMessage(args, timeoutBids);
257
+
258
+ assertHavingRequiredMessageFields(result);
259
+ expect(result).to.deep.include({
260
+ auctionElapsed: 100,
261
+ adUnits: [
262
+ {
263
+ code: 'adunit-1',
264
+ mediaTypes: {
265
+ banner: {
266
+ sizes: [[300, 250], [300, 600]]
267
+ }
268
+ },
269
+ bidders: [
270
+ {
271
+ bidder: 'greenbids',
272
+ isTimeout: false,
273
+ hasBid: true
274
+ },
275
+ {
276
+ bidder: 'greenbidsx',
277
+ isTimeout: false,
278
+ hasBid: true
279
+ }
280
+ ]
281
+ },
282
+ {
283
+ code: 'adunit-2',
284
+ mediaTypes: {
285
+ banner: {
286
+ sizes: [[300, 250], [300, 600]]
287
+ },
288
+ video: {
289
+ context: 'instream',
290
+ mimes: ['video/mp4'],
291
+ playerSize: [[640, 480]],
292
+ skip: 1,
293
+ protocols: [1, 2, 3, 4]
294
+ }
295
+ },
296
+ bidders: [
297
+ {
298
+ bidder: 'greenbids',
299
+ isTimeout: true,
300
+ hasBid: true
301
+ }
302
+ ]
303
+ }
304
+ ],
305
+ });
306
+ });
307
+ });
308
+
309
+ describe('#handleBidTimeout()', function() {
310
+ it('should cached the timeout bid as BID_TIMEOUT event was triggered', function() {
311
+ greenbidsAnalyticsAdapter.cachedAuctions['test_timeout_auction_id'] = { 'timeoutBids': [] };
312
+ const args = [{
313
+ auctionId: 'test_timeout_auction_id',
314
+ timestamp: 1234567890,
315
+ timeout: 3000,
316
+ auctionEnd: 1234567990,
317
+ bidsReceived: receivedBids,
318
+ noBids: noBids
319
+ }];
320
+
321
+ greenbidsAnalyticsAdapter.handleBidTimeout(args);
322
+ const result = greenbidsAnalyticsAdapter.getCachedAuction('test_timeout_auction_id');
323
+ expect(result).to.deep.include({
324
+ timeoutBids: [{
325
+ auctionId: 'test_timeout_auction_id',
326
+ timestamp: 1234567890,
327
+ timeout: 3000,
328
+ auctionEnd: 1234567990,
329
+ bidsReceived: receivedBids,
330
+ noBids: noBids
331
+ }]
332
+ });
333
+ });
334
+ });
335
+ });
336
+ });
337
+
338
+ describe('greenbids Analytics Adapter track handler ', function () {
339
+ const configOptions = {
340
+ pbuid: pbuid,
341
+ sampling: 1,
342
+ };
343
+
344
+ beforeEach(function () {
345
+ sinon.stub(events, 'getEvents').returns([]);
346
+ greenbidsAnalyticsAdapter.enableAnalytics({
347
+ provider: 'greenbidsAnalytics',
348
+ options: configOptions
349
+ });
350
+ });
351
+
352
+ afterEach(function () {
353
+ greenbidsAnalyticsAdapter.disableAnalytics();
354
+ events.getEvents.restore();
355
+ });
356
+
357
+ it('should call handleBidTimeout as BID_TIMEOUT trigger event', function() {
358
+ sinon.spy(greenbidsAnalyticsAdapter, 'handleBidTimeout');
359
+ events.emit(constants.EVENTS.BID_TIMEOUT, {});
360
+ sinon.assert.callCount(greenbidsAnalyticsAdapter.handleBidTimeout, 1);
361
+ greenbidsAnalyticsAdapter.handleBidTimeout.restore();
362
+ });
363
+
364
+ it('should call handleAuctionEnd as AUCTION_END trigger event', function() {
365
+ sinon.spy(greenbidsAnalyticsAdapter, 'handleAuctionEnd');
366
+ events.emit(constants.EVENTS.AUCTION_END, {});
367
+ sinon.assert.callCount(greenbidsAnalyticsAdapter.handleAuctionEnd, 1);
368
+ greenbidsAnalyticsAdapter.handleAuctionEnd.restore();
369
+ });
370
+ });
371
+
372
+ describe('enableAnalytics and config parser', function () {
373
+ const configOptions = {
374
+ pbuid: pbuid,
375
+ sampling: 0,
376
+ };
377
+
378
+ beforeEach(function () {
379
+ greenbidsAnalyticsAdapter.enableAnalytics({
380
+ provider: 'greenbidsAnalytics',
381
+ options: configOptions
382
+ });
383
+ });
384
+
385
+ afterEach(function () {
386
+ greenbidsAnalyticsAdapter.disableAnalytics();
387
+ });
388
+
389
+ it('should parse config correctly with optional values', function () {
390
+ expect(greenbidsAnalyticsAdapter.getAnalyticsOptions().options).to.deep.equal(configOptions);
391
+ expect(greenbidsAnalyticsAdapter.getAnalyticsOptions().pbuid).to.equal(configOptions.pbuid);
392
+ expect(greenbidsAnalyticsAdapter.getAnalyticsOptions().sampled).to.equal(false);
393
+ });
394
+
395
+ it('should not enable Analytics when pbuid is missing', function () {
396
+ const configOptions = {
397
+ options: {
398
+ }
399
+ };
400
+ const validConfig = greenbidsAnalyticsAdapter.initConfig(configOptions);
401
+ expect(validConfig).to.equal(false);
402
+ });
403
+ it('should fall back to default value when sampling factor is not number', function () {
404
+ const configOptions = {
405
+ options: {
406
+ pbuid: pbuid,
407
+ sampling: 'string',
408
+ }
409
+ };
410
+ greenbidsAnalyticsAdapter.enableAnalytics({
411
+ provider: 'greenbidsAnalytics',
412
+ options: configOptions
413
+ });
414
+
415
+ expect(greenbidsAnalyticsAdapter.getAnalyticsOptions().sampled).to.equal(false);
416
+ });
417
+ });
418
+ });
@@ -873,14 +873,17 @@ describe('TheMediaGrid Adapter', function () {
873
873
  }
874
874
  }, {
875
875
  ext: {
876
+ gpid: '/222222/slot',
876
877
  data: {
877
878
  adserver: {
878
879
  name: 'ad_server_name',
879
- adslot: '/222222/slot'
880
- },
881
- pbadslot: '/222222/slot'
880
+ }
882
881
  }
883
882
  }
883
+ }, {
884
+ ext: {
885
+ gpid: '/333333/slot'
886
+ }
884
887
  }];
885
888
  const bidRequestsWithOrtb2Imp = bidRequests.slice(0, 3).map((bid, ind) => {
886
889
  return Object.assign(ortb2Imp[ind] ? { ortb2Imp: ortb2Imp[ind] } : {}, bid);
@@ -896,10 +899,11 @@ describe('TheMediaGrid Adapter', function () {
896
899
  expect(payload.imp[1].ext).to.deep.equal({
897
900
  divid: bidRequests[1].adUnitCode,
898
901
  data: ortb2Imp[1].ext.data,
899
- gpid: ortb2Imp[1].ext.data.adserver.adslot
902
+ gpid: ortb2Imp[1].ext.gpid
900
903
  });
901
904
  expect(payload.imp[2].ext).to.deep.equal({
902
- divid: bidRequests[2].adUnitCode
905
+ divid: bidRequests[2].adUnitCode,
906
+ gpid: ortb2Imp[2].ext.gpid
903
907
  });
904
908
  });
905
909
 
@@ -4,12 +4,13 @@ import { server } from 'test/mocks/xhr.js';
4
4
  import { uspDataHandler } from 'src/adapterManager.js';
5
5
  import {expect} from 'chai';
6
6
  import {getStorageManager} from '../../../src/storageManager.js';
7
+ import {MODULE_TYPE_UID} from '../../../src/activities/modules.js';
7
8
 
8
9
  const GCID_EXPIRY = 45;
9
10
  const MODULE_NAME = 'growthCodeId';
10
11
  const SHAREDID = 'fe9c5c89-7d56-4666-976d-e07e73b3b664';
11
12
 
12
- export const storage = getStorageManager({ gvlid: undefined, moduleName: MODULE_NAME });
13
+ const storage = getStorageManager({ moduleType: MODULE_TYPE_UID, moduleName: MODULE_NAME });
13
14
 
14
15
  const getIdParams = {params: {
15
16
  pid: 'TEST01',
@@ -65,6 +65,10 @@ describe('ID5 ID System', function () {
65
65
  }
66
66
  }
67
67
 
68
+ const HEADERS_CONTENT_TYPE_JSON = {
69
+ 'Content-Type': 'application/json'
70
+ }
71
+
68
72
  function getId5FetchConfig(storageName = ID5_STORAGE_NAME, storageType = 'html5') {
69
73
  return {
70
74
  name: ID5_MODULE_NAME,
@@ -148,7 +152,7 @@ describe('ID5 ID System', function () {
148
152
  }
149
153
 
150
154
  respondWithConfigAndExpectNext(configRequest, config = ID5_API_CONFIG) {
151
- configRequest.respond(200, {'Content-Type': 'application/json'}, JSON.stringify(config));
155
+ configRequest.respond(200, HEADERS_CONTENT_TYPE_JSON, JSON.stringify(config));
152
156
  return this.expectNextRequest()
153
157
  }
154
158
 
@@ -249,7 +253,7 @@ describe('ID5 ID System', function () {
249
253
  });
250
254
 
251
255
  describe('Xhr Requests from getId()', function () {
252
- const responseHeader = {'Content-Type': 'application/json'};
256
+ const responseHeader = HEADERS_CONTENT_TYPE_JSON
253
257
 
254
258
  beforeEach(function () {
255
259
  });
@@ -719,6 +723,40 @@ describe('ID5 ID System', function () {
719
723
  })
720
724
  });
721
725
 
726
+ describe('Local storage', () => {
727
+ let sandbox;
728
+ beforeEach(() => {
729
+ sandbox = sinon.sandbox.create();
730
+ sandbox.stub(storage, 'localStorageIsEnabled');
731
+ });
732
+ afterEach(() => {
733
+ sandbox.restore();
734
+ });
735
+ [
736
+ [true, 1],
737
+ [false, 0]
738
+ ].forEach(function ([isEnabled, expectedValue]) {
739
+ it(`should check localStorage availability and log in request. Available=${isEnabled}`, () => {
740
+ let xhrServerMock = new XhrServerMock(sinon.createFakeServer())
741
+ let config = getId5FetchConfig();
742
+ let submoduleResponse = callSubmoduleGetId(config, undefined, undefined);
743
+ storage.localStorageIsEnabled.callsFake(() => isEnabled)
744
+
745
+ return xhrServerMock.expectFetchRequest()
746
+ .then(fetchRequest => {
747
+ let requestBody = JSON.parse(fetchRequest.requestBody);
748
+ expect(requestBody.localStorage).is.eq(expectedValue);
749
+
750
+ fetchRequest.respond(200, HEADERS_CONTENT_TYPE_JSON, JSON.stringify(ID5_JSON_RESPONSE));
751
+ return submoduleResponse
752
+ })
753
+ .then(submoduleResponse => {
754
+ expect(submoduleResponse).is.deep.equal(ID5_JSON_RESPONSE);
755
+ });
756
+ })
757
+ })
758
+ });
759
+
722
760
  describe('Request Bids Hook', function () {
723
761
  let adUnits;
724
762
  let sandbox;
@@ -842,8 +880,7 @@ describe('ID5 ID System', function () {
842
880
  expect(requestBody.s).is.eq(ID5_STORED_SIGNATURE);
843
881
  expect(requestBody.nbPage).is.eq(2);
844
882
  expect(getNbFromCache(ID5_TEST_PARTNER_ID)).is.eq(2);
845
- const responseHeader = {'Content-Type': 'application/json'};
846
- request.respond(200, responseHeader, JSON.stringify(ID5_JSON_RESPONSE));
883
+ request.respond(200, HEADERS_CONTENT_TYPE_JSON, JSON.stringify(ID5_JSON_RESPONSE));
847
884
 
848
885
  return new Promise(function (resolve) {
849
886
  (function waitForCondition() {
@@ -1,9 +1,9 @@
1
1
  import {identityLinkSubmodule} from 'modules/identityLinkIdSystem.js';
2
2
  import * as utils from 'src/utils.js';
3
3
  import {server} from 'test/mocks/xhr.js';
4
- import {getStorageManager} from '../../../src/storageManager.js';
4
+ import {getCoreStorageManager} from '../../../src/storageManager.js';
5
5
 
6
- export const storage = getStorageManager();
6
+ const storage = getCoreStorageManager();
7
7
 
8
8
  const pid = '14';
9
9
  let defaultConfigParams;
@@ -14,7 +14,6 @@ import 'modules/consentManagement.js';
14
14
  import 'modules/consentManagementUsp.js';
15
15
  import 'modules/schain.js';
16
16
  import {decorateAdUnitsWithNativeParams} from '../../../src/native.js';
17
- import {createEidsArray} from '../../../modules/userId/eids.js';
18
17
  import {syncAddFPDToBidderRequest} from '../../helpers/fpd.js';
19
18
  import {hook} from '../../../src/hook.js';
20
19
 
@@ -579,7 +578,15 @@ describe('Improve Digital Adapter Tests', function () {
579
578
  });
580
579
 
581
580
  it('should add eids', function () {
582
- const userId = { id5id: { uid: '1111' } };
581
+ const userIdAsEids = [
582
+ {
583
+ source: 'id5-sync.com',
584
+ uids: [{
585
+ atype: 1,
586
+ id: '1111'
587
+ }]
588
+ }
589
+ ];
583
590
  const expectedUserObject = { ext: { eids: [{
584
591
  source: 'id5-sync.com',
585
592
  uids: [{
@@ -588,7 +595,7 @@ describe('Improve Digital Adapter Tests', function () {
588
595
  }]
589
596
  }]}};
590
597
  const bidRequest = Object.assign({}, simpleBidRequest);
591
- bidRequest.userIdAsEids = createEidsArray(userId);
598
+ bidRequest.userIdAsEids = userIdAsEids;
592
599
  const request = spec.buildRequests([bidRequest], bidderRequestReferrer)[0];
593
600
  const payload = JSON.parse(request.data);
594
601
  expect(payload.user).to.deep.equal(expectedUserObject);