prebid.js 8.3.0 → 8.5.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 (354) hide show
  1. package/dist/33acrossBidAdapter.js +1 -1
  2. package/dist/33acrossIdSystem.js +1 -1
  3. package/dist/a1MediaRtdProvider.js +1 -0
  4. package/dist/adagioBidAdapter.js +1 -1
  5. package/dist/adbookpspBidAdapter.js +1 -1
  6. package/dist/adfBidAdapter.js +1 -1
  7. package/dist/adgenerationBidAdapter.js +1 -1
  8. package/dist/adkernelAdnBidAdapter.js +1 -1
  9. package/dist/adkernelBidAdapter.js +1 -1
  10. package/dist/admanBidAdapter.js +1 -1
  11. package/dist/admixerIdSystem.js +1 -1
  12. package/dist/adnuntiusBidAdapter.js +1 -1
  13. package/dist/adqueryBidAdapter.js +1 -1
  14. package/dist/adqueryIdSystem.js +1 -1
  15. package/dist/adrelevantisBidAdapter.js +1 -1
  16. package/dist/adtelligentIdSystem.js +1 -1
  17. package/dist/adtrgtmeBidAdapter.js +1 -1
  18. package/dist/adxcgBidAdapter.js +1 -1
  19. package/dist/adyoulikeBidAdapter.js +1 -1
  20. package/dist/ajaBidAdapter.js +1 -1
  21. package/dist/amxBidAdapter.js +1 -1
  22. package/dist/amxIdSystem.js +1 -1
  23. package/dist/appierAnalyticsAdapter.js +1 -1
  24. package/dist/appnexusBidAdapter.js +1 -1
  25. package/dist/asoBidAdapter.js +1 -1
  26. package/dist/axonixBidAdapter.js +1 -1
  27. package/dist/beachfrontBidAdapter.js +1 -1
  28. package/dist/bidglassBidAdapter.js +1 -1
  29. package/dist/big-richmediaBidAdapter.js +1 -1
  30. package/dist/brandmetricsRtdProvider.js +1 -1
  31. package/dist/bridBidAdapter.js +1 -1
  32. package/dist/bridgewellBidAdapter.js +1 -1
  33. package/dist/brightMountainMediaBidAdapter.js +1 -1
  34. package/dist/britepoolIdSystem.js +1 -1
  35. package/dist/carodaBidAdapter.js +1 -1
  36. package/dist/chtnwBidAdapter.js +1 -1
  37. package/dist/concertBidAdapter.js +1 -1
  38. package/dist/connectIdSystem.js +1 -1
  39. package/dist/connectadBidAdapter.js +1 -1
  40. package/dist/consentManagementGpp.js +1 -1
  41. package/dist/consumableBidAdapter.js +1 -1
  42. package/dist/conversantAnalyticsAdapter.js +1 -1
  43. package/dist/conversantBidAdapter.js +1 -1
  44. package/dist/craftBidAdapter.js +1 -1
  45. package/dist/criteoBidAdapter.js +1 -1
  46. package/dist/criteoIdSystem.js +1 -1
  47. package/dist/cwireBidAdapter.js +1 -1
  48. package/dist/czechAdIdSystem.js +1 -1
  49. package/dist/dacIdSystem.js +1 -1
  50. package/dist/deepintentDpesIdSystem.js +1 -1
  51. package/dist/dependencies.json +6 -0
  52. package/dist/dmdIdSystem.js +1 -1
  53. package/dist/dspxBidAdapter.js +1 -1
  54. package/dist/eplanningBidAdapter.js +1 -1
  55. package/dist/euidIdSystem.js +1 -1
  56. package/dist/fabrickIdSystem.js +1 -1
  57. package/dist/feedadBidAdapter.js +1 -1
  58. package/dist/finativeBidAdapter.js +1 -1
  59. package/dist/freewheel-sspBidAdapter.js +1 -1
  60. package/dist/ftrackIdSystem.js +1 -1
  61. package/dist/gdprEnforcement.js +1 -1
  62. package/dist/geolocationRtdProvider.js +1 -0
  63. package/dist/gmosspBidAdapter.js +1 -1
  64. package/dist/goldbachBidAdapter.js +1 -1
  65. package/dist/gravitoIdSystem.js +1 -1
  66. package/dist/greenbidsAnalyticsAdapter.js +1 -1
  67. package/dist/greenbidsRtdProvider.js +1 -1
  68. package/dist/gridBidAdapter.js +1 -1
  69. package/dist/growthCodeIdSystem.js +1 -1
  70. package/dist/gumgumBidAdapter.js +1 -1
  71. package/dist/h12mediaBidAdapter.js +1 -1
  72. package/dist/hadronIdSystem.js +1 -1
  73. package/dist/hypelabBidAdapter.js +1 -1
  74. package/dist/id5IdSystem.js +1 -1
  75. package/dist/identityLinkIdSystem.js +1 -1
  76. package/dist/idxIdSystem.js +1 -1
  77. package/dist/imdsBidAdapter.js +1 -1
  78. package/dist/improvedigitalBidAdapter.js +1 -1
  79. package/dist/imuIdSystem.js +1 -1
  80. package/dist/insticatorBidAdapter.js +1 -1
  81. package/dist/intentIqIdSystem.js +1 -1
  82. package/dist/invibesBidAdapter.js +1 -1
  83. package/dist/ixBidAdapter.js +1 -1
  84. package/dist/justIdSystem.js +1 -1
  85. package/dist/justpremiumBidAdapter.js +1 -1
  86. package/dist/kargoBidAdapter.js +1 -1
  87. package/dist/kinessoIdSystem.js +1 -1
  88. package/dist/konduitAnalyticsAdapter.js +1 -1
  89. package/dist/kueezBidAdapter.js +1 -1
  90. package/dist/kueezRtbBidAdapter.js +1 -1
  91. package/dist/kulturemediaBidAdapter.js +1 -1
  92. package/dist/lassoBidAdapter.js +1 -1
  93. package/dist/lifestreetBidAdapter.js +1 -1
  94. package/dist/liveIntentIdSystem.js +1 -1
  95. package/dist/logicadBidAdapter.js +1 -1
  96. package/dist/loglyliftBidAdapter.js +1 -1
  97. package/dist/lotamePanoramaIdSystem.js +1 -1
  98. package/dist/magniteAnalyticsAdapter.js +1 -1
  99. package/dist/malltvAnalyticsAdapter.js +1 -1
  100. package/dist/marsmediaBidAdapter.js +1 -1
  101. package/dist/mediafuseBidAdapter.js +1 -1
  102. package/dist/mediasquareBidAdapter.js +1 -1
  103. package/dist/merkleIdSystem.js +1 -1
  104. package/dist/mgidBidAdapter.js +1 -1
  105. package/dist/minutemediaBidAdapter.js +1 -1
  106. package/dist/minutemediaplusBidAdapter.js +1 -1
  107. package/dist/mwOpenLinkIdSystem.js +1 -1
  108. package/dist/naveggIdSystem.js +1 -1
  109. package/dist/netIdSystem.js +1 -1
  110. package/dist/nexx360BidAdapter.js +1 -1
  111. package/dist/not-for-prod/prebid.js +185 -182
  112. package/dist/novatiqIdSystem.js +1 -1
  113. package/dist/oguryBidAdapter.js +1 -1
  114. package/dist/oneKeyIdSystem.js +1 -1
  115. package/dist/onetagBidAdapter.js +1 -1
  116. package/dist/ooloAnalyticsAdapter.js +1 -1
  117. package/dist/optidigitalBidAdapter.js +1 -1
  118. package/dist/outbrainBidAdapter.js +1 -1
  119. package/dist/ozoneBidAdapter.js +1 -1
  120. package/dist/pairIdSystem.js +1 -1
  121. package/dist/parrableIdSystem.js +1 -1
  122. package/dist/pixfutureBidAdapter.js +1 -1
  123. package/dist/prebid-core.js +2 -2
  124. package/dist/publinkIdSystem.js +1 -1
  125. package/dist/pubmaticBidAdapter.js +1 -1
  126. package/dist/pubwiseAnalyticsAdapter.js +1 -1
  127. package/dist/pulsepointBidAdapter.js +1 -1
  128. package/dist/pxyzBidAdapter.js +1 -1
  129. package/dist/quantcastBidAdapter.js +1 -1
  130. package/dist/quantcastIdSystem.js +1 -1
  131. package/dist/readpeakBidAdapter.js +1 -1
  132. package/dist/relaidoBidAdapter.js +1 -1
  133. package/dist/retailspotBidAdapter.js +1 -1
  134. package/dist/rhythmoneBidAdapter.js +1 -1
  135. package/dist/riseBidAdapter.js +1 -1
  136. package/dist/rubiconBidAdapter.js +1 -1
  137. package/dist/seedingAllianceBidAdapter.js +1 -1
  138. package/dist/seedtagBidAdapter.js +1 -1
  139. package/dist/sharedIdSystem.js +1 -1
  140. package/dist/sharethroughAnalyticsAdapter.js +1 -1
  141. package/dist/sharethroughBidAdapter.js +1 -1
  142. package/dist/shinezBidAdapter.js +1 -1
  143. package/dist/silverpushBidAdapter.js +1 -1
  144. package/dist/smaatoBidAdapter.js +1 -1
  145. package/dist/smartadserverBidAdapter.js +1 -1
  146. package/dist/smartxBidAdapter.js +1 -1
  147. package/dist/smilewantedBidAdapter.js +1 -1
  148. package/dist/sonobiBidAdapter.js +1 -1
  149. package/dist/sovrnAnalyticsAdapter.js +1 -1
  150. package/dist/sovrnBidAdapter.js +1 -1
  151. package/dist/ssmasBidAdapter.js +1 -0
  152. package/dist/sspBCBidAdapter.js +1 -1
  153. package/dist/stroeerCoreBidAdapter.js +1 -1
  154. package/dist/stvBidAdapter.js +1 -1
  155. package/dist/sublimeBidAdapter.js +1 -1
  156. package/dist/tapadIdSystem.js +1 -1
  157. package/dist/targetVideoBidAdapter.js +1 -1
  158. package/dist/teadsBidAdapter.js +1 -1
  159. package/dist/tncIdSystem.js +1 -1
  160. package/dist/topicsFpdModule.js +1 -1
  161. package/dist/trionBidAdapter.js +1 -1
  162. package/dist/tripleliftBidAdapter.js +1 -1
  163. package/dist/ttdBidAdapter.js +1 -1
  164. package/dist/ucfunnelAnalyticsAdapter.js +1 -1
  165. package/dist/uid2IdSystem.js +1 -1
  166. package/dist/underdogmediaBidAdapter.js +1 -1
  167. package/dist/undertoneBidAdapter.js +1 -1
  168. package/dist/unifiedIdSystem.js +1 -1
  169. package/dist/userId.js +1 -1
  170. package/dist/utiqSystem.js +1 -1
  171. package/dist/verizonMediaIdSystem.js +1 -1
  172. package/dist/vidazooBidAdapter.js +1 -1
  173. package/dist/videobyteBidAdapter.js +1 -1
  174. package/dist/visxBidAdapter.js +1 -1
  175. package/dist/voxBidAdapter.js +1 -1
  176. package/dist/vrtcalBidAdapter.js +1 -1
  177. package/dist/vuukleBidAdapter.js +1 -1
  178. package/dist/widespaceBidAdapter.js +1 -1
  179. package/dist/winrBidAdapter.js +1 -1
  180. package/dist/yahoosspBidAdapter.js +1 -1
  181. package/dist/yandexBidAdapter.js +1 -1
  182. package/dist/yieldmoBidAdapter.js +1 -1
  183. package/dist/yieldoneAnalyticsAdapter.js +1 -1
  184. package/dist/zeotapIdPlusIdSystem.js +1 -1
  185. package/integrationExamples/gpt/adUnitFloors.html +0 -1
  186. package/integrationExamples/videoModule/jwplayer/bidMarkedAsUsed.html +1 -1
  187. package/integrationExamples/videoModule/jwplayer/eventListeners.html +2 -2
  188. package/integrationExamples/videoModule/jwplayer/eventsUI.html +1 -1
  189. package/integrationExamples/videoModule/jwplayer/gamAdServerMediation.html +1 -1
  190. package/integrationExamples/videoModule/jwplayer/mediaMetadata.html +1 -1
  191. package/integrationExamples/videoModule/jwplayer/playlist.html +1 -1
  192. package/integrationExamples/videoModule/videojs/bidMarkedAsUsed.html +1 -1
  193. package/integrationExamples/videoModule/videojs/bidRequestScheduling.html +1 -1
  194. package/integrationExamples/videoModule/videojs/eventListeners.html +1 -1
  195. package/integrationExamples/videoModule/videojs/eventsUI.html +1 -1
  196. package/integrationExamples/videoModule/videojs/gamAdServerMediation.html +1 -1
  197. package/integrationExamples/videoModule/videojs/mediaMetadata.html +1 -1
  198. package/integrationExamples/videoModule/videojs/playlist.html +1 -1
  199. package/modules/.submodules.json +1 -0
  200. package/modules/33acrossBidAdapter.js +24 -14
  201. package/modules/33acrossIdSystem.js +24 -4
  202. package/modules/a1MediaRtdProvider.js +92 -0
  203. package/modules/a1MediaRtdProvider.md +46 -0
  204. package/modules/adagioBidAdapter.js +0 -1
  205. package/modules/adfBidAdapter.js +4 -1
  206. package/modules/adkernelAdnBidAdapter.js +1 -1
  207. package/modules/adkernelBidAdapter.js +10 -3
  208. package/modules/admanBidAdapter.js +4 -0
  209. package/modules/admixerIdSystem.js +6 -0
  210. package/modules/adnuntiusBidAdapter.js +5 -13
  211. package/modules/adqueryIdSystem.js +6 -0
  212. package/modules/adtelligentIdSystem.js +6 -0
  213. package/modules/adyoulikeBidAdapter.js +6 -3
  214. package/modules/amxIdSystem.js +6 -0
  215. package/modules/beachfrontBidAdapter.js +32 -6
  216. package/modules/brandmetricsRtdProvider.js +36 -2
  217. package/modules/brandmetricsRtdProvider.md +17 -2
  218. package/modules/britepoolIdSystem.js +6 -0
  219. package/modules/connectIdSystem.js +6 -0
  220. package/modules/consentManagementGpp.js +10 -1
  221. package/modules/consumableBidAdapter.js +9 -1
  222. package/modules/criteoIdSystem.js +6 -0
  223. package/modules/czechAdIdSystem.js +6 -0
  224. package/modules/dacIdSystem.js +6 -0
  225. package/modules/deepintentDpesIdSystem.js +7 -2
  226. package/modules/dmdIdSystem.js +6 -0
  227. package/modules/euidIdSystem.js +9 -0
  228. package/modules/fabrickIdSystem.js +6 -0
  229. package/modules/ftrackIdSystem.js +16 -0
  230. package/modules/gdprEnforcement.js +27 -22
  231. package/modules/geolocationRtdProvider.js +65 -0
  232. package/modules/gravitoIdSystem.js +6 -0
  233. package/modules/greenbidsRtdProvider.js +1 -1
  234. package/modules/gridBidAdapter.js +19 -0
  235. package/modules/growthCodeIdSystem.js +20 -1
  236. package/modules/hadronIdSystem.js +6 -0
  237. package/modules/id5IdSystem.js +34 -8
  238. package/modules/identityLinkIdSystem.js +6 -0
  239. package/modules/idxIdSystem.js +6 -0
  240. package/modules/imdsBidAdapter.js +38 -14
  241. package/modules/imuIdSystem.js +10 -0
  242. package/modules/intentIqIdSystem.js +6 -0
  243. package/modules/invibesBidAdapter.js +5 -5
  244. package/modules/ixBidAdapter.js +56 -2
  245. package/modules/justIdSystem.js +6 -0
  246. package/modules/kargoBidAdapter.js +4 -0
  247. package/modules/kinessoIdSystem.js +7 -2
  248. package/modules/liveIntentIdSystem.js +53 -0
  249. package/modules/lotamePanoramaIdSystem.js +6 -0
  250. package/modules/merkleIdSystem.js +24 -0
  251. package/modules/minutemediaBidAdapter.js +17 -2
  252. package/modules/mwOpenLinkIdSystem.js +6 -0
  253. package/modules/naveggIdSystem.js +6 -0
  254. package/modules/netIdSystem.js +6 -0
  255. package/modules/novatiqIdSystem.js +12 -0
  256. package/modules/oguryBidAdapter.js +29 -16
  257. package/modules/oneKeyIdSystem.js +26 -0
  258. package/modules/ozoneBidAdapter.js +65 -18
  259. package/modules/ozoneBidAdapter.md +3 -1
  260. package/modules/pairIdSystem.js +6 -0
  261. package/modules/parrableIdSystem.js +38 -2
  262. package/modules/publinkIdSystem.js +7 -1
  263. package/modules/pubmaticBidAdapter.js +16 -1
  264. package/modules/pulsepointBidAdapter.js +63 -424
  265. package/modules/pulsepointBidAdapter.md +39 -45
  266. package/modules/quantcastIdSystem.js +6 -0
  267. package/modules/rubiconBidAdapter.js +9 -0
  268. package/modules/sharedIdSystem.js +7 -1
  269. package/modules/silverpushBidAdapter.js +2 -2
  270. package/modules/sovrnBidAdapter.js +5 -1
  271. package/modules/ssmasBidAdapter.js +126 -0
  272. package/modules/ssmasBidAdapter.md +35 -0
  273. package/modules/sspBCBidAdapter.js +36 -13
  274. package/modules/stroeerCoreBidAdapter.js +2 -3
  275. package/modules/tapadIdSystem.js +6 -0
  276. package/modules/teadsBidAdapter.js +2 -0
  277. package/modules/tncIdSystem.js +6 -0
  278. package/modules/topicsFpdModule.js +4 -1
  279. package/modules/topicsFpdModule.md +4 -0
  280. package/modules/tripleliftBidAdapter.js +5 -0
  281. package/modules/uid2IdSystem.js +14 -0
  282. package/modules/unifiedIdSystem.js +11 -0
  283. package/modules/userId/eids.js +6 -445
  284. package/modules/userId/index.js +38 -26
  285. package/modules/utiqSystem.js +9 -0
  286. package/modules/verizonMediaIdSystem.js +6 -0
  287. package/modules/vidazooBidAdapter.js +5 -7
  288. package/modules/voxBidAdapter.js +16 -5
  289. package/modules/vrtcalBidAdapter.js +10 -6
  290. package/modules/yahoosspBidAdapter.js +38 -33
  291. package/modules/yahoosspBidAdapter.md +96 -95
  292. package/modules/yandexBidAdapter.js +12 -15
  293. package/modules/zeotapIdPlusIdSystem.js +6 -0
  294. package/package.json +1 -1
  295. package/src/activities/redactor.js +1 -1
  296. package/src/adapters/bidderFactory.js +15 -6
  297. package/src/adloader.js +2 -1
  298. package/src/auction.js +24 -2
  299. package/src/constants.json +3 -1
  300. package/src/fpd/sua.js +8 -2
  301. package/test/spec/auctionmanager_spec.js +29 -1
  302. package/test/spec/fpd/enrichment_spec.js +7 -1
  303. package/test/spec/fpd/sua_spec.js +12 -0
  304. package/test/spec/modules/33acrossBidAdapter_spec.js +188 -35
  305. package/test/spec/modules/33acrossIdSystem_spec.js +122 -27
  306. package/test/spec/modules/a1MediaRtdProvider_spec.js +105 -0
  307. package/test/spec/modules/adagioBidAdapter_spec.js +0 -1
  308. package/test/spec/modules/adfBidAdapter_spec.js +47 -0
  309. package/test/spec/modules/adkernelAdnBidAdapter_spec.js +1 -2
  310. package/test/spec/modules/adkernelBidAdapter_spec.js +7 -2
  311. package/test/spec/modules/adnuntiusBidAdapter_spec.js +116 -64
  312. package/test/spec/modules/adyoulikeBidAdapter_spec.js +13 -24
  313. package/test/spec/modules/beachfrontBidAdapter_spec.js +35 -2
  314. package/test/spec/modules/brandmetricsRtdProvider_spec.js +69 -7
  315. package/test/spec/modules/consentManagementGpp_spec.js +16 -0
  316. package/test/spec/modules/consumableBidAdapter_spec.js +15 -0
  317. package/test/spec/modules/freewheel-sspBidAdapter_spec.js +5 -5
  318. package/test/spec/modules/gdprEnforcement_spec.js +43 -2
  319. package/test/spec/modules/geolocationRtdProvider_spec.js +119 -0
  320. package/test/spec/modules/greenbidsRtdProvider_spec.js +1 -1
  321. package/test/spec/modules/gridBidAdapter_spec.js +42 -0
  322. package/test/spec/modules/id5IdSystem_spec.js +18 -0
  323. package/test/spec/modules/imdsBidAdapter_spec.js +98 -17
  324. package/test/spec/modules/invibesBidAdapter_spec.js +123 -32
  325. package/test/spec/modules/ixBidAdapter_spec.js +95 -5
  326. package/test/spec/modules/kargoBidAdapter_spec.js +121 -106
  327. package/test/spec/modules/medianetBidAdapter_spec.js +117 -0
  328. package/test/spec/modules/minutemediaBidAdapter_spec.js +36 -5
  329. package/test/spec/modules/oguryBidAdapter_spec.js +208 -108
  330. package/test/spec/modules/outbrainBidAdapter_spec.js +3 -5
  331. package/test/spec/modules/ozoneBidAdapter_spec.js +27 -1
  332. package/test/spec/modules/prebidServerBidAdapter_spec.js +2 -20
  333. package/test/spec/modules/priceFloors_spec.js +14 -0
  334. package/test/spec/modules/pubmaticBidAdapter_spec.js +125 -373
  335. package/test/spec/modules/pulsepointBidAdapter_spec.js +225 -486
  336. package/test/spec/modules/rubiconBidAdapter_spec.js +220 -9
  337. package/test/spec/modules/smaatoBidAdapter_spec.js +4 -6
  338. package/test/spec/modules/sovrnBidAdapter_spec.js +24 -4
  339. package/test/spec/modules/ssmasBidAdapter_spec.js +244 -0
  340. package/test/spec/modules/sspBCBidAdapter_spec.js +18 -19
  341. package/test/spec/modules/stroeerCoreBidAdapter_spec.js +8 -5
  342. package/test/spec/modules/teadsBidAdapter_spec.js +70 -21
  343. package/test/spec/modules/topicsFpdModule_spec.js +10 -4
  344. package/test/spec/modules/tripleliftBidAdapter_spec.js +40 -0
  345. package/test/spec/modules/userId_spec.js +116 -7
  346. package/test/spec/modules/vidazooBidAdapter_spec.js +0 -5
  347. package/test/spec/modules/voxBidAdapter_spec.js +93 -0
  348. package/test/spec/modules/vrtcalBidAdapter_spec.js +12 -4
  349. package/test/spec/modules/xeBidAdapter_spec.js +366 -368
  350. package/test/spec/modules/yahoosspBidAdapter_spec.js +405 -330
  351. package/test/spec/modules/yandexBidAdapter_spec.js +21 -3
  352. package/test/spec/unit/core/bidderFactory_spec.js +61 -14
  353. package/integrationExamples/gpt/inskin_example.html +0 -100
  354. package/integrationExamples/gpt/pbjs_video_adUnit.html +0 -109
@@ -12,7 +12,7 @@ import {
12
12
  setSubmoduleRegistry,
13
13
  syncDelay,
14
14
  } from 'modules/userId/index.js';
15
- import {createEidsArray} from 'modules/userId/eids.js';
15
+ import {createEidsArray, EID_CONFIG} from 'modules/userId/eids.js';
16
16
  import {config} from 'src/config.js';
17
17
  import * as utils from 'src/utils.js';
18
18
  import {getPrebidInternal} from 'src/utils.js';
@@ -86,7 +86,7 @@ describe('User ID', function () {
86
86
  }
87
87
  }
88
88
 
89
- function createMockIdSubmodule(name, value, aliasName) {
89
+ function createMockIdSubmodule(name, value, aliasName, eids) {
90
90
  return {
91
91
  name,
92
92
  getId() {
@@ -95,7 +95,8 @@ describe('User ID', function () {
95
95
  decode(v) {
96
96
  return v;
97
97
  },
98
- aliasName
98
+ aliasName,
99
+ eids
99
100
  }
100
101
  }
101
102
 
@@ -594,6 +595,50 @@ describe('User ID', function () {
594
595
  });
595
596
  });
596
597
 
598
+ describe('EID updateConfig', () => {
599
+ function mockSubmod(name, eids) {
600
+ return createMockIdSubmodule(name, null, null, eids);
601
+ }
602
+
603
+ it('does not choke if a submod does not provide an eids map', () => {
604
+ setSubmoduleRegistry([
605
+ mockSubmod('mock1'),
606
+ mockSubmod('mock2')
607
+ ]);
608
+ expect(EID_CONFIG.size).to.equal(0);
609
+ });
610
+
611
+ it('should merge together submodules\' eid configs', () => {
612
+ setSubmoduleRegistry([
613
+ mockSubmod('mock1', {mock1: {m: 1}}),
614
+ mockSubmod('mock2', {mock2: {m: 2}})
615
+ ]);
616
+ expect(EID_CONFIG.get('mock1')).to.eql({m: 1});
617
+ expect(EID_CONFIG.get('mock2')).to.eql({m: 2});
618
+ });
619
+
620
+ it('should respect idPriority', () => {
621
+ config.setConfig({
622
+ userSync: {
623
+ idPriority: {
624
+ m1: ['mod2', 'mod1'],
625
+ m2: ['mod1', 'mod2']
626
+ },
627
+ userIds: [
628
+ { name: 'mod1' },
629
+ { name: 'mod2' },
630
+ ]
631
+ }
632
+ });
633
+ setSubmoduleRegistry([
634
+ mockSubmod('mod1', {m1: {i: 1}, m2: {i: 2}}),
635
+ mockSubmod('mod2', {m1: {i: 3}, m2: {i: 4}})
636
+ ]);
637
+ expect(EID_CONFIG.get('m1')).to.eql({i: 3});
638
+ expect(EID_CONFIG.get('m2')).to.eql({i: 2});
639
+ });
640
+ })
641
+
597
642
  it('should set googletag ppid correctly', function () {
598
643
  let adUnits = [getAdUnitMock()];
599
644
  init(config);
@@ -626,7 +671,25 @@ describe('User ID', function () {
626
671
  // some of the ids are padded to have length >= 32 characters
627
672
  createMockIdSubmodule('mockId1Module', {id: {uid2: {id: 'uid2_value_7ac66c0f148de9519b8bd264312c4d64'}}}),
628
673
  createMockIdSubmodule('mockId2Module', {id: {pubcid: 'pubcid_value_7ac66c0f148de9519b8bd264312c4d64', lipb: {lipbid: 'lipbid_value_from_mockId2Module_7ac66c0f148de9519b8bd264312c4d64'}}}),
629
- createMockIdSubmodule('mockId3Module', {id: {uid2: {id: 'uid2_value_from_mockId3Module_7ac66c0f148de9519b8bd264312c4d64'}, pubcid: 'pubcid_value_from_mockId3Module_7ac66c0f148de9519b8bd264312c4d64', lipb: {lipbid: 'lipbid_value_7ac66c0f148de9519b8bd264312c4d64'}, merkleId: {id: 'merkleId_value_from_mockId3Module_7ac66c0f148de9519b8bd264312c4d64'}}}),
674
+ createMockIdSubmodule('mockId3Module', {
675
+ id: {
676
+ uid2: {
677
+ id: 'uid2_value_from_mockId3Module_7ac66c0f148de9519b8bd264312c4d64'
678
+ },
679
+ pubcid: 'pubcid_value_from_mockId3Module_7ac66c0f148de9519b8bd264312c4d64',
680
+ lipb: {
681
+ lipbid: 'lipbid_value_7ac66c0f148de9519b8bd264312c4d64'
682
+ },
683
+ merkleId: {
684
+ id: 'merkleId_value_from_mockId3Module_7ac66c0f148de9519b8bd264312c4d64'
685
+ }
686
+ }
687
+ }, null, {
688
+ uid2: {
689
+ source: 'uidapi.com',
690
+ getValue(data) { return data.id }
691
+ }
692
+ }),
630
693
  createMockIdSubmodule('mockId4Module', {id: {merkleId: {id: 'merkleId_value_7ac66c0f148de9519b8bd264312c4d64'}}})
631
694
  ]);
632
695
 
@@ -717,6 +780,11 @@ describe('User ID', function () {
717
780
  },
718
781
  decode(d) {
719
782
  return d
783
+ },
784
+ eids: {
785
+ pubcid: {
786
+ source: 'pubcid.org',
787
+ }
720
788
  }
721
789
  }]);
722
790
  config.setConfig({
@@ -808,7 +876,25 @@ describe('User ID', function () {
808
876
  // some of the ids are padded to have length >= 32 characters
809
877
  createMockIdSubmodule('mockId1Module', {id: {uid2: {id: 'uid2_value_7ac66c0f148de9519b8bd264312c4d64'}}}),
810
878
  createMockIdSubmodule('mockId2Module', {id: {pubcid: 'pubcid_value_7ac66c0f148de9519b8bd264312c4d64', lipb: {lipbid: 'lipbid_value_from_mockId2Module_7ac66c0f148de9519b8bd264312c4d64'}}}),
811
- createMockIdSubmodule('mockId3Module', {id: {uid2: {id: 'uid2_value_from_mockId3Module_7ac66c0f148de9519b8bd264312c4d64'}, pubcid: 'pubcid_value_from_mockId3Module_7ac66c0f148de9519b8bd264312c4d64', lipb: {lipbid: 'lipbid_value_7ac66c0f148de9519b8bd264312c4d64'}, merkleId: {id: 'merkleId_value_from_mockId3Module_7ac66c0f148de9519b8bd264312c4d64'}}}),
879
+ createMockIdSubmodule('mockId3Module', {
880
+ id: {
881
+ uid2: {
882
+ id: 'uid2_value_from_mockId3Module_7ac66c0f148de9519b8bd264312c4d64'
883
+ },
884
+ pubcid: 'pubcid_value_from_mockId3Module_7ac66c0f148de9519b8bd264312c4d64',
885
+ lipb: {
886
+ lipbid: 'lipbid_value_7ac66c0f148de9519b8bd264312c4d64'
887
+ },
888
+ merkleId: {
889
+ id: 'merkleId_value_from_mockId3Module_7ac66c0f148de9519b8bd264312c4d64'
890
+ }
891
+ }
892
+ }, null, {
893
+ uid2: {
894
+ source: 'uidapi.com',
895
+ getValue(data) { return data.id }
896
+ }
897
+ }),
812
898
  createMockIdSubmodule('mockId4Module', {id: {merkleId: {id: 'merkleId_value_7ac66c0f148de9519b8bd264312c4d64'}}})
813
899
  ]);
814
900
 
@@ -3259,8 +3345,31 @@ describe('User ID', function () {
3259
3345
  setSubmoduleRegistry([
3260
3346
  createMockIdSubmodule('mockId1Module', {id: {uid2: {id: 'uid2_value'}}}),
3261
3347
  createMockIdSubmodule('mockId2Module', {id: {pubcid: 'pubcid_value', lipb: {lipbid: 'lipbid_value_from_mockId2Module'}}}),
3262
- createMockIdSubmodule('mockId3Module', {id: {uid2: {id: 'uid2_value_from_mockId3Module'}, pubcid: 'pubcid_value_from_mockId3Module', lipb: {lipbid: 'lipbid_value'}, merkleId: {id: 'merkleId_value_from_mockId3Module'}}}),
3263
- createMockIdSubmodule('mockId4Module', {id: {merkleId: {id: 'merkleId_value'}}})
3348
+ createMockIdSubmodule('mockId3Module', {id: {uid2: {id: 'uid2_value_from_mockId3Module'}, pubcid: 'pubcid_value_from_mockId3Module', lipb: {lipbid: 'lipbid_value'}, merkleId: {id: 'merkleId_value_from_mockId3Module'}}}, null, {
3349
+ uid2: {
3350
+ source: 'uidapi.com',
3351
+ getValue(data) {
3352
+ return data.id
3353
+ }
3354
+ },
3355
+ pubcid: {
3356
+ source: 'pubcid.org',
3357
+ },
3358
+ lipb: {
3359
+ source: 'liveintent.com',
3360
+ getValue(data) {
3361
+ return data.lipbid
3362
+ }
3363
+ }
3364
+ }),
3365
+ createMockIdSubmodule('mockId4Module', {id: {merkleId: {id: 'merkleId_value'}}}, null, {
3366
+ merkleId: {
3367
+ source: 'merkleinc.com',
3368
+ getValue(data) {
3369
+ return data.id
3370
+ }
3371
+ }
3372
+ })
3264
3373
  ]);
3265
3374
  config.setConfig({
3266
3375
  userSync: {
@@ -40,7 +40,6 @@ const BID = {
40
40
  'placementCode': 'div-gpt-ad-1460505748561-0',
41
41
  'sizes': [[300, 250], [300, 600]],
42
42
  'bidderRequestId': '1fdb5ff1b6eaa7',
43
- 'auctionId': 'auction_id',
44
43
  'bidRequestsCount': 4,
45
44
  'bidderRequestsCount': 3,
46
45
  'bidderWinsCount': 1,
@@ -64,7 +63,6 @@ const VIDEO_BID = {
64
63
  tid: '56e184c6-bde9-497b-b9b9-cf47a61381ee',
65
64
  }
66
65
  },
67
- 'auctionId': 'auction_id',
68
66
  'bidRequestsCount': 4,
69
67
  'bidderRequestsCount': 3,
70
68
  'bidderWinsCount': 1,
@@ -288,7 +286,6 @@ describe('VidazooBidAdapter', function () {
288
286
  usPrivacy: 'consent_string',
289
287
  gppString: 'gpp_string',
290
288
  gppSid: [7],
291
- auctionId: 'auction_id',
292
289
  bidRequestsCount: 4,
293
290
  bidderRequestsCount: 3,
294
291
  bidderWinsCount: 1,
@@ -362,7 +359,6 @@ describe('VidazooBidAdapter', function () {
362
359
  usPrivacy: 'consent_string',
363
360
  gppString: 'gpp_string',
364
361
  gppSid: [7],
365
- auctionId: 'auction_id',
366
362
  bidRequestsCount: 4,
367
363
  bidderRequestsCount: 3,
368
364
  bidderWinsCount: 1,
@@ -436,7 +432,6 @@ describe('VidazooBidAdapter', function () {
436
432
  usPrivacy: 'consent_string',
437
433
  gppString: 'gpp_string',
438
434
  gppSid: [7],
439
- auctionId: 'auction_id',
440
435
  bidRequestsCount: 4,
441
436
  bidderRequestsCount: 3,
442
437
  bidderWinsCount: 1,
@@ -1,5 +1,6 @@
1
1
  import { expect } from 'chai'
2
2
  import { spec } from 'modules/voxBidAdapter.js'
3
+ import {config} from 'src/config.js'
3
4
 
4
5
  function getSlotConfigs(mediaTypes, params) {
5
6
  return {
@@ -175,6 +176,98 @@ describe('VOX Adapter', function() {
175
176
  expect(bid.transactionId).to.equal('31a58515-3634-4e90-9c96-f86196db1459')
176
177
  })
177
178
  })
179
+ it('should not set userid if not specified', function () {
180
+ const request = spec.buildRequests(validBidRequests, bidderRequest)
181
+ const data = JSON.parse(request.data)
182
+ data.bidRequests.forEach(bid => {
183
+ expect(bid.userId).to.be.undefined
184
+ })
185
+ })
186
+
187
+ it('should set userid if specified', function () {
188
+ const requests = validBidRequests.map(bid => ({
189
+ ...bid,
190
+ userId: {
191
+ tdid: 'TDID_USER_ID',
192
+ pubcid: 'PUBID_USER_ID'
193
+ }
194
+ }))
195
+ const request = spec.buildRequests(requests, bidderRequest)
196
+ const data = JSON.parse(request.data)
197
+ data.bidRequests.forEach(bid => {
198
+ expect(bid.userId.tdid).to.equal('TDID_USER_ID')
199
+ expect(bid.userId.pubcid).to.equal('PUBID_USER_ID')
200
+ })
201
+ })
202
+
203
+ it('should not set schain if not specified', function () {
204
+ const request = spec.buildRequests(validBidRequests, bidderRequest)
205
+ const data = JSON.parse(request.data)
206
+ data.bidRequests.forEach(bid => {
207
+ expect(bid.schain).to.be.undefined
208
+ })
209
+ })
210
+
211
+ it('should set schain if not specified', function () {
212
+ const requests = validBidRequests.map(bid => ({
213
+ ...bid,
214
+ schain: {
215
+ validation: 'strict',
216
+ config: {
217
+ ver: '1.0'
218
+ }
219
+ }
220
+ }))
221
+ const request = spec.buildRequests(requests, bidderRequest)
222
+ const data = JSON.parse(request.data)
223
+ data.bidRequests.forEach(bid => {
224
+ expect(bid.schain.validation).to.equal('strict')
225
+ expect(bid.schain.config.ver).to.equal('1.0')
226
+ })
227
+ })
228
+
229
+ describe('price floors', function () {
230
+ it('should be empty if floors module not configured', function () {
231
+ const request = spec.buildRequests(validBidRequests, bidderRequest)
232
+ const data = JSON.parse(request.data)
233
+ data.bidRequests.forEach(bid => {
234
+ expect(bid.floorInfo).to.be.empty
235
+ })
236
+ })
237
+
238
+ it('should add correct floor values', function () {
239
+ const expectedFloors = [ 2, 2.7, 1.4 ]
240
+ const validBidRequests = expectedFloors.map(getBidWithFloor)
241
+ const request = spec.buildRequests(validBidRequests, bidderRequest)
242
+ const data = JSON.parse(request.data)
243
+ expectedFloors.forEach((floor, index) => {
244
+ expect(data.bidRequests[index].floorInfo.floor).to.equal(floor)
245
+ expect(data.bidRequests[index].floorInfo.currency).to.equal('USD')
246
+ })
247
+ })
248
+
249
+ it('should request floor price in adserver currency', function () {
250
+ const configCurrency = 'DKK'
251
+ config.setConfig({ currency: { adServerCurrency: configCurrency } })
252
+ const request = spec.buildRequests([ getBidWithFloor() ], bidderRequest)
253
+ const data = JSON.parse(request.data)
254
+ data.bidRequests.forEach(bid => {
255
+ expect(bid.floorInfo.currency).to.equal(configCurrency)
256
+ })
257
+ })
258
+
259
+ function getBidWithFloor(floor) {
260
+ return {
261
+ ...validBidRequests[0],
262
+ getFloor: ({ currency }) => {
263
+ return {
264
+ currency: currency,
265
+ floor
266
+ }
267
+ }
268
+ }
269
+ }
270
+ })
178
271
 
179
272
  describe('GDPR params', function() {
180
273
  describe('when there are not consent management platform', function() {
@@ -29,7 +29,12 @@ describe('vrtcalBidAdapter', function () {
29
29
  'bidderRequestId': 'br0001',
30
30
  'auctionId': 'auction0001',
31
31
  'userIdAsEids': {},
32
- timeout: 435
32
+ timeout: 435,
33
+
34
+ refererInfo: {
35
+ page: 'page'
36
+ }
37
+
33
38
  }
34
39
  ];
35
40
 
@@ -79,9 +84,12 @@ describe('vrtcalBidAdapter', function () {
79
84
  });
80
85
 
81
86
  it('pass 3rd party IDs with the request when present', function () {
82
- bidRequests[0].userIdAsEids = createEidsArray({
83
- tdid: 'TTD_ID_FROM_USER_ID_MODULE'
84
- });
87
+ bidRequests[0].userIdAsEids = [
88
+ {
89
+ source: 'adserver.org',
90
+ uids: [{id: 'TTD_ID_FROM_USER_ID_MODULE', atype: 1, ext: {rtiPartner: 'TDID'}}]
91
+ }
92
+ ];
85
93
 
86
94
  request = spec.buildRequests(bidRequests);
87
95
  expect(request[0].data).to.include(JSON.stringify({ext: {consent: 'gdpr-consent-string', eids: [{source: 'adserver.org', uids: [{id: 'TTD_ID_FROM_USER_ID_MODULE', atype: 1, ext: {rtiPartner: 'TDID'}}]}]}}));