prebid.js 7.25.0 → 7.27.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 (353) hide show
  1. package/dist/33acrossBidAdapter.js +1 -1
  2. package/dist/33acrossIdSystem.js +1 -1
  3. package/dist/adWMGAnalyticsAdapter.js +1 -1
  4. package/dist/adagioAnalyticsAdapter.js +1 -1
  5. package/dist/adagioBidAdapter.js +1 -1
  6. package/dist/adbookpspBidAdapter.js +1 -1
  7. package/dist/adgenerationBidAdapter.js +1 -1
  8. package/dist/adkernelAdnAnalyticsAdapter.js +1 -1
  9. package/dist/adlooxAdServerVideo.js +1 -1
  10. package/dist/adlooxAnalyticsAdapter.js +1 -1
  11. package/dist/adlooxRtdProvider.js +1 -1
  12. package/dist/admaticBidAdapter.js +1 -1
  13. package/dist/admixerBidAdapter.js +1 -1
  14. package/dist/adomikAnalyticsAdapter.js +1 -1
  15. package/dist/adrelevantisBidAdapter.js +1 -1
  16. package/dist/adtrgtmeBidAdapter.js +1 -1
  17. package/dist/adxcgAnalyticsAdapter.js +1 -1
  18. package/dist/adxcgBidAdapter.js +1 -1
  19. package/dist/adxpremiumAnalyticsAdapter.js +1 -1
  20. package/dist/aidemBidAdapter.js +1 -0
  21. package/dist/ajaBidAdapter.js +1 -1
  22. package/dist/amxBidAdapter.js +1 -1
  23. package/dist/amxIdSystem.js +1 -1
  24. package/dist/analyticsAdapter.js +1 -1
  25. package/dist/appierAnalyticsAdapter.js +1 -1
  26. package/dist/appnexusBidAdapter.js +1 -1
  27. package/dist/asoBidAdapter.js +1 -1
  28. package/dist/atsAnalyticsAdapter.js +1 -1
  29. package/dist/axonixBidAdapter.js +1 -1
  30. package/dist/beopBidAdapter.js +1 -1
  31. package/dist/bidViewability.js +1 -1
  32. package/dist/bidglassBidAdapter.js +1 -1
  33. package/dist/bidwatchAnalyticsAdapter.js +1 -1
  34. package/dist/big-richmediaBidAdapter.js +1 -1
  35. package/dist/bridgewellBidAdapter.js +1 -1
  36. package/dist/brightMountainMediaBidAdapter.js +1 -1
  37. package/dist/browsiRtdProvider.js +1 -1
  38. package/dist/bucksenseBidAdapter.js +1 -1
  39. package/dist/byDataAnalyticsAdapter.js +1 -1
  40. package/dist/captifyRtdProvider.js +1 -0
  41. package/dist/carodaBidAdapter.js +1 -1
  42. package/dist/chtnwBidAdapter.js +1 -1
  43. package/dist/concertAnalyticsAdapter.js +1 -1
  44. package/dist/concertBidAdapter.js +1 -1
  45. package/dist/connectadBidAdapter.js +1 -1
  46. package/dist/consentManagement.js +1 -1
  47. package/dist/consentManagementUsp.js +1 -1
  48. package/dist/consumableBidAdapter.js +1 -1
  49. package/dist/conversantAnalyticsAdapter.js +1 -1
  50. package/dist/conversantBidAdapter.js +1 -1
  51. package/dist/craftBidAdapter.js +1 -1
  52. package/dist/criteoBidAdapter.js +1 -1
  53. package/dist/datablocksAnalyticsAdapter.js +1 -1
  54. package/dist/dependencies.json +6 -0
  55. package/dist/dfpAdServerVideo.js +1 -1
  56. package/dist/discoveryBidAdapter.js +1 -1
  57. package/dist/dspxBidAdapter.js +1 -1
  58. package/dist/eplanningAnalyticsAdapter.js +1 -1
  59. package/dist/eplanningBidAdapter.js +1 -1
  60. package/dist/finativeBidAdapter.js +1 -1
  61. package/dist/fintezaAnalyticsAdapter.js +1 -1
  62. package/dist/fluctBidAdapter.js +1 -1
  63. package/dist/ftrackIdSystem.js +1 -1
  64. package/dist/gdprEnforcement.js +1 -1
  65. package/dist/genericAnalyticsAdapter.js +1 -0
  66. package/dist/geoedgeRtdProvider.js +1 -1
  67. package/dist/glimpseBidAdapter.js +1 -1
  68. package/dist/glomexBidAdapter.js +1 -1
  69. package/dist/gmosspBidAdapter.js +1 -1
  70. package/dist/goldbachBidAdapter.js +1 -1
  71. package/dist/googleAnalyticsAdapter.js +1 -1
  72. package/dist/gravitoIdSystem.js +1 -1
  73. package/dist/gridBidAdapter.js +1 -1
  74. package/dist/gridNMBidAdapter.js +1 -1
  75. package/dist/growthCodeAnalyticsAdapter.js +1 -0
  76. package/dist/gumgumBidAdapter.js +1 -1
  77. package/dist/h12mediaBidAdapter.js +1 -1
  78. package/dist/hadronAnalyticsAdapter.js +1 -1
  79. package/dist/id5AnalyticsAdapter.js +1 -1
  80. package/dist/id5IdSystem.js +1 -1
  81. package/dist/impactifyBidAdapter.js +1 -1
  82. package/dist/improvedigitalBidAdapter.js +1 -1
  83. package/dist/inmarBidAdapter.js +1 -1
  84. package/dist/insticatorBidAdapter.js +1 -1
  85. package/dist/invisiblyAnalyticsAdapter.js +1 -1
  86. package/dist/ixBidAdapter.js +1 -1
  87. package/dist/justpremiumBidAdapter.js +1 -1
  88. package/dist/jwplayerRtdProvider.js +1 -1
  89. package/dist/kargoAnalyticsAdapter.js +1 -1
  90. package/dist/kinessoIdSystem.js +1 -1
  91. package/dist/konduitAnalyticsAdapter.js +1 -1
  92. package/dist/kueezBidAdapter.js +1 -1
  93. package/dist/kueezRtbBidAdapter.js +1 -1
  94. package/dist/lassoBidAdapter.js +1 -1
  95. package/dist/lifestreetBidAdapter.js +1 -1
  96. package/dist/limelightDigitalBidAdapter.js +1 -1
  97. package/dist/liveIntentAnalyticsAdapter.js +1 -1
  98. package/dist/liveIntentIdSystem.js +1 -1
  99. package/dist/livewrappedAnalyticsAdapter.js +1 -1
  100. package/dist/liveyieldAnalyticsAdapter.js +1 -1
  101. package/dist/logicadBidAdapter.js +1 -1
  102. package/dist/loglyliftBidAdapter.js +1 -1
  103. package/dist/lotamePanoramaIdSystem.js +1 -1
  104. package/dist/magniteAnalyticsAdapter.js +1 -1
  105. package/dist/malltvAnalyticsAdapter.js +1 -1
  106. package/dist/marsmediaAnalyticsAdapter.js +1 -1
  107. package/dist/marsmediaBidAdapter.js +1 -1
  108. package/dist/mediafuseBidAdapter.js +1 -1
  109. package/dist/medianetAnalyticsAdapter.js +1 -1
  110. package/dist/mediasquareBidAdapter.js +1 -1
  111. package/dist/mgidBidAdapter.js +1 -1
  112. package/dist/minutemediaBidAdapter.js +1 -1
  113. package/dist/nextMillenniumBidAdapter.js +1 -1
  114. package/dist/nexx360BidAdapter.js +1 -1
  115. package/dist/not-for-prod/prebid.js +240 -202
  116. package/dist/oguryBidAdapter.js +1 -1
  117. package/dist/onetagBidAdapter.js +1 -1
  118. package/dist/ooloAnalyticsAdapter.js +1 -1
  119. package/dist/openxAnalyticsAdapter.js +1 -1
  120. package/dist/optimonAnalyticsAdapter.js +1 -1
  121. package/dist/outbrainBidAdapter.js +1 -1
  122. package/dist/parrableIdSystem.js +1 -1
  123. package/dist/pbsExtensions.js +1 -1
  124. package/dist/pianoDmpAnalyticsAdapter.js +1 -1
  125. package/dist/pixfutureBidAdapter.js +1 -1
  126. package/dist/prebid-core.js +1 -1
  127. package/dist/prebidServerBidAdapter.js +1 -1
  128. package/dist/prebidmanagerAnalyticsAdapter.js +1 -1
  129. package/dist/pubCommonId.js +1 -1
  130. package/dist/pubProvidedIdSystem.js +1 -1
  131. package/dist/publinkIdSystem.js +1 -1
  132. package/dist/pubmaticAnalyticsAdapter.js +1 -1
  133. package/dist/pubmaticBidAdapter.js +1 -1
  134. package/dist/pubperfAnalyticsAdapter.js +1 -1
  135. package/dist/pubstackAnalyticsAdapter.js +1 -1
  136. package/dist/pubwiseAnalyticsAdapter.js +1 -1
  137. package/dist/pubxaiAnalyticsAdapter.js +1 -1
  138. package/dist/pulsepointAnalyticsAdapter.js +1 -1
  139. package/dist/pxyzBidAdapter.js +1 -1
  140. package/dist/quantcastBidAdapter.js +1 -1
  141. package/dist/quantcastIdSystem.js +1 -1
  142. package/dist/rasBidAdapter.js +1 -1
  143. package/dist/readpeakBidAdapter.js +1 -1
  144. package/dist/realvuAnalyticsAdapter.js +1 -1
  145. package/dist/redtramBidAdapter.js +1 -0
  146. package/dist/relaidoBidAdapter.js +1 -1
  147. package/dist/relevantAnalyticsAdapter.js +1 -1
  148. package/dist/rhythmoneBidAdapter.js +1 -1
  149. package/dist/riseBidAdapter.js +1 -1
  150. package/dist/rivrAnalyticsAdapter.js +1 -1
  151. package/dist/roxotAnalyticsAdapter.js +1 -1
  152. package/dist/rtbhouseBidAdapter.js +1 -1
  153. package/dist/rtdModule.js +1 -1
  154. package/dist/rubiconAnalyticsAdapter.js +1 -1
  155. package/dist/rubiconBidAdapter.js +1 -1
  156. package/dist/s2sTesting.js +1 -1
  157. package/dist/scaleableAnalyticsAdapter.js +1 -1
  158. package/dist/schain.js +1 -1
  159. package/dist/seedingAllianceBidAdapter.js +1 -1
  160. package/dist/seedtagBidAdapter.js +1 -1
  161. package/dist/sharedIdSystem.js +1 -1
  162. package/dist/sharethroughAnalyticsAdapter.js +1 -1
  163. package/dist/sharethroughBidAdapter.js +1 -1
  164. package/dist/shinezBidAdapter.js +1 -1
  165. package/dist/sigmoidAnalyticsAdapter.js +1 -1
  166. package/dist/smaatoBidAdapter.js +1 -1
  167. package/dist/smartadserverBidAdapter.js +1 -1
  168. package/dist/smartxBidAdapter.js +1 -1
  169. package/dist/smartytechBidAdapter.js +1 -0
  170. package/dist/smilewantedBidAdapter.js +1 -1
  171. package/dist/sonobiAnalyticsAdapter.js +1 -1
  172. package/dist/sonobiBidAdapter.js +1 -1
  173. package/dist/sovrnAnalyticsAdapter.js +1 -1
  174. package/dist/sovrnBidAdapter.js +1 -1
  175. package/dist/sspBCBidAdapter.js +1 -1
  176. package/dist/staqAnalyticsAdapter.js +1 -1
  177. package/dist/sublimeBidAdapter.js +1 -1
  178. package/dist/synacormediaBidAdapter.js +1 -1
  179. package/dist/taboolaBidAdapter.js +1 -1
  180. package/dist/tapadIdSystem.js +1 -1
  181. package/dist/tappxBidAdapter.js +1 -1
  182. package/dist/targetVideoBidAdapter.js +1 -1
  183. package/dist/teadsBidAdapter.js +1 -1
  184. package/dist/teadsIdSystem.js +1 -1
  185. package/dist/terceptAnalyticsAdapter.js +1 -1
  186. package/dist/trionBidAdapter.js +1 -1
  187. package/dist/tripleliftBidAdapter.js +1 -1
  188. package/dist/ttdBidAdapter.js +1 -1
  189. package/dist/ucfunnelAnalyticsAdapter.js +1 -1
  190. package/dist/underdogmediaBidAdapter.js +1 -1
  191. package/dist/undertoneBidAdapter.js +1 -1
  192. package/dist/userId.js +1 -1
  193. package/dist/vidazooBidAdapter.js +1 -1
  194. package/dist/videobyteBidAdapter.js +1 -1
  195. package/dist/viqeoBidAdapter.js +1 -0
  196. package/dist/visxBidAdapter.js +1 -1
  197. package/dist/vuukleBidAdapter.js +1 -1
  198. package/dist/weboramaRtdProvider.js +1 -1
  199. package/dist/widespaceBidAdapter.js +1 -1
  200. package/dist/winrBidAdapter.js +1 -1
  201. package/dist/yahoosspBidAdapter.js +1 -1
  202. package/dist/yandexBidAdapter.js +1 -1
  203. package/dist/yieldlabBidAdapter.js +1 -1
  204. package/dist/yieldliftBidAdapter.js +1 -1
  205. package/dist/yieldmoBidAdapter.js +1 -1
  206. package/dist/yieldoneAnalyticsAdapter.js +1 -1
  207. package/dist/yuktamediaAnalyticsAdapter.js +1 -1
  208. package/dist/zeta_global_sspAnalyticsAdapter.js +1 -1
  209. package/dist/zeta_global_sspBidAdapter.js +1 -1
  210. package/dist/zeusPrimeRtdProvider.js +31 -0
  211. package/integrationExamples/gpt/captifyRtdProvider_example.html +167 -0
  212. package/integrationExamples/gpt/growthcode.html +134 -0
  213. package/libraries/analyticsAdapter/AnalyticsAdapter.js +95 -102
  214. package/modules/.submodules.json +3 -1
  215. package/modules/admaticBidAdapter.js +116 -58
  216. package/modules/admaticBidAdapter.md +2 -2
  217. package/modules/admixerBidAdapter.js +1 -1
  218. package/modules/aidemBidAdapter.js +492 -0
  219. package/modules/aidemBidAdapter.md +187 -0
  220. package/modules/beopBidAdapter.js +17 -2
  221. package/modules/browsiRtdProvider.js +6 -4
  222. package/modules/bucksenseBidAdapter.js +1 -1
  223. package/modules/captifyRtdProvider.js +146 -0
  224. package/modules/captifyRtdProvider.md +68 -0
  225. package/modules/criteoBidAdapter.js +3 -3
  226. package/modules/discoveryBidAdapter.js +38 -17
  227. package/modules/discoveryBidAdapter.md +7 -6
  228. package/modules/eplanningBidAdapter.js +2 -6
  229. package/modules/fluctBidAdapter.js +5 -0
  230. package/modules/gdprEnforcement.js +26 -24
  231. package/modules/genericAnalyticsAdapter.js +157 -0
  232. package/modules/geoedgeRtdProvider.js +22 -0
  233. package/modules/glomexBidAdapter.js +2 -0
  234. package/modules/gravitoIdSystem.js +3 -4
  235. package/modules/gridBidAdapter.js +441 -23
  236. package/modules/gridNMBidAdapter.js +1 -1
  237. package/modules/growthCodeAnalyticsAdapter.js +176 -0
  238. package/modules/growthCodeAnalyticsAdapter.md +41 -0
  239. package/modules/impactifyBidAdapter.js +19 -1
  240. package/modules/jwplayerRtdProvider.js +1 -2
  241. package/modules/limelightDigitalBidAdapter.js +1 -1
  242. package/modules/minutemediaBidAdapter.md +3 -3
  243. package/modules/nextMillenniumBidAdapter.js +19 -23
  244. package/modules/nexx360BidAdapter.js +264 -138
  245. package/modules/pubCommonId.js +2 -1
  246. package/modules/pubProvidedIdSystem.js +2 -0
  247. package/modules/rasBidAdapter.js +8 -3
  248. package/modules/rasBidAdapter.md +16 -15
  249. package/modules/redtramBidAdapter.js +155 -0
  250. package/modules/redtramBidAdapter.md +33 -0
  251. package/modules/riseBidAdapter.js +15 -0
  252. package/modules/riseBidAdapter.md +3 -3
  253. package/modules/rtbhouseBidAdapter.js +90 -29
  254. package/modules/rubiconBidAdapter.js +2 -1
  255. package/modules/seedtagBidAdapter.js +67 -56
  256. package/modules/seedtagBidAdapter.md +60 -0
  257. package/modules/sharedIdSystem.js +3 -1
  258. package/modules/smartadserverBidAdapter.js +6 -2
  259. package/modules/smartxBidAdapter.js +11 -8
  260. package/modules/smartytechBidAdapter.js +78 -0
  261. package/modules/smartytechBidAdapter.md +44 -0
  262. package/modules/smnBidAdapter.md +52 -0
  263. package/modules/taboolaBidAdapter.js +3 -3
  264. package/modules/taboolaBidAdapter.md +0 -2
  265. package/modules/tappxBidAdapter.js +21 -6
  266. package/modules/tripleliftBidAdapter.js +1 -1
  267. package/modules/ttdBidAdapter.js +8 -3
  268. package/modules/userId/index.js +1 -1
  269. package/modules/vidazooBidAdapter.js +26 -3
  270. package/modules/viqeoBidAdapter.js +180 -0
  271. package/modules/viqeoBidAdapter.md +56 -0
  272. package/modules/yandexBidAdapter.js +85 -19
  273. package/modules/yandexBidAdapter.md +7 -7
  274. package/modules/yieldlabBidAdapter.js +29 -12
  275. package/modules/yieldliftBidAdapter.js +3 -3
  276. package/modules/yieldoneBidAdapter.js +60 -8
  277. package/modules/yieldoneBidAdapter.md +109 -9
  278. package/modules/zeta_global_sspBidAdapter.js +4 -0
  279. package/modules/zeusPrimeRtdProvider.js +357 -0
  280. package/modules/zeusPrimeRtdProvider.md +60 -0
  281. package/package.json +1 -1
  282. package/src/adloader.js +0 -1
  283. package/src/auction.js +19 -3
  284. package/src/consentHandler.js +8 -0
  285. package/src/events.js +4 -0
  286. package/src/native.js +31 -20
  287. package/src/refererDetection.js +6 -1
  288. package/src/storageManager.js +6 -3
  289. package/test/helpers/analytics.js +34 -0
  290. package/test/mocks/analyticsStub.js +3 -1
  291. package/test/spec/AnalyticsAdapter_spec.js +119 -116
  292. package/test/spec/auctionmanager_spec.js +86 -0
  293. package/test/spec/modules/adWMGAnalyticsAdapter_spec.js +10 -8
  294. package/test/spec/modules/adagioAnalyticsAdapter_spec.js +18 -25
  295. package/test/spec/modules/admaticBidAdapter_spec.js +262 -3
  296. package/test/spec/modules/aidemBidAdapter_spec.js +664 -0
  297. package/test/spec/modules/beopBidAdapter_spec.js +52 -0
  298. package/test/spec/modules/bidwatchAnalyticsAdapter_spec.js +0 -2
  299. package/test/spec/modules/browsiRtdProvider_spec.js +2 -1
  300. package/test/spec/modules/captifyRtdProvider_spec.js +253 -0
  301. package/test/spec/modules/concertAnalyticsAdapter_spec.js +2 -4
  302. package/test/spec/modules/discoveryBidAdapter_spec.js +9 -8
  303. package/test/spec/modules/enrichmentFpdModule_spec.js +3 -2
  304. package/test/spec/modules/eplanningAnalyticsAdapter_spec.js +0 -3
  305. package/test/spec/modules/eplanningBidAdapter_spec.js +4 -4
  306. package/test/spec/modules/fluctBidAdapter_spec.js +37 -1
  307. package/test/spec/modules/fpdModule_spec.js +1 -1
  308. package/test/spec/modules/gdprEnforcement_spec.js +115 -68
  309. package/test/spec/modules/genericAnalyticsAdapter_spec.js +284 -0
  310. package/test/spec/modules/geoedgeRtdProvider_spec.js +15 -0
  311. package/test/spec/modules/glomexBidAdapter_spec.js +4 -0
  312. package/test/spec/modules/gravitoIdSystem_spec.js +1 -1
  313. package/test/spec/modules/gridBidAdapter_spec.js +289 -1
  314. package/test/spec/modules/growthCodeAnalyticsAdapter_spec.js +70 -0
  315. package/test/spec/modules/impactifyBidAdapter_spec.js +13 -0
  316. package/test/spec/modules/invisiblyAnalyticsAdapter_spec.js +17 -27
  317. package/test/spec/modules/jwplayerRtdProvider_spec.js +3 -3
  318. package/test/spec/modules/konduitAnalyticsAdapter_spec.js +0 -2
  319. package/test/spec/modules/liveIntentAnalyticsAdapter_spec.js +3 -6
  320. package/test/spec/modules/medianetAnalyticsAdapter_spec.js +7 -1
  321. package/test/spec/modules/nextMillenniumBidAdapter_spec.js +4 -3
  322. package/test/spec/modules/nexx360BidAdapter_spec.js +441 -221
  323. package/test/spec/modules/optimonAnalyticsAdapter_spec.js +3 -11
  324. package/test/spec/modules/pianoDmpAnalyticsAdapter_spec.js +4 -11
  325. package/test/spec/modules/prebidmanagerAnalyticsAdapter_spec.js +3 -12
  326. package/test/spec/modules/pubperfAnalyticsAdapter_spec.js +6 -19
  327. package/test/spec/modules/pubstackAnalyticsAdapter_spec.js +3 -17
  328. package/test/spec/modules/pubwiseAnalyticsAdapter_spec.js +13 -19
  329. package/test/spec/modules/rasBidAdapter_spec.js +5 -1
  330. package/test/spec/modules/redtramBidAdapter_spec.js +256 -0
  331. package/test/spec/modules/riseBidAdapter_spec.js +24 -0
  332. package/test/spec/modules/rtbhouseBidAdapter_spec.js +79 -0
  333. package/test/spec/modules/seedtagBidAdapter_spec.js +65 -92
  334. package/test/spec/modules/sigmoidAnalyticsAdapter_spec.js +4 -8
  335. package/test/spec/modules/smartadserverBidAdapter_spec.js +80 -0
  336. package/test/spec/modules/smartxBidAdapter_spec.js +32 -0
  337. package/test/spec/modules/smartytechBidAdapter_spec.js +162 -0
  338. package/test/spec/modules/sovrnAnalyticsAdapter_spec.js +6 -18
  339. package/test/spec/modules/taboolaBidAdapter_spec.js +0 -77
  340. package/test/spec/modules/tripleliftBidAdapter_spec.js +3 -10
  341. package/test/spec/modules/ttdBidAdapter_spec.js +27 -0
  342. package/test/spec/modules/vidazooBidAdapter_spec.js +39 -24
  343. package/test/spec/modules/viqeoBidAdapter_spec.js +124 -0
  344. package/test/spec/modules/yandexBidAdapter_spec.js +22 -13
  345. package/test/spec/modules/yieldlabBidAdapter_spec.js +174 -20
  346. package/test/spec/modules/yieldliftBidAdapter_spec.js +1 -1
  347. package/test/spec/modules/yieldoneAnalyticsAdapter_spec.js +5 -2
  348. package/test/spec/modules/yieldoneBidAdapter_spec.js +30 -6
  349. package/test/spec/modules/zeta_global_sspBidAdapter_spec.js +16 -1
  350. package/test/spec/modules/zeusPrimeRtdProvider_spec.js +410 -0
  351. package/test/spec/native_spec.js +68 -56
  352. package/test/spec/refererDetection_spec.js +45 -7
  353. package/test/spec/unit/core/storageManager_spec.js +2 -1
@@ -1,8 +1,10 @@
1
1
  import sovrnAnalyticsAdapter from '../../../modules/sovrnAnalyticsAdapter.js';
2
- import { expect } from 'chai';
2
+ import {expect} from 'chai';
3
3
  import {config} from 'src/config.js';
4
4
  import adaptermanager from 'src/adapterManager.js';
5
- import { server } from 'test/mocks/xhr.js';
5
+ import {server} from 'test/mocks/xhr.js';
6
+ import {expectEvents, fireEvents} from '../../helpers/analytics.js';
7
+
6
8
  var assert = require('assert');
7
9
 
8
10
  let events = require('src/events');
@@ -195,15 +197,7 @@ describe('Sovrn Analytics Adapter', function () {
195
197
  sovrnId: 123
196
198
  }
197
199
  });
198
-
199
- events.emit(constants.EVENTS.AUCTION_INIT, {});
200
- events.emit(constants.EVENTS.AUCTION_END, {});
201
- events.emit(constants.EVENTS.BID_REQUESTED, {});
202
- events.emit(constants.EVENTS.BID_RESPONSE, {});
203
- events.emit(constants.EVENTS.BID_WON, {});
204
-
205
- // 5 SovrnAnalytics events + 1 Clean.io event
206
- sinon.assert.callCount(sovrnAnalyticsAdapter.track, 6);
200
+ expectEvents().to.beTrackedBy(sovrnAnalyticsAdapter.track);
207
201
  });
208
202
 
209
203
  it('should catch no events if no affiliate id', function () {
@@ -212,13 +206,7 @@ describe('Sovrn Analytics Adapter', function () {
212
206
  options: {
213
207
  }
214
208
  });
215
-
216
- events.emit(constants.EVENTS.AUCTION_INIT, {});
217
- events.emit(constants.EVENTS.AUCTION_END, {});
218
- events.emit(constants.EVENTS.BID_REQUESTED, {});
219
- events.emit(constants.EVENTS.BID_RESPONSE, {});
220
- events.emit(constants.EVENTS.BID_WON, {});
221
-
209
+ fireEvents();
222
210
  sinon.assert.callCount(sovrnAnalyticsAdapter.track, 0);
223
211
  });
224
212
  });
@@ -89,45 +89,6 @@ describe('Taboola Adapter', function () {
89
89
  }
90
90
  expect(spec.isBidRequestValid(bid)).to.equal(true)
91
91
  })
92
-
93
- it('should succeed when url is null', function () {
94
- const bid = {
95
- bidder: 'taboola',
96
- params: {
97
- publisherId: 'publisherId',
98
- tagId: 'below the article',
99
- endpointUrl: null
100
- },
101
- ...displayBidRequestParams
102
- }
103
- expect(spec.isBidRequestValid(bid)).to.equal(true)
104
- })
105
-
106
- it('should succeed when url is empty string', function () {
107
- const bid = {
108
- bidder: 'taboola',
109
- params: {
110
- publisherId: 'publisherId',
111
- tagId: 'below the article',
112
- endpointUrl: ''
113
- },
114
- ...displayBidRequestParams
115
- }
116
- expect(spec.isBidRequestValid(bid)).to.equal(true)
117
- })
118
-
119
- it('should succeed when url is filled', function () {
120
- const bid = {
121
- bidder: 'taboola',
122
- params: {
123
- publisherId: 'publisherId',
124
- tagId: 'below the article',
125
- endpointUrl: 'https://example.com'
126
- },
127
- ...displayBidRequestParams
128
- }
129
- expect(spec.isBidRequestValid(bid)).to.equal(true)
130
- })
131
92
  })
132
93
 
133
94
  describe('buildRequests', function () {
@@ -189,44 +150,6 @@ describe('Taboola Adapter', function () {
189
150
  expect(res.data).to.deep.equal(JSON.stringify(expectedData));
190
151
  });
191
152
 
192
- it('should fill the url when it is passed', function () {
193
- const commonBidRequestWithUrl = {
194
- bidder: 'taboola',
195
- params: {
196
- publisherId: 'publisherId',
197
- tagId: 'placement name',
198
- endpointUrl: 'https://example.com'
199
- },
200
- bidId: 'aa43860a-4644-442a-b5e0-93f268cs4d19',
201
- auctionId: '65746dca-26f3-4186-be13-dfa63469b1b7',
202
- }
203
- let defaultBidRequestWithUrl = {
204
- ...commonBidRequestWithUrl,
205
- ...displayBidRequestParams,
206
- }
207
- const res = spec.buildRequests([defaultBidRequestWithUrl], commonBidderRequest);
208
- expect(res.url).to.equal(`${commonBidRequestWithUrl.params.endpointUrl}/${commonBidRequest.params.publisherId}`);
209
- })
210
-
211
- it('should fill default url when url param is empty string', function () {
212
- const commonBidRequestWithUrl = {
213
- bidder: 'taboola',
214
- params: {
215
- publisherId: 'publisherId',
216
- tagId: 'placement name',
217
- endpointUrl: ''
218
- },
219
- bidId: 'aa43860a-4644-442a-b5e0-93f268cs4d19',
220
- auctionId: '65746dca-26f3-4186-be13-dfa63469b1b7',
221
- }
222
- let defaultBidRequestWithUrl = {
223
- ...commonBidRequestWithUrl,
224
- ...displayBidRequestParams,
225
- }
226
- const res = spec.buildRequests([defaultBidRequestWithUrl], commonBidderRequest);
227
- expect(res.url).to.equal(`${END_POINT_URL}/${commonBidRequestWithUrl.params.publisherId}`);
228
- })
229
-
230
153
  it('should pass optional parameters in request', function () {
231
154
  const optionalParams = {
232
155
  bidfloor: 0.25,
@@ -979,19 +979,12 @@ describe('triplelift adapter', function () {
979
979
  expect(url).to.match(new RegExp('(?:' + prebid.version + ')'))
980
980
  expect(url).to.match(/(?:referrer)/);
981
981
  });
982
- it('should prioritize topmostLocation for referrer', function () {
983
- bidderRequest.refererInfo.topmostLocation = 'https://topmostlocation.com?foo=bar'
982
+ it('should use refererInfo.page for referrer', function () {
983
+ bidderRequest.refererInfo.page = 'https://topmostlocation.com?foo=bar'
984
984
  const request = tripleliftAdapterSpec.buildRequests(bidRequests, bidderRequest);
985
985
  const url = request.url;
986
986
  expect(url).to.match(/(\?|&)referrer=https%3A%2F%2Ftopmostlocation.com%3Ffoo%3Dbar/);
987
- delete bidderRequest.refererInfo.topmostLocation
988
- });
989
- it('should fall back to page for referrer if topmostLocation is unavailable', function () {
990
- bidderRequest.refererInfo.topmostLocation = null
991
- const request = tripleliftAdapterSpec.buildRequests(bidRequests, bidderRequest);
992
- const url = request.url;
993
- expect(url).to.match(/(\?|&)referrer=https%3A%2F%2Fexamplereferer.com/);
994
- delete bidderRequest.refererInfo.topmostLocation
987
+ delete bidderRequest.refererInfo.page
995
988
  });
996
989
  it('should return us_privacy param when CCPA info is available', function() {
997
990
  bidderRequest.uspConsent = '1YYY';
@@ -310,6 +310,19 @@ describe('ttdBidAdapter', function () {
310
310
  expect(requestBody.imp[0].banner.expdir).to.equal(expdir);
311
311
  });
312
312
 
313
+ it('merges first party site data', function () {
314
+ const ortb2 = {
315
+ site: {
316
+ publisher: {
317
+ domain: 'https://foo.bar',
318
+ }
319
+ }
320
+ };
321
+ const requestBody = testBuildRequests(baseBannerBidRequests, {...baseBidderRequest, ortb2}).data;
322
+ config.resetConfig();
323
+ expect(requestBody.site.publisher).to.deep.equal({domain: 'https://foo.bar', id: '13144370'});
324
+ });
325
+
313
326
  it('sets keywords properly if sent', function () {
314
327
  const ortb2 = {
315
328
  site: {
@@ -387,6 +400,20 @@ describe('ttdBidAdapter', function () {
387
400
  expect(requestBody.regs.coppa).to.equal(1);
388
401
  });
389
402
 
403
+ it('adds gpp consent info to the request', function () {
404
+ const ortb2 = {
405
+ regs: {
406
+ gpp: 'somegppstring',
407
+ gpp_sid: [6, 7]
408
+ }
409
+ };
410
+ let clonedBidderRequest = {...deepClone(baseBidderRequest), ortb2};
411
+ const requestBody = testBuildRequests(baseBannerBidRequests, clonedBidderRequest).data;
412
+ config.resetConfig();
413
+ expect(requestBody.regs.gpp).to.equal('somegppstring');
414
+ expect(requestBody.regs.gpp_sid).to.eql([6, 7]);
415
+ });
416
+
390
417
  it('adds schain info to the request', function () {
391
418
  const schain = {
392
419
  'ver': '1.0',
@@ -1,4 +1,4 @@
1
- import {expect} from 'chai';
1
+ import { expect } from 'chai';
2
2
  import {
3
3
  spec as adapter,
4
4
  SUPPORTED_ID_SYSTEMS,
@@ -15,8 +15,8 @@ import {
15
15
  getVidazooSessionId,
16
16
  } from 'modules/vidazooBidAdapter.js';
17
17
  import * as utils from 'src/utils.js';
18
- import {version} from 'package.json';
19
- import {useFakeTimers} from 'sinon';
18
+ import { version } from 'package.json';
19
+ import { useFakeTimers } from 'sinon';
20
20
 
21
21
  const SUB_DOMAIN = 'openrtb';
22
22
 
@@ -38,7 +38,12 @@ const BID = {
38
38
  'sizes': [[300, 250], [300, 600]],
39
39
  'bidderRequestId': '1fdb5ff1b6eaa7',
40
40
  'requestId': 'b0777d85-d061-450e-9bc7-260dd54bbb7a',
41
- 'schain': 'a0819c69-005b-41ed-af06-1be1e0aefefc'
41
+ 'schain': 'a0819c69-005b-41ed-af06-1be1e0aefefc',
42
+ 'ortb2Imp': {
43
+ 'ext': {
44
+ 'gpid': '1234567890'
45
+ }
46
+ }
42
47
  };
43
48
 
44
49
  const BIDDER_REQUEST = {
@@ -50,7 +55,13 @@ const BIDDER_REQUEST = {
50
55
  'refererInfo': {
51
56
  'page': 'https://www.greatsite.com',
52
57
  'ref': 'https://www.somereferrer.com'
53
- }
58
+ },
59
+ 'ortb2': {
60
+ 'site': {
61
+ 'cat': ['IAB2'],
62
+ 'pagecat': ['IAB2-2']
63
+ }
64
+ },
54
65
  };
55
66
 
56
67
  const SERVER_RESPONSE = {
@@ -85,7 +96,7 @@ const REQUEST = {
85
96
 
86
97
  function getTopWindowQueryParams() {
87
98
  try {
88
- const parsedUrl = utils.parseUrl(window.top.document.URL, {decodeSearchAsString: true});
99
+ const parsedUrl = utils.parseUrl(window.top.document.URL, { decodeSearchAsString: true });
89
100
  return parsedUrl.search;
90
101
  } catch (e) {
91
102
  return '';
@@ -150,7 +161,7 @@ describe('VidazooBidAdapter', function () {
150
161
  before(function () {
151
162
  $$PREBID_GLOBAL$$.bidderSettings = {
152
163
  vidazoo: {
153
- storageAllowed: true
164
+ storageAllowed: true,
154
165
  }
155
166
  };
156
167
  sandbox = sinon.sandbox.create();
@@ -187,6 +198,10 @@ describe('VidazooBidAdapter', function () {
187
198
  uqs: getTopWindowQueryParams(),
188
199
  'ext.param1': 'loremipsum',
189
200
  'ext.param2': 'dolorsitamet',
201
+ isStorageAllowed: true,
202
+ gpid: '1234567890',
203
+ cat: ['IAB2'],
204
+ pagecat: ['IAB2-2']
190
205
  }
191
206
  });
192
207
  });
@@ -198,7 +213,7 @@ describe('VidazooBidAdapter', function () {
198
213
  });
199
214
  describe('getUserSyncs', function () {
200
215
  it('should have valid user sync with iframeEnabled', function () {
201
- const result = adapter.getUserSyncs({iframeEnabled: true}, [SERVER_RESPONSE]);
216
+ const result = adapter.getUserSyncs({ iframeEnabled: true }, [SERVER_RESPONSE]);
202
217
 
203
218
  expect(result).to.deep.equal([{
204
219
  type: 'iframe',
@@ -207,7 +222,7 @@ describe('VidazooBidAdapter', function () {
207
222
  });
208
223
 
209
224
  it('should have valid user sync with cid on response', function () {
210
- const result = adapter.getUserSyncs({iframeEnabled: true}, [SERVER_RESPONSE]);
225
+ const result = adapter.getUserSyncs({ iframeEnabled: true }, [SERVER_RESPONSE]);
211
226
  expect(result).to.deep.equal([{
212
227
  type: 'iframe',
213
228
  url: 'https://sync.cootlogix.com/api/sync/iframe/?cid=testcid123&gdpr=0&gdpr_consent=&us_privacy='
@@ -215,7 +230,7 @@ describe('VidazooBidAdapter', function () {
215
230
  });
216
231
 
217
232
  it('should have valid user sync with pixelEnabled', function () {
218
- const result = adapter.getUserSyncs({pixelEnabled: true}, [SERVER_RESPONSE]);
233
+ const result = adapter.getUserSyncs({ pixelEnabled: true }, [SERVER_RESPONSE]);
219
234
 
220
235
  expect(result).to.deep.equal([{
221
236
  'url': 'https://sync.cootlogix.com/api/sync/image/?cid=testcid123&gdpr=0&gdpr_consent=&us_privacy=',
@@ -231,12 +246,12 @@ describe('VidazooBidAdapter', function () {
231
246
  });
232
247
 
233
248
  it('should return empty array when there is no ad', function () {
234
- const responses = adapter.interpretResponse({price: 1, ad: ''});
249
+ const responses = adapter.interpretResponse({ price: 1, ad: '' });
235
250
  expect(responses).to.be.empty;
236
251
  });
237
252
 
238
253
  it('should return empty array when there is no price', function () {
239
- const responses = adapter.interpretResponse({price: null, ad: 'great ad'});
254
+ const responses = adapter.interpretResponse({ price: null, ad: 'great ad' });
240
255
  expect(responses).to.be.empty;
241
256
  });
242
257
 
@@ -276,11 +291,11 @@ describe('VidazooBidAdapter', function () {
276
291
  const userId = (function () {
277
292
  switch (idSystemProvider) {
278
293
  case 'lipb':
279
- return {lipbid: id};
294
+ return { lipbid: id };
280
295
  case 'parrableId':
281
- return {eid: id};
296
+ return { eid: id };
282
297
  case 'id5id':
283
- return {uid: id};
298
+ return { uid: id };
284
299
  default:
285
300
  return id;
286
301
  }
@@ -299,18 +314,18 @@ describe('VidazooBidAdapter', function () {
299
314
 
300
315
  describe('alternate param names extractors', function () {
301
316
  it('should return undefined when param not supported', function () {
302
- const cid = extractCID({'c_id': '1'});
303
- const pid = extractPID({'p_id': '1'});
304
- const subDomain = extractSubDomain({'sub_domain': 'prebid'});
317
+ const cid = extractCID({ 'c_id': '1' });
318
+ const pid = extractPID({ 'p_id': '1' });
319
+ const subDomain = extractSubDomain({ 'sub_domain': 'prebid' });
305
320
  expect(cid).to.be.undefined;
306
321
  expect(pid).to.be.undefined;
307
322
  expect(subDomain).to.be.undefined;
308
323
  });
309
324
 
310
325
  it('should return value when param supported', function () {
311
- const cid = extractCID({'cID': '1'});
312
- const pid = extractPID({'Pid': '2'});
313
- const subDomain = extractSubDomain({'subDOMAIN': 'prebid'});
326
+ const cid = extractCID({ 'cID': '1' });
327
+ const pid = extractPID({ 'Pid': '2' });
328
+ const subDomain = extractSubDomain({ 'subDOMAIN': 'prebid' });
314
329
  expect(cid).to.be.equal('1');
315
330
  expect(pid).to.be.equal('2');
316
331
  expect(subDomain).to.be.equal('prebid');
@@ -423,7 +438,7 @@ describe('VidazooBidAdapter', function () {
423
438
  now
424
439
  });
425
440
  setStorageItem('myKey', 2020);
426
- const {value, created} = getStorageItem('myKey');
441
+ const { value, created } = getStorageItem('myKey');
427
442
  expect(created).to.be.equal(now);
428
443
  expect(value).to.be.equal(2020);
429
444
  expect(typeof value).to.be.equal('number');
@@ -439,8 +454,8 @@ describe('VidazooBidAdapter', function () {
439
454
  });
440
455
 
441
456
  it('should parse JSON value', function () {
442
- const data = JSON.stringify({event: 'send'});
443
- const {event} = tryParseJSON(data);
457
+ const data = JSON.stringify({ event: 'send' });
458
+ const { event } = tryParseJSON(data);
444
459
  expect(event).to.be.equal('send');
445
460
  });
446
461
 
@@ -0,0 +1,124 @@
1
+ import {expect} from 'chai';
2
+ import {spec} from 'modules/viqeoBidAdapter';
3
+
4
+ describe('viqeoBidAdapter', function () {
5
+ it('minimal params', function () {
6
+ expect(spec.isBidRequestValid({
7
+ bidder: 'viqeo',
8
+ params: {
9
+ user: {
10
+ buyeruid: '1',
11
+ },
12
+ playerOptions: {
13
+ videoId: 'ed584da454c7205ca7e4',
14
+ profileId: 1382,
15
+ },
16
+ }})).to.equal(true);
17
+ });
18
+ it('minimal params no playerOptions', function () {
19
+ expect(spec.isBidRequestValid({
20
+ bidder: 'viqeo',
21
+ params: {
22
+ currency: 'EUR',
23
+ }})).to.equal(false);
24
+ });
25
+ it('build request check data', function () {
26
+ const bidRequestData = [{
27
+ bidId: 'id1',
28
+ bidder: 'viqeo',
29
+ params: {
30
+ user: {
31
+ buyeruid: '1',
32
+ },
33
+ currency: 'EUR',
34
+ floor: 0.5,
35
+ playerOptions: {
36
+ videoId: 'ed584da454c7205ca7e4',
37
+ profileId: 1382,
38
+ },
39
+ },
40
+ mediaTypes: {
41
+ video: { playerSize: [[240, 400]] }
42
+ },
43
+ }];
44
+ const request = spec.buildRequests(bidRequestData);
45
+ const requestData = request[0].data;
46
+ expect(requestData.id).to.equal('id1')
47
+ expect(requestData.imp[0].bidfloorcur).to.equal('EUR');
48
+ expect(requestData.imp[0].bidfloor).to.equal(0.5);
49
+ expect(requestData.imp[0].video.w).to.equal(240);
50
+ expect(requestData.imp[0].video.h).to.equal(400);
51
+ expect(requestData.user.buyeruid).to.equal('1');
52
+ });
53
+ it('build request check url', function () {
54
+ const bidRequestData = [{
55
+ bidder: 'viqeo',
56
+ params: {
57
+ playerOptions: {
58
+ videoId: 'ed584da454c7205ca7e4',
59
+ profileId: 1382,
60
+ },
61
+ sspId: 42,
62
+ },
63
+ mediaTypes: {
64
+ video: { playerSize: [[240, 400]] }
65
+ },
66
+ }];
67
+ const request = spec.buildRequests(bidRequestData);
68
+ expect(request[0].url).to.equal('https://ads.betweendigital.com/openrtb_bid/?sspId=42')
69
+ });
70
+ it('response_params common case', function () {
71
+ const bidRequestData = {
72
+ bids: [{
73
+ bidId: 'id1',
74
+ params: {},
75
+ mediaTypes: {
76
+ video: { playerSize: [[240, 400]] }
77
+ },
78
+ }],
79
+ };
80
+ const serverResponse = {
81
+ body: {
82
+ id: 'id1',
83
+ cur: 'EUR',
84
+ seatbid: [{
85
+ bid: [{
86
+ cpm: 0.5,
87
+ ttl: 3600,
88
+ netRevenue: true,
89
+ creativeId: 'test1',
90
+ adm: '',
91
+ }],
92
+ }],
93
+ }
94
+ };
95
+ const bids = spec.interpretResponse(serverResponse, bidRequestData);
96
+ expect(bids).to.have.lengthOf(1);
97
+ });
98
+ it('should set flooPrice to getFloor.floor value if it is greater than params.floor', function() {
99
+ const bidRequestData = [{
100
+ bidId: 'id1',
101
+ bidder: 'viqeo',
102
+ params: {
103
+ currency: 'EUR',
104
+ floor: 0.5,
105
+ playerOptions: {
106
+ videoId: 'ed584da454c7205ca7e4',
107
+ profileId: 1382,
108
+ },
109
+ },
110
+ mediaTypes: {
111
+ video: { playerSize: [[240, 400]] }
112
+ },
113
+ getFloor: () => {
114
+ return {
115
+ currency: 'EUR',
116
+ floor: 3.32
117
+ }
118
+ },
119
+ }];
120
+ const request = spec.buildRequests(bidRequestData);
121
+ const requestData = request[0].data;
122
+ expect(requestData.imp[0].bidfloor).to.equal(3.32)
123
+ });
124
+ });
@@ -1,15 +1,14 @@
1
- import {assert, expect} from 'chai';
2
- import {spec} from 'modules/yandexBidAdapter.js';
3
- import {parseUrl} from 'src/utils.js';
4
- import {BANNER} from '../../../src/mediaTypes';
1
+ import { assert, expect } from 'chai';
2
+ import { spec } from 'modules/yandexBidAdapter.js';
3
+ import { parseUrl } from 'src/utils.js';
4
+ import { BANNER } from '../../../src/mediaTypes';
5
5
 
6
6
  describe('Yandex adapter', function () {
7
7
  function getBidConfig() {
8
8
  return {
9
9
  bidder: 'yandex',
10
10
  params: {
11
- pageId: 123,
12
- impId: 1,
11
+ placementId: '123-1',
13
12
  },
14
13
  };
15
14
  }
@@ -32,7 +31,7 @@ describe('Yandex adapter', function () {
32
31
 
33
32
  describe('isBidRequestValid', function () {
34
33
  it('should return true when required params found', function () {
35
- const bid = getBidConfig();
34
+ const bid = getBidRequest();
36
35
  assert(spec.isBidRequestValid(bid));
37
36
  });
38
37
 
@@ -40,18 +39,28 @@ describe('Yandex adapter', function () {
40
39
  expect(spec.isBidRequestValid({})).to.be.false;
41
40
  });
42
41
 
43
- it('should return false when required params.pageId are not passed', function () {
42
+ it('should return false when required params.placementId are not passed', function () {
43
+ const bid = getBidConfig();
44
+ delete bid.params.placementId;
45
+
46
+ expect(spec.isBidRequestValid(bid)).to.be.false;
47
+ });
48
+
49
+ it('should return false when required params.placementId are not valid', function () {
44
50
  const bid = getBidConfig();
45
- delete bid.params.pageId;
51
+ bid.params.placementId = '123';
46
52
 
47
- expect(spec.isBidRequestValid(bid)).to.be.false
53
+ expect(spec.isBidRequestValid(bid)).to.be.false;
48
54
  });
49
55
 
50
- it('should return false when required params.impId are not passed', function () {
56
+ it('should return true when passed deprecated placement config', function () {
51
57
  const bid = getBidConfig();
52
- delete bid.params.impId;
58
+ delete bid.params.placementId;
59
+
60
+ bid.params.pageId = 123;
61
+ bid.params.impId = 1;
53
62
 
54
- expect(spec.isBidRequestValid(bid)).to.be.false
63
+ expect(spec.isBidRequestValid(bid));
55
64
  });
56
65
  });
57
66