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
@@ -113,132 +113,232 @@ describe('OguryBidAdapter', function () {
113
113
  let syncOptions, gdprConsent;
114
114
 
115
115
  beforeEach(() => {
116
- syncOptions = {pixelEnabled: true};
117
116
  gdprConsent = {
118
117
  gdprApplies: true,
119
118
  consentString: 'CPJl4C8PJl4C8OoAAAENAwCMAP_AAH_AAAAAAPgAAAAIAPgAAAAIAAA.IGLtV_T9fb2vj-_Z99_tkeYwf95y3p-wzhheMs-8NyZeH_B4Wv2MyvBX4JiQKGRgksjLBAQdtHGlcTQgBwIlViTLMYk2MjzNKJrJEilsbO2dYGD9Pn8HT3ZCY70-vv__7v3ff_3g'
120
119
  };
121
120
  });
122
121
 
123
- it('should return syncs array with three elements of type image', () => {
124
- const userSyncs = spec.getUserSyncs(syncOptions, [], gdprConsent);
122
+ describe('pixel', () => {
123
+ beforeEach(() => {
124
+ syncOptions = { pixelEnabled: true };
125
+ });
125
126
 
126
- expect(userSyncs).to.have.lengthOf(3);
127
- expect(userSyncs[0].type).to.equal('image');
128
- expect(userSyncs[0].url).to.contain('https://ms-cookie-sync.presage.io/v1/init-sync/bid-switch');
129
- expect(userSyncs[1].type).to.equal('image');
130
- expect(userSyncs[1].url).to.contain('https://ms-cookie-sync.presage.io/ttd/init-sync');
131
- expect(userSyncs[2].type).to.equal('image');
132
- expect(userSyncs[2].url).to.contain('https://ms-cookie-sync.presage.io/xandr/init-sync');
133
- });
127
+ it('should return syncs array with three elements of type image', () => {
128
+ const userSyncs = spec.getUserSyncs(syncOptions, [], gdprConsent);
134
129
 
135
- it('should set the source as query param', () => {
136
- const userSyncs = spec.getUserSyncs(syncOptions, [], gdprConsent);
137
- expect(userSyncs[0].url).to.contain('source=prebid');
138
- expect(userSyncs[1].url).to.contain('source=prebid');
139
- expect(userSyncs[2].url).to.contain('source=prebid');
140
- });
130
+ expect(userSyncs).to.have.lengthOf(3);
131
+ expect(userSyncs[0].type).to.equal('image');
132
+ expect(userSyncs[0].url).to.contain('https://ms-cookie-sync.presage.io/v1/init-sync/bid-switch');
133
+ expect(userSyncs[1].type).to.equal('image');
134
+ expect(userSyncs[1].url).to.contain('https://ms-cookie-sync.presage.io/ttd/init-sync');
135
+ expect(userSyncs[2].type).to.equal('image');
136
+ expect(userSyncs[2].url).to.contain('https://ms-cookie-sync.presage.io/xandr/init-sync');
137
+ });
141
138
 
142
- it('should set the tcString as query param', () => {
143
- const userSyncs = spec.getUserSyncs(syncOptions, [], gdprConsent);
144
- expect(userSyncs[0].url).to.contain(`iab_string=${gdprConsent.consentString}`);
145
- expect(userSyncs[1].url).to.contain(`iab_string=${gdprConsent.consentString}`);
146
- expect(userSyncs[2].url).to.contain(`iab_string=${gdprConsent.consentString}`);
147
- });
139
+ it('should set the source as query param', () => {
140
+ const userSyncs = spec.getUserSyncs(syncOptions, [], gdprConsent);
141
+ expect(userSyncs[0].url).to.contain('source=prebid');
142
+ expect(userSyncs[1].url).to.contain('source=prebid');
143
+ expect(userSyncs[2].url).to.contain('source=prebid');
144
+ });
148
145
 
149
- it('should return an empty array when pixel is disable', () => {
150
- syncOptions.pixelEnabled = false;
151
- expect(spec.getUserSyncs(syncOptions, [], gdprConsent)).to.have.lengthOf(0);
152
- });
146
+ it('should set the tcString as query param', () => {
147
+ const userSyncs = spec.getUserSyncs(syncOptions, [], gdprConsent);
148
+ expect(userSyncs[0].url).to.contain(`iab_string=${gdprConsent.consentString}`);
149
+ expect(userSyncs[1].url).to.contain(`iab_string=${gdprConsent.consentString}`);
150
+ expect(userSyncs[2].url).to.contain(`iab_string=${gdprConsent.consentString}`);
151
+ });
153
152
 
154
- it('should return syncs array with three elements of type image when consentString is undefined', () => {
155
- gdprConsent = {
156
- gdprApplies: true,
157
- consentString: undefined
158
- };
153
+ it('should return an empty array when pixel is disable', () => {
154
+ syncOptions.pixelEnabled = false;
155
+ expect(spec.getUserSyncs(syncOptions, [], gdprConsent)).to.have.lengthOf(0);
156
+ });
159
157
 
160
- const userSyncs = spec.getUserSyncs(syncOptions, [], gdprConsent);
161
- expect(userSyncs).to.have.lengthOf(3);
162
- expect(userSyncs[0].type).to.equal('image');
163
- expect(userSyncs[0].url).to.equal('https://ms-cookie-sync.presage.io/v1/init-sync/bid-switch?iab_string=&source=prebid')
164
- expect(userSyncs[1].type).to.equal('image');
165
- expect(userSyncs[1].url).to.equal('https://ms-cookie-sync.presage.io/ttd/init-sync?iab_string=&source=prebid')
166
- expect(userSyncs[2].type).to.equal('image');
167
- expect(userSyncs[2].url).to.equal('https://ms-cookie-sync.presage.io/xandr/init-sync?iab_string=&source=prebid')
168
- });
158
+ it('should return syncs array with three elements of type image when consentString is undefined', () => {
159
+ gdprConsent = {
160
+ gdprApplies: true,
161
+ consentString: undefined
162
+ };
169
163
 
170
- it('should return syncs array with three elements of type image when consentString is null', () => {
171
- gdprConsent = {
172
- gdprApplies: true,
173
- consentString: null
174
- };
164
+ const userSyncs = spec.getUserSyncs(syncOptions, [], gdprConsent);
165
+ expect(userSyncs).to.have.lengthOf(3);
166
+ expect(userSyncs[0].type).to.equal('image');
167
+ expect(userSyncs[0].url).to.equal('https://ms-cookie-sync.presage.io/v1/init-sync/bid-switch?iab_string=&source=prebid')
168
+ expect(userSyncs[1].type).to.equal('image');
169
+ expect(userSyncs[1].url).to.equal('https://ms-cookie-sync.presage.io/ttd/init-sync?iab_string=&source=prebid')
170
+ expect(userSyncs[2].type).to.equal('image');
171
+ expect(userSyncs[2].url).to.equal('https://ms-cookie-sync.presage.io/xandr/init-sync?iab_string=&source=prebid')
172
+ });
175
173
 
176
- const userSyncs = spec.getUserSyncs(syncOptions, [], gdprConsent);
177
- expect(userSyncs).to.have.lengthOf(3);
178
- expect(userSyncs[0].type).to.equal('image');
179
- expect(userSyncs[0].url).to.equal('https://ms-cookie-sync.presage.io/v1/init-sync/bid-switch?iab_string=&source=prebid')
180
- expect(userSyncs[1].type).to.equal('image');
181
- expect(userSyncs[1].url).to.equal('https://ms-cookie-sync.presage.io/ttd/init-sync?iab_string=&source=prebid')
182
- expect(userSyncs[2].type).to.equal('image');
183
- expect(userSyncs[2].url).to.equal('https://ms-cookie-sync.presage.io/xandr/init-sync?iab_string=&source=prebid')
184
- });
174
+ it('should return syncs array with three elements of type image when consentString is null', () => {
175
+ gdprConsent = {
176
+ gdprApplies: true,
177
+ consentString: null
178
+ };
185
179
 
186
- it('should return syncs array with three elements of type image when gdprConsent is undefined', () => {
187
- gdprConsent = undefined;
188
-
189
- const userSyncs = spec.getUserSyncs(syncOptions, [], gdprConsent);
190
- expect(userSyncs).to.have.lengthOf(3);
191
- expect(userSyncs[0].type).to.equal('image');
192
- expect(userSyncs[0].url).to.equal('https://ms-cookie-sync.presage.io/v1/init-sync/bid-switch?iab_string=&source=prebid')
193
- expect(userSyncs[1].type).to.equal('image');
194
- expect(userSyncs[1].url).to.equal('https://ms-cookie-sync.presage.io/ttd/init-sync?iab_string=&source=prebid')
195
- expect(userSyncs[2].type).to.equal('image');
196
- expect(userSyncs[2].url).to.equal('https://ms-cookie-sync.presage.io/xandr/init-sync?iab_string=&source=prebid')
197
- });
180
+ const userSyncs = spec.getUserSyncs(syncOptions, [], gdprConsent);
181
+ expect(userSyncs).to.have.lengthOf(3);
182
+ expect(userSyncs[0].type).to.equal('image');
183
+ expect(userSyncs[0].url).to.equal('https://ms-cookie-sync.presage.io/v1/init-sync/bid-switch?iab_string=&source=prebid')
184
+ expect(userSyncs[1].type).to.equal('image');
185
+ expect(userSyncs[1].url).to.equal('https://ms-cookie-sync.presage.io/ttd/init-sync?iab_string=&source=prebid')
186
+ expect(userSyncs[2].type).to.equal('image');
187
+ expect(userSyncs[2].url).to.equal('https://ms-cookie-sync.presage.io/xandr/init-sync?iab_string=&source=prebid')
188
+ });
198
189
 
199
- it('should return syncs array with three elements of type image when gdprConsent is null', () => {
200
- gdprConsent = null;
201
-
202
- const userSyncs = spec.getUserSyncs(syncOptions, [], gdprConsent);
203
- expect(userSyncs).to.have.lengthOf(3);
204
- expect(userSyncs[0].type).to.equal('image');
205
- expect(userSyncs[0].url).to.equal('https://ms-cookie-sync.presage.io/v1/init-sync/bid-switch?iab_string=&source=prebid')
206
- expect(userSyncs[1].type).to.equal('image');
207
- expect(userSyncs[1].url).to.equal('https://ms-cookie-sync.presage.io/ttd/init-sync?iab_string=&source=prebid')
208
- expect(userSyncs[2].type).to.equal('image');
209
- expect(userSyncs[2].url).to.equal('https://ms-cookie-sync.presage.io/xandr/init-sync?iab_string=&source=prebid')
210
- });
190
+ it('should return syncs array with three elements of type image when gdprConsent is undefined', () => {
191
+ gdprConsent = undefined;
192
+
193
+ const userSyncs = spec.getUserSyncs(syncOptions, [], gdprConsent);
194
+ expect(userSyncs).to.have.lengthOf(3);
195
+ expect(userSyncs[0].type).to.equal('image');
196
+ expect(userSyncs[0].url).to.equal('https://ms-cookie-sync.presage.io/v1/init-sync/bid-switch?iab_string=&source=prebid')
197
+ expect(userSyncs[1].type).to.equal('image');
198
+ expect(userSyncs[1].url).to.equal('https://ms-cookie-sync.presage.io/ttd/init-sync?iab_string=&source=prebid')
199
+ expect(userSyncs[2].type).to.equal('image');
200
+ expect(userSyncs[2].url).to.equal('https://ms-cookie-sync.presage.io/xandr/init-sync?iab_string=&source=prebid')
201
+ });
211
202
 
212
- it('should return syncs array with three elements of type image when gdprConsent is null and gdprApplies is false', () => {
213
- gdprConsent = {
214
- gdprApplies: false,
215
- consentString: null
216
- };
203
+ it('should return syncs array with three elements of type image when gdprConsent is null', () => {
204
+ gdprConsent = null;
205
+
206
+ const userSyncs = spec.getUserSyncs(syncOptions, [], gdprConsent);
207
+ expect(userSyncs).to.have.lengthOf(3);
208
+ expect(userSyncs[0].type).to.equal('image');
209
+ expect(userSyncs[0].url).to.equal('https://ms-cookie-sync.presage.io/v1/init-sync/bid-switch?iab_string=&source=prebid')
210
+ expect(userSyncs[1].type).to.equal('image');
211
+ expect(userSyncs[1].url).to.equal('https://ms-cookie-sync.presage.io/ttd/init-sync?iab_string=&source=prebid')
212
+ expect(userSyncs[2].type).to.equal('image');
213
+ expect(userSyncs[2].url).to.equal('https://ms-cookie-sync.presage.io/xandr/init-sync?iab_string=&source=prebid')
214
+ });
215
+
216
+ it('should return syncs array with three elements of type image when gdprConsent is null and gdprApplies is false', () => {
217
+ gdprConsent = {
218
+ gdprApplies: false,
219
+ consentString: null
220
+ };
221
+
222
+ const userSyncs = spec.getUserSyncs(syncOptions, [], gdprConsent);
223
+ expect(userSyncs).to.have.lengthOf(3);
224
+ expect(userSyncs[0].type).to.equal('image');
225
+ expect(userSyncs[0].url).to.equal('https://ms-cookie-sync.presage.io/v1/init-sync/bid-switch?iab_string=&source=prebid')
226
+ expect(userSyncs[1].type).to.equal('image');
227
+ expect(userSyncs[1].url).to.equal('https://ms-cookie-sync.presage.io/ttd/init-sync?iab_string=&source=prebid')
228
+ expect(userSyncs[2].type).to.equal('image');
229
+ expect(userSyncs[2].url).to.equal('https://ms-cookie-sync.presage.io/xandr/init-sync?iab_string=&source=prebid')
230
+ });
231
+
232
+ it('should return syncs array with three elements of type image when gdprConsent is empty string and gdprApplies is false', () => {
233
+ gdprConsent = {
234
+ gdprApplies: false,
235
+ consentString: ''
236
+ };
217
237
 
218
- const userSyncs = spec.getUserSyncs(syncOptions, [], gdprConsent);
219
- expect(userSyncs).to.have.lengthOf(3);
220
- expect(userSyncs[0].type).to.equal('image');
221
- expect(userSyncs[0].url).to.equal('https://ms-cookie-sync.presage.io/v1/init-sync/bid-switch?iab_string=&source=prebid')
222
- expect(userSyncs[1].type).to.equal('image');
223
- expect(userSyncs[1].url).to.equal('https://ms-cookie-sync.presage.io/ttd/init-sync?iab_string=&source=prebid')
224
- expect(userSyncs[2].type).to.equal('image');
225
- expect(userSyncs[2].url).to.equal('https://ms-cookie-sync.presage.io/xandr/init-sync?iab_string=&source=prebid')
238
+ const userSyncs = spec.getUserSyncs(syncOptions, [], gdprConsent);
239
+ expect(userSyncs).to.have.lengthOf(3);
240
+ expect(userSyncs[0].type).to.equal('image');
241
+ expect(userSyncs[0].url).to.equal('https://ms-cookie-sync.presage.io/v1/init-sync/bid-switch?iab_string=&source=prebid')
242
+ expect(userSyncs[1].type).to.equal('image');
243
+ expect(userSyncs[1].url).to.equal('https://ms-cookie-sync.presage.io/ttd/init-sync?iab_string=&source=prebid')
244
+ expect(userSyncs[2].type).to.equal('image');
245
+ expect(userSyncs[2].url).to.equal('https://ms-cookie-sync.presage.io/xandr/init-sync?iab_string=&source=prebid')
246
+ });
226
247
  });
227
248
 
228
- it('should return syncs array with three elements of type image when gdprConsent is empty string and gdprApplies is false', () => {
229
- gdprConsent = {
230
- gdprApplies: false,
231
- consentString: ''
232
- };
249
+ describe('iframe', () => {
250
+ beforeEach(() => {
251
+ syncOptions = { iframeEnabled: true };
252
+ });
233
253
 
234
- const userSyncs = spec.getUserSyncs(syncOptions, [], gdprConsent);
235
- expect(userSyncs).to.have.lengthOf(3);
236
- expect(userSyncs[0].type).to.equal('image');
237
- expect(userSyncs[0].url).to.equal('https://ms-cookie-sync.presage.io/v1/init-sync/bid-switch?iab_string=&source=prebid')
238
- expect(userSyncs[1].type).to.equal('image');
239
- expect(userSyncs[1].url).to.equal('https://ms-cookie-sync.presage.io/ttd/init-sync?iab_string=&source=prebid')
240
- expect(userSyncs[2].type).to.equal('image');
241
- expect(userSyncs[2].url).to.equal('https://ms-cookie-sync.presage.io/xandr/init-sync?iab_string=&source=prebid')
254
+ it('should return syncs array with one element of type iframe', () => {
255
+ const userSyncs = spec.getUserSyncs(syncOptions, [], gdprConsent);
256
+
257
+ expect(userSyncs).to.have.lengthOf(1);
258
+ expect(userSyncs[0].type).to.equal('iframe');
259
+ expect(userSyncs[0].url).to.contain('https://ms-cookie-sync.presage.io/user-sync.html');
260
+ });
261
+
262
+ it('should set the source as query param', () => {
263
+ const userSyncs = spec.getUserSyncs(syncOptions, [], gdprConsent);
264
+ expect(userSyncs[0].url).to.contain('source=prebid');
265
+ });
266
+
267
+ it('should set the tcString as query param', () => {
268
+ const userSyncs = spec.getUserSyncs(syncOptions, [], gdprConsent);
269
+ expect(userSyncs[0].url).to.contain(`gdpr_consent=${gdprConsent.consentString}`);
270
+ });
271
+
272
+ it('should return an empty array when iframe is disable', () => {
273
+ syncOptions.iframeEnabled = false;
274
+ expect(spec.getUserSyncs(syncOptions, [], gdprConsent)).to.have.lengthOf(0);
275
+ });
276
+
277
+ it('should return syncs array with one element of type iframe when consentString is undefined', () => {
278
+ gdprConsent = {
279
+ gdprApplies: true,
280
+ consentString: undefined
281
+ };
282
+
283
+ const userSyncs = spec.getUserSyncs(syncOptions, [], gdprConsent);
284
+ expect(userSyncs).to.have.lengthOf(1);
285
+ expect(userSyncs[0].type).to.equal('iframe');
286
+ expect(userSyncs[0].url).to.equal('https://ms-cookie-sync.presage.io/user-sync.html?gdpr_consent=&source=prebid')
287
+ });
288
+
289
+ it('should return syncs array with one element of type iframe when consentString is null', () => {
290
+ gdprConsent = {
291
+ gdprApplies: true,
292
+ consentString: null
293
+ };
294
+
295
+ const userSyncs = spec.getUserSyncs(syncOptions, [], gdprConsent);
296
+ expect(userSyncs).to.have.lengthOf(1);
297
+ expect(userSyncs[0].type).to.equal('iframe');
298
+ expect(userSyncs[0].url).to.equal('https://ms-cookie-sync.presage.io/user-sync.html?gdpr_consent=&source=prebid')
299
+ });
300
+
301
+ it('should return syncs array with one element of type iframe when gdprConsent is undefined', () => {
302
+ gdprConsent = undefined;
303
+
304
+ const userSyncs = spec.getUserSyncs(syncOptions, [], gdprConsent);
305
+ expect(userSyncs).to.have.lengthOf(1);
306
+ expect(userSyncs[0].type).to.equal('iframe');
307
+ expect(userSyncs[0].url).to.equal('https://ms-cookie-sync.presage.io/user-sync.html?gdpr_consent=&source=prebid')
308
+ });
309
+
310
+ it('should return syncs array with one element of type iframe when gdprConsent is null', () => {
311
+ gdprConsent = null;
312
+
313
+ const userSyncs = spec.getUserSyncs(syncOptions, [], gdprConsent);
314
+ expect(userSyncs).to.have.lengthOf(1);
315
+ expect(userSyncs[0].type).to.equal('iframe');
316
+ expect(userSyncs[0].url).to.equal('https://ms-cookie-sync.presage.io/user-sync.html?gdpr_consent=&source=prebid')
317
+ });
318
+
319
+ it('should return syncs array with one element of type iframe when gdprConsent is null and gdprApplies is false', () => {
320
+ gdprConsent = {
321
+ gdprApplies: false,
322
+ consentString: null
323
+ };
324
+
325
+ const userSyncs = spec.getUserSyncs(syncOptions, [], gdprConsent);
326
+ expect(userSyncs).to.have.lengthOf(1);
327
+ expect(userSyncs[0].type).to.equal('iframe');
328
+ expect(userSyncs[0].url).to.equal('https://ms-cookie-sync.presage.io/user-sync.html?gdpr_consent=&source=prebid')
329
+ });
330
+
331
+ it('should return syncs array with one element of type iframe when gdprConsent is empty string and gdprApplies is false', () => {
332
+ gdprConsent = {
333
+ gdprApplies: false,
334
+ consentString: ''
335
+ };
336
+
337
+ const userSyncs = spec.getUserSyncs(syncOptions, [], gdprConsent);
338
+ expect(userSyncs).to.have.lengthOf(1);
339
+ expect(userSyncs[0].type).to.equal('iframe');
340
+ expect(userSyncs[0].url).to.equal('https://ms-cookie-sync.presage.io/user-sync.html?gdpr_consent=&source=prebid')
341
+ });
242
342
  });
243
343
  });
244
344
 
@@ -311,7 +411,7 @@ describe('OguryBidAdapter', function () {
311
411
  },
312
412
  ext: {
313
413
  prebidversion: '$prebid.version$',
314
- adapterversion: '1.4.1'
414
+ adapterversion: '1.5.0'
315
415
  },
316
416
  device: {
317
417
  w: stubbedWidth,
@@ -713,7 +813,7 @@ describe('OguryBidAdapter', function () {
713
813
  advertiserDomains: openRtbBidResponse.body.seatbid[0].bid[0].adomain
714
814
  },
715
815
  nurl: openRtbBidResponse.body.seatbid[0].bid[0].nurl,
716
- adapterVersion: '1.4.1',
816
+ adapterVersion: '1.5.0',
717
817
  prebidVersion: '$prebid.version$'
718
818
  }, {
719
819
  requestId: openRtbBidResponse.body.seatbid[0].bid[1].impid,
@@ -730,7 +830,7 @@ describe('OguryBidAdapter', function () {
730
830
  advertiserDomains: openRtbBidResponse.body.seatbid[0].bid[1].adomain
731
831
  },
732
832
  nurl: openRtbBidResponse.body.seatbid[0].bid[1].nurl,
733
- adapterVersion: '1.4.1',
833
+ adapterVersion: '1.5.0',
734
834
  prebidVersion: '$prebid.version$'
735
835
  }]
736
836
 
@@ -2,8 +2,6 @@ import { expect } from 'chai';
2
2
  import { spec } from 'modules/outbrainBidAdapter.js';
3
3
  import { config } from 'src/config.js';
4
4
  import { server } from 'test/mocks/xhr';
5
- import { createEidsArray } from 'modules/userId/eids.js';
6
- import * as utils from 'src/utils.js';
7
5
 
8
6
  describe('Outbrain Adapter', function () {
9
7
  describe('Bid request and response', function () {
@@ -511,9 +509,9 @@ describe('Outbrain Adapter', function () {
511
509
  let bidRequest = {
512
510
  bidId: 'bidId',
513
511
  params: {},
514
- userIdAsEids: createEidsArray({
515
- idl_env: 'id-value',
516
- }),
512
+ userIdAsEids: [
513
+ { source: 'liveramp.com', uids: [{ id: 'id-value', atype: 3 }] }
514
+ ],
517
515
  ...commonBidRequest,
518
516
  };
519
517
 
@@ -6,7 +6,6 @@ import {getGranularityKeyName, getGranularityObject} from '../../../modules/ozon
6
6
  import * as utils from '../../../src/utils.js';
7
7
  const OZONEURI = 'https://elb.the-ozone-project.com/openrtb2/auction';
8
8
  const BIDDER_CODE = 'ozone';
9
-
10
9
  var validBidRequests = [
11
10
  {
12
11
  adUnitCode: 'div-gpt-ad-1460505748561-0',
@@ -2049,6 +2048,27 @@ describe('ozone Adapter', function () {
2049
2048
  expect(data.imp[0].ext.ozone.customData).to.be.an('array');
2050
2049
  expect(data.imp[0].ext.ozone.customData[0].targeting.oztestmode).to.equal('mytestvalue_123');
2051
2050
  });
2051
+ it('should pass gpid to auction if it is present (gptPreAuction adapter sets this)', function () {
2052
+ var specMock = utils.deepClone(spec);
2053
+ let br = JSON.parse(JSON.stringify(validBidRequests));
2054
+ utils.deepSetValue(br[0], 'ortb2Imp.ext.gpid', '/22037345/projectozone');
2055
+ const request = specMock.buildRequests(br, validBidderRequest);
2056
+ const data = JSON.parse(request.data);
2057
+ expect(data.imp[0].ext.gpid).to.equal('/22037345/projectozone');
2058
+ });
2059
+ it('should batch into 10s if config is set', function () {
2060
+ config.setConfig({ozone: {'batchRequests': true}});
2061
+ var specMock = utils.deepClone(spec);
2062
+ let arrReq = [];
2063
+ for (let i = 0; i < 25; i++) {
2064
+ let b = validBidRequests[0];
2065
+ b.adUnitCode += i;
2066
+ arrReq.push(b);
2067
+ }
2068
+ const request = specMock.buildRequests(arrReq, validBidderRequest);
2069
+ expect(request.length).to.equal(3);
2070
+ config.resetConfig();
2071
+ });
2052
2072
  it('should use GET values auction=dev & cookiesync=dev if set', function() {
2053
2073
  var specMock = utils.deepClone(spec);
2054
2074
  specMock.getGetParametersAsObject = function() {
@@ -2429,6 +2449,12 @@ describe('ozone Adapter', function () {
2429
2449
  const result = spec.interpretResponse(validres, request);
2430
2450
  expect(utils.deepAccess(result[0].adserverTargeting, 'oz_ozappnexus_sid')).to.equal(result[0].cid);
2431
2451
  });
2452
+ it('should add oz_auc_id (response id value)', function () {
2453
+ const request = spec.buildRequests(validBidRequestsMulti, validBidderRequest);
2454
+ let validres = JSON.parse(JSON.stringify(validBidResponse1adWith2Bidders));
2455
+ const result = spec.interpretResponse(validres, request);
2456
+ expect(utils.deepAccess(result[0].adserverTargeting, 'oz_auc_id')).to.equal(validBidResponse1adWith2Bidders.body.id);
2457
+ });
2432
2458
  it('should add unique adId values to each bid', function() {
2433
2459
  const request = spec.buildRequests(validBidRequests, validBidderRequest);
2434
2460
  let validres = JSON.parse(JSON.stringify(validResponse2BidsSameAdunit));
@@ -2082,30 +2082,12 @@ describe('S2S Adapter', function () {
2082
2082
  }
2083
2083
  }
2084
2084
  };
2085
- userIdBidRequest[0].bids[0].userIdAsEids = createEidsArray(userIdBidRequest[0].bids[0].userId);
2085
+ userIdBidRequest[0].bids[0].userIdAsEids = [{id: 1}, {id: 2}];
2086
2086
 
2087
2087
  adapter.callBids(REQUEST, userIdBidRequest, addBidResponse, done, ajax);
2088
2088
  let requestBid = JSON.parse(server.requests[0].requestBody);
2089
2089
  expect(typeof requestBid.user.ext.eids).is.equal('object');
2090
- expect(Array.isArray(requestBid.user.ext.eids)).to.be.true;
2091
- expect(requestBid.user.ext.eids.filter(eid => eid.source === 'adserver.org')).is.not.empty;
2092
- expect(requestBid.user.ext.eids.filter(eid => eid.source === 'adserver.org')[0].uids[0].id).is.equal('abc123');
2093
- expect(requestBid.user.ext.eids.filter(eid => eid.source === 'criteo.com')).is.not.empty;
2094
- expect(requestBid.user.ext.eids.filter(eid => eid.source === 'criteo.com')[0].uids[0].id).is.equal('44VmRDeUE3ZGJ5MzRkRVJHU3BIUlJ6TlFPQUFU');
2095
- expect(requestBid.user.ext.eids.filter(eid => eid.source === 'pubcid.org')).is.not.empty;
2096
- expect(requestBid.user.ext.eids.filter(eid => eid.source === 'pubcid.org')[0].uids[0].id).is.equal('1234');
2097
- expect(requestBid.user.ext.eids.filter(eid => eid.source === 'parrable.com')).is.not.empty;
2098
- expect(requestBid.user.ext.eids.filter(eid => eid.source === 'parrable.com')[0].uids[0].id).is.equal('01.1563917337.test-eid');
2099
- expect(requestBid.user.ext.eids.filter(eid => eid.source === 'liveintent.com')).is.not.empty;
2100
- expect(requestBid.user.ext.eids.filter(eid => eid.source === 'liveintent.com')[0].uids[0].id).is.equal('li-xyz');
2101
- expect(requestBid.user.ext.eids.filter(eid => eid.source === 'liveintent.com')[0].ext.segments.length).is.equal(2);
2102
- expect(requestBid.user.ext.eids.filter(eid => eid.source === 'liveintent.com')[0].ext.segments[0]).is.equal('segA');
2103
- expect(requestBid.user.ext.eids.filter(eid => eid.source === 'liveintent.com')[0].ext.segments[1]).is.equal('segB');
2104
- expect(requestBid.user.ext.eids.filter(eid => eid.source === 'id5-sync.com')).is.not.empty;
2105
- expect(requestBid.user.ext.eids.filter(eid => eid.source === 'id5-sync.com')[0].uids[0].id).is.equal('11111');
2106
- expect(requestBid.user.ext.eids.filter(eid => eid.source === 'id5-sync.com')[0].uids[0].ext.linkType).is.equal('some-link-type');
2107
- // LiveRamp should exist
2108
- expect(requestBid.user.ext.eids.filter(eid => eid.source === 'liveramp.com')[0].uids[0].id).is.equal('0000-1111-2222-3333');
2090
+ expect(requestBid.user.ext.eids).to.eql([{id: 1}, {id: 2}]);
2109
2091
  });
2110
2092
 
2111
2093
  it('when config \'currency.adServerCurrency\' value is a string: ORTB has property \'cur\' value set to a single item array', function () {
@@ -20,6 +20,8 @@ import 'src/prebid.js';
20
20
  import {createBid} from '../../../src/bidfactory.js';
21
21
  import {auctionManager} from '../../../src/auctionManager.js';
22
22
  import {stubAuctionIndex} from '../../helpers/indexStub.js';
23
+ import {guardTids} from '../../../src/adapters/bidderFactory.js';
24
+ import * as activities from '../../../src/activities/rules.js';
23
25
 
24
26
  describe('the price floors module', function () {
25
27
  let logErrorSpy;
@@ -1369,6 +1371,18 @@ describe('the price floors module', function () {
1369
1371
  floor: 2.5
1370
1372
  });
1371
1373
  });
1374
+
1375
+ it('works when TIDs are disabled', () => {
1376
+ sandbox.stub(activities, 'isActivityAllowed').returns(false);
1377
+ const req = utils.deepClone(bidRequest);
1378
+ _floorDataForAuction[req.auctionId] = utils.deepClone(basicFloorConfig);
1379
+
1380
+ expect(guardTids('mock-bidder').bidRequest(req).getFloor({})).to.deep.equal({
1381
+ currency: 'USD',
1382
+ floor: 1.0
1383
+ });
1384
+ });
1385
+
1372
1386
  it('picks the right rule with more complex rules', function () {
1373
1387
  _floorDataForAuction[bidRequest.auctionId] = {
1374
1388
  ...basicFloorConfig,