prebid.js 7.8.0 → 7.11.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 (483) hide show
  1. package/README.md +0 -2
  2. package/RELEASE_SCHEDULE.md +1 -1
  3. package/allowedModules.js +3 -0
  4. package/babelConfig.js +10 -4
  5. package/dist/33acrossBidAdapter.js +1 -1
  6. package/dist/adWMGAnalyticsAdapter.js +1 -1
  7. package/dist/adagioAnalyticsAdapter.js +1 -1
  8. package/dist/adagioBidAdapter.js +1 -1
  9. package/dist/adbookpspBidAdapter.js +1 -1
  10. package/dist/adgenerationBidAdapter.js +1 -1
  11. package/dist/adkernelAdnAnalyticsAdapter.js +1 -1
  12. package/dist/adkernelBidAdapter.js +1 -1
  13. package/dist/adlooxAdServerVideo.js +1 -1
  14. package/dist/adlooxAnalyticsAdapter.js +1 -1
  15. package/dist/adlooxRtdProvider.js +1 -1
  16. package/dist/adnuntiusBidAdapter.js +1 -1
  17. package/dist/adomikAnalyticsAdapter.js +1 -1
  18. package/dist/adrelevantisBidAdapter.js +1 -1
  19. package/dist/adtelligentBidAdapter.js +1 -1
  20. package/dist/adtrgtmeBidAdapter.js +1 -0
  21. package/dist/adxcgAnalyticsAdapter.js +1 -1
  22. package/dist/adxcgBidAdapter.js +1 -1
  23. package/dist/adxpremiumAnalyticsAdapter.js +1 -1
  24. package/dist/adyoulikeBidAdapter.js +1 -1
  25. package/dist/ajaBidAdapter.js +1 -1
  26. package/dist/amxBidAdapter.js +1 -1
  27. package/dist/amxIdSystem.js +1 -1
  28. package/dist/analyticsAdapter.js +1 -0
  29. package/dist/andBeyondMediaBidAdapter.js +1 -0
  30. package/dist/aniviewBidAdapter.js +1 -1
  31. package/dist/appierAnalyticsAdapter.js +1 -1
  32. package/dist/appnexusBidAdapter.js +1 -1
  33. package/dist/asoBidAdapter.js +1 -1
  34. package/dist/atsAnalyticsAdapter.js +1 -1
  35. package/dist/audiencerunBidAdapter.js +1 -1
  36. package/dist/axonixBidAdapter.js +1 -1
  37. package/dist/bidglassBidAdapter.js +1 -1
  38. package/dist/bidwatchAnalyticsAdapter.js +1 -1
  39. package/dist/big-richmediaBidAdapter.js +1 -1
  40. package/dist/bluebillywigBidAdapter.js +1 -1
  41. package/dist/boldwinBidAdapter.js +1 -1
  42. package/dist/bridgewellBidAdapter.js +1 -1
  43. package/dist/brightMountainMediaBidAdapter.js +1 -1
  44. package/dist/browsiRtdProvider.js +1 -1
  45. package/dist/byDataAnalyticsAdapter.js +1 -1
  46. package/dist/c1xBidAdapter.js +1 -0
  47. package/dist/cleanioRtdProvider.js +1 -1
  48. package/dist/concertAnalyticsAdapter.js +1 -1
  49. package/dist/concertBidAdapter.js +1 -1
  50. package/dist/connectadBidAdapter.js +1 -1
  51. package/dist/consentManagementUsp.js +1 -1
  52. package/dist/consumableBidAdapter.js +1 -1
  53. package/dist/conversantBidAdapter.js +1 -1
  54. package/dist/cpmstarBidAdapter.js +1 -1
  55. package/dist/craftBidAdapter.js +1 -1
  56. package/dist/criteoBidAdapter.js +1 -1
  57. package/dist/datablocksAnalyticsAdapter.js +1 -1
  58. package/dist/datawrkzBidAdapter.js +1 -0
  59. package/dist/debugging-standalone.js +1 -1
  60. package/dist/dependencies.json +171 -0
  61. package/dist/dspxBidAdapter.js +1 -1
  62. package/dist/eplanningAnalyticsAdapter.js +1 -1
  63. package/dist/eplanningBidAdapter.js +1 -1
  64. package/dist/finativeBidAdapter.js +1 -1
  65. package/dist/fintezaAnalyticsAdapter.js +1 -1
  66. package/dist/freewheel-sspBidAdapter.js +1 -1
  67. package/dist/getOrigin.js +1 -1
  68. package/dist/glimpseBidAdapter.js +1 -1
  69. package/dist/gmosspBidAdapter.js +1 -1
  70. package/dist/goldbachBidAdapter.js +1 -1
  71. package/dist/gridBidAdapter.js +1 -1
  72. package/dist/gridNMBidAdapter.js +1 -1
  73. package/dist/gumgumBidAdapter.js +1 -1
  74. package/dist/h12mediaBidAdapter.js +1 -1
  75. package/dist/hadronAnalyticsAdapter.js +1 -1
  76. package/dist/id5AnalyticsAdapter.js +1 -1
  77. package/dist/id5IdSystem.js +1 -1
  78. package/dist/impactifyBidAdapter.js +1 -1
  79. package/dist/improvedigitalBidAdapter.js +1 -1
  80. package/dist/imuIdSystem.js +1 -1
  81. package/dist/inmarBidAdapter.js +1 -1
  82. package/dist/insticatorBidAdapter.js +1 -1
  83. package/dist/invisiblyAnalyticsAdapter.js +1 -1
  84. package/dist/ixBidAdapter.js +1 -1
  85. package/dist/jixieBidAdapter.js +1 -1
  86. package/dist/justpremiumBidAdapter.js +1 -1
  87. package/dist/kargoAnalyticsAdapter.js +1 -1
  88. package/dist/kargoBidAdapter.js +1 -1
  89. package/dist/konduitAnalyticsAdapter.js +1 -1
  90. package/dist/kueezBidAdapter.js +1 -1
  91. package/dist/lassoBidAdapter.js +1 -1
  92. package/dist/livewrappedAnalyticsAdapter.js +1 -1
  93. package/dist/liveyieldAnalyticsAdapter.js +1 -1
  94. package/dist/logicadBidAdapter.js +1 -1
  95. package/dist/loglyliftBidAdapter.js +1 -1
  96. package/dist/malltvAnalyticsAdapter.js +1 -1
  97. package/dist/marsmediaAnalyticsAdapter.js +1 -1
  98. package/dist/marsmediaBidAdapter.js +1 -1
  99. package/dist/mediafuseBidAdapter.js +1 -1
  100. package/dist/mediakeysBidAdapter.js +1 -1
  101. package/dist/medianetAnalyticsAdapter.js +1 -1
  102. package/dist/mediasquareBidAdapter.js +1 -1
  103. package/dist/mgidBidAdapter.js +1 -1
  104. package/dist/minutemediaBidAdapter.js +1 -1
  105. package/dist/nextMillenniumBidAdapter.js +1 -1
  106. package/dist/nobidBidAdapter.js +1 -1
  107. package/dist/not-for-prod/prebid.js +182 -176
  108. package/dist/oguryBidAdapter.js +1 -1
  109. package/dist/onetagBidAdapter.js +1 -1
  110. package/dist/ooloAnalyticsAdapter.js +1 -1
  111. package/dist/openxAnalyticsAdapter.js +1 -1
  112. package/dist/openxBidAdapter.js +1 -1
  113. package/dist/openxOrtbBidAdapter.js +1 -1
  114. package/dist/optimonAnalyticsAdapter.js +1 -1
  115. package/dist/outbrainBidAdapter.js +1 -1
  116. package/dist/ozoneBidAdapter.js +1 -1
  117. package/dist/parrableIdSystem.js +1 -1
  118. package/dist/pianoDmpAnalyticsAdapter.js +1 -1
  119. package/dist/pixfutureBidAdapter.js +1 -1
  120. package/dist/prebid-core.js +1 -1
  121. package/dist/prebidmanagerAnalyticsAdapter.js +1 -1
  122. package/dist/publinkIdSystem.js +1 -1
  123. package/dist/pubmaticAnalyticsAdapter.js +1 -1
  124. package/dist/pubmaticBidAdapter.js +1 -1
  125. package/dist/pubperfAnalyticsAdapter.js +1 -1
  126. package/dist/pubstackAnalyticsAdapter.js +1 -1
  127. package/dist/pubwiseAnalyticsAdapter.js +1 -1
  128. package/dist/pubxaiAnalyticsAdapter.js +1 -1
  129. package/dist/pulsepointAnalyticsAdapter.js +1 -1
  130. package/dist/pxyzBidAdapter.js +1 -1
  131. package/dist/quantcastBidAdapter.js +1 -1
  132. package/dist/readpeakBidAdapter.js +1 -1
  133. package/dist/realvuAnalyticsAdapter.js +1 -1
  134. package/dist/relaidoBidAdapter.js +1 -1
  135. package/dist/relevantAnalyticsAdapter.js +1 -1
  136. package/dist/rhythmoneBidAdapter.js +1 -1
  137. package/dist/riseBidAdapter.js +1 -1
  138. package/dist/rivrAnalyticsAdapter.js +1 -1
  139. package/dist/roxotAnalyticsAdapter.js +1 -1
  140. package/dist/rtbhouseBidAdapter.js +1 -1
  141. package/dist/rubiconAnalyticsAdapter.js +1 -1
  142. package/dist/rubiconBidAdapter.js +1 -1
  143. package/dist/scaleableAnalyticsAdapter.js +1 -1
  144. package/dist/seedingAllianceBidAdapter.js +1 -1
  145. package/dist/seedtagBidAdapter.js +1 -1
  146. package/dist/sharethroughAnalyticsAdapter.js +1 -1
  147. package/dist/sharethroughBidAdapter.js +1 -1
  148. package/dist/shinezBidAdapter.js +1 -1
  149. package/dist/showheroes-bsBidAdapter.js +1 -1
  150. package/dist/sigmoidAnalyticsAdapter.js +1 -1
  151. package/dist/smaatoBidAdapter.js +1 -1
  152. package/dist/smartadserverBidAdapter.js +1 -1
  153. package/dist/smartxBidAdapter.js +1 -1
  154. package/dist/smilewantedBidAdapter.js +1 -1
  155. package/dist/snigelBidAdapter.js +1 -0
  156. package/dist/sonobiAnalyticsAdapter.js +1 -1
  157. package/dist/sonobiBidAdapter.js +1 -1
  158. package/dist/sovrnAnalyticsAdapter.js +1 -1
  159. package/dist/sovrnBidAdapter.js +1 -1
  160. package/dist/sspBCBidAdapter.js +1 -1
  161. package/dist/staqAnalyticsAdapter.js +1 -1
  162. package/dist/sublimeBidAdapter.js +1 -1
  163. package/dist/synacormediaBidAdapter.js +1 -1
  164. package/dist/tappxBidAdapter.js +1 -1
  165. package/dist/targetVideoBidAdapter.js +1 -1
  166. package/dist/teadsBidAdapter.js +1 -1
  167. package/dist/terceptAnalyticsAdapter.js +1 -1
  168. package/dist/trionBidAdapter.js +1 -1
  169. package/dist/tripleliftBidAdapter.js +1 -1
  170. package/dist/trustpidSystem.js +1 -1
  171. package/dist/ttdBidAdapter.js +1 -1
  172. package/dist/ucfunnelAnalyticsAdapter.js +1 -1
  173. package/dist/underdogmediaBidAdapter.js +1 -1
  174. package/dist/undertoneBidAdapter.js +1 -1
  175. package/dist/userId.js +1 -1
  176. package/dist/vidazooBidAdapter.js +1 -1
  177. package/dist/videobyteBidAdapter.js +1 -1
  178. package/dist/visxBidAdapter.js +1 -1
  179. package/dist/vuukleBidAdapter.js +1 -1
  180. package/dist/widespaceBidAdapter.js +1 -1
  181. package/dist/winrBidAdapter.js +1 -1
  182. package/dist/yahoosspBidAdapter.js +1 -1
  183. package/dist/yieldmoBidAdapter.js +1 -1
  184. package/dist/yieldoneAnalyticsAdapter.js +1 -1
  185. package/dist/yuktamediaAnalyticsAdapter.js +1 -1
  186. package/dist/zeta_global_sspAnalyticsAdapter.js +1 -1
  187. package/dist/zeta_global_sspBidAdapter.js +1 -1
  188. package/gulpHelpers.js +22 -55
  189. package/gulpfile.js +12 -5
  190. package/integrationExamples/gpt/1plusXRtdProviderExample.html +2 -4
  191. package/integrationExamples/gpt/airgridRtdProvider_example.html +1 -4
  192. package/integrationExamples/gpt/amp/remote.html +1 -1
  193. package/integrationExamples/gpt/blueconicRtdProvider_example.html +2 -4
  194. package/integrationExamples/gpt/hadronRtdProvider_example.html +1 -3
  195. package/integrationExamples/gpt/inskin_example.html +1 -3
  196. package/integrationExamples/gpt/permutiveRtdProvider_example.html +1 -1
  197. package/integrationExamples/gpt/prebidServer_example.html +1 -3
  198. package/integrationExamples/gpt/serverbidServer_example.html +1 -3
  199. package/integrationExamples/gpt/userId_example.html +1 -3
  200. package/integrationExamples/postbid/oas/postbid-config.js +5 -5
  201. package/karma.conf.maker.js +2 -13
  202. package/libraries/LIBRARIES.md +5 -0
  203. package/{src → libraries/analyticsAdapter}/AnalyticsAdapter.js +5 -6
  204. package/{src/adapters/analytics → libraries/analyticsAdapter/examples}/example.js +1 -1
  205. package/{src/adapters/analytics → libraries/analyticsAdapter/examples}/example2.js +1 -1
  206. package/modules/.submodules.json +0 -12
  207. package/modules/1plusXRtdProvider.js +1 -1
  208. package/modules/33acrossBidAdapter.js +3 -3
  209. package/modules/adWMGAnalyticsAdapter.js +1 -1
  210. package/modules/adagioAnalyticsAdapter.js +1 -1
  211. package/modules/adagioBidAdapter.js +3 -4
  212. package/modules/adgenerationBidAdapter.js +1 -1
  213. package/modules/adkernelAdnAnalyticsAdapter.js +1 -1
  214. package/modules/adkernelBidAdapter.js +2 -1
  215. package/modules/adlooxAnalyticsAdapter.js +1 -1
  216. package/modules/admixerBidAdapter.js +1 -1
  217. package/modules/adnowBidAdapter.js +1 -1
  218. package/modules/adnuntiusBidAdapter.js +3 -1
  219. package/modules/adomikAnalyticsAdapter.js +1 -1
  220. package/modules/adpod.js +1 -1
  221. package/modules/adrelevantisBidAdapter.js +2 -2
  222. package/modules/adriverBidAdapter.js +1 -1
  223. package/modules/adtargetBidAdapter.js +1 -1
  224. package/modules/adtelligentBidAdapter.js +4 -2
  225. package/modules/adtrgtmeBidAdapter.js +333 -0
  226. package/modules/adtrgtmeBidAdapter.md +69 -0
  227. package/modules/adtrueBidAdapter.js +1 -1
  228. package/modules/adxcgAnalyticsAdapter.js +1 -1
  229. package/modules/adxpremiumAnalyticsAdapter.js +2 -2
  230. package/modules/adyoulikeBidAdapter.js +12 -8
  231. package/modules/akamaiDapRtdProvider.js +2 -2
  232. package/modules/andBeyondMediaBidAdapter.js +202 -0
  233. package/modules/andBeyondMediaBidAdapter.md +79 -0
  234. package/modules/aniviewBidAdapter.js +2 -2
  235. package/modules/apacdexBidAdapter.js +3 -3
  236. package/modules/appierAnalyticsAdapter.js +1 -1
  237. package/modules/appnexusBidAdapter.js +9 -9
  238. package/modules/apstreamBidAdapter.js +2 -2
  239. package/modules/atsAnalyticsAdapter.js +1 -1
  240. package/modules/betweenBidAdapter.js +1 -1
  241. package/modules/bidwatchAnalyticsAdapter.js +71 -12
  242. package/modules/bizzclickBidAdapter.js +1 -1
  243. package/modules/bliinkBidAdapter.js +1 -1
  244. package/modules/boldwinBidAdapter.js +16 -7
  245. package/modules/boldwinBidAdapter.md +17 -0
  246. package/modules/brightMountainMediaBidAdapter.js +1 -1
  247. package/modules/browsiRtdProvider.js +26 -12
  248. package/modules/byDataAnalyticsAdapter.js +2 -2
  249. package/modules/c1xBidAdapter.js +209 -0
  250. package/modules/c1xBidAdapter.md +70 -0
  251. package/modules/cleanioRtdProvider.js +29 -0
  252. package/modules/cleanmedianetBidAdapter.js +1 -1
  253. package/modules/colossussspBidAdapter.js +2 -2
  254. package/modules/concertAnalyticsAdapter.js +1 -1
  255. package/modules/consentManagementUsp.js +2 -2
  256. package/modules/consumableBidAdapter.js +21 -3
  257. package/modules/cpmstarBidAdapter.js +23 -13
  258. package/modules/criteoBidAdapter.js +47 -5
  259. package/modules/cwireBidAdapter.js +1 -1
  260. package/modules/datablocksAnalyticsAdapter.js +1 -1
  261. package/modules/datablocksBidAdapter.js +1 -1
  262. package/modules/datawrkzBidAdapter.js +633 -0
  263. package/modules/datawrkzBidAdapter.md +160 -0
  264. package/modules/dfpAdServerVideo.js +2 -2
  265. package/modules/dgkeywordRtdProvider.js +1 -1
  266. package/modules/dspxBidAdapter.js +1 -1
  267. package/modules/e_volutionBidAdapter.js +3 -3
  268. package/modules/ebdrBidAdapter.js +1 -1
  269. package/modules/emx_digitalBidAdapter.js +1 -1
  270. package/modules/eplanningAnalyticsAdapter.js +1 -1
  271. package/modules/eplanningBidAdapter.js +3 -3
  272. package/modules/fabrickIdSystem.js +2 -2
  273. package/modules/fintezaAnalyticsAdapter.js +2 -2
  274. package/modules/freewheel-sspBidAdapter.js +1 -1
  275. package/modules/gamoshiBidAdapter.js +1 -1
  276. package/modules/getintentBidAdapter.js +1 -1
  277. package/modules/gjirafaBidAdapter.js +2 -2
  278. package/modules/goldbachBidAdapter.js +8 -8
  279. package/modules/gothamadsBidAdapter.js +2 -2
  280. package/modules/gridBidAdapter.js +1 -1
  281. package/modules/gridNMBidAdapter.js +1 -1
  282. package/modules/gumgumBidAdapter.js +3 -3
  283. package/modules/h12mediaBidAdapter.js +1 -1
  284. package/modules/hadronAnalyticsAdapter.js +3 -3
  285. package/modules/hadronRtdProvider.js +1 -1
  286. package/modules/id5AnalyticsAdapter.js +2 -2
  287. package/modules/impactifyBidAdapter.js +1 -1
  288. package/modules/improvedigitalBidAdapter.js +5 -2
  289. package/modules/imuIdSystem.js +40 -28
  290. package/modules/imuIdSystem.md +1 -0
  291. package/modules/inskinBidAdapter.js +1 -1
  292. package/modules/integr8BidAdapter.js +2 -2
  293. package/modules/intentIqIdSystem.js +2 -2
  294. package/modules/interactiveOffersBidAdapter.js +1 -1
  295. package/modules/invisiblyAnalyticsAdapter.js +1 -1
  296. package/modules/iqmBidAdapter.js +1 -1
  297. package/modules/ixBidAdapter.js +15 -15
  298. package/modules/kargoAnalyticsAdapter.js +1 -1
  299. package/modules/kargoBidAdapter.js +4 -5
  300. package/modules/konduitAnalyticsAdapter.js +1 -1
  301. package/modules/krushmediaBidAdapter.js +2 -2
  302. package/modules/kueezBidAdapter.js +2 -2
  303. package/modules/lassoBidAdapter.js +3 -3
  304. package/modules/livewrappedAnalyticsAdapter.js +4 -4
  305. package/modules/liveyieldAnalyticsAdapter.js +1 -1
  306. package/modules/lkqdBidAdapter.js +3 -3
  307. package/modules/loganBidAdapter.js +2 -2
  308. package/modules/luponmediaBidAdapter.js +3 -3
  309. package/modules/malltvAnalyticsAdapter.js +1 -1
  310. package/modules/malltvBidAdapter.js +2 -2
  311. package/modules/marsmediaAnalyticsAdapter.js +1 -1
  312. package/modules/mediafuseBidAdapter.js +8 -8
  313. package/modules/mediakeysBidAdapter.js +2 -2
  314. package/modules/medianetAnalyticsAdapter.js +1 -1
  315. package/modules/merkleIdSystem.js +2 -2
  316. package/modules/mgidBidAdapter.js +2 -2
  317. package/modules/microadBidAdapter.js +1 -1
  318. package/modules/mobfoxpbBidAdapter.js +2 -2
  319. package/modules/newspassidBidAdapter.js +1 -1
  320. package/modules/nextMillenniumBidAdapter.js +21 -2
  321. package/modules/nobidBidAdapter.js +3 -3
  322. package/modules/novatiqIdSystem.js +1 -1
  323. package/modules/oguryBidAdapter.js +1 -1
  324. package/modules/ooloAnalyticsAdapter.js +1 -1
  325. package/modules/open8BidAdapter.js +1 -1
  326. package/modules/openwebBidAdapter.js +1 -1
  327. package/modules/openxAnalyticsAdapter.js +6 -745
  328. package/modules/openxAnalyticsAdapter.md +4 -0
  329. package/modules/openxBidAdapter.js +3 -5
  330. package/modules/openxOrtbBidAdapter.js +8 -4
  331. package/modules/operaadsBidAdapter.js +1 -1
  332. package/modules/optimonAnalyticsAdapter.js +1 -1
  333. package/modules/ozoneBidAdapter.js +102 -271
  334. package/modules/ozoneBidAdapter.md +37 -0
  335. package/modules/pianoDmpAnalyticsAdapter.js +1 -1
  336. package/modules/pixfutureBidAdapter.js +1 -1
  337. package/modules/prebidServerBidAdapter/index.js +7 -7
  338. package/modules/prebidmanagerAnalyticsAdapter.js +2 -2
  339. package/modules/priceFloors.js +1 -1
  340. package/modules/pubmaticAnalyticsAdapter.js +2 -2
  341. package/modules/pubmaticBidAdapter.js +28 -8
  342. package/modules/pubperfAnalyticsAdapter.js +1 -1
  343. package/modules/pubstackAnalyticsAdapter.js +1 -1
  344. package/modules/pubwiseAnalyticsAdapter.js +2 -2
  345. package/modules/pubwiseBidAdapter.js +3 -3
  346. package/modules/pubxBidAdapter.js +1 -1
  347. package/modules/pubxaiAnalyticsAdapter.js +3 -3
  348. package/modules/pulsepointAnalyticsAdapter.js +1 -1
  349. package/modules/pulsepointBidAdapter.js +1 -1
  350. package/modules/quantcastIdSystem.js +1 -1
  351. package/modules/radsBidAdapter.js +1 -1
  352. package/modules/realvuAnalyticsAdapter.js +1 -1
  353. package/modules/relaidoBidAdapter.js +23 -18
  354. package/modules/relevantAnalyticsAdapter.js +1 -1
  355. package/modules/revcontentBidAdapter.js +1 -1
  356. package/modules/richaudienceBidAdapter.js +1 -1
  357. package/modules/riseBidAdapter.js +8 -5
  358. package/modules/riseBidAdapter.md +3 -1
  359. package/modules/rivrAnalyticsAdapter.js +1 -1
  360. package/modules/roxotAnalyticsAdapter.js +1 -1
  361. package/modules/rtbhouseBidAdapter.js +1 -1
  362. package/modules/rubiconAnalyticsAdapter.js +1 -1
  363. package/modules/rubiconBidAdapter.js +2 -2
  364. package/modules/scaleableAnalyticsAdapter.js +1 -1
  365. package/modules/schain.js +1 -1
  366. package/modules/sharethroughAnalyticsAdapter.js +1 -1
  367. package/modules/sharethroughBidAdapter.js +3 -3
  368. package/modules/shinezBidAdapter.js +2 -2
  369. package/modules/showheroes-bsBidAdapter.js +131 -49
  370. package/modules/showheroes-bsBidAdapter.md +49 -0
  371. package/modules/sigmoidAnalyticsAdapter.js +1 -1
  372. package/modules/sirdataRtdProvider.js +3 -3
  373. package/modules/sizeMappingV2.js +1 -1
  374. package/modules/smaatoBidAdapter.js +2 -2
  375. package/modules/smartxBidAdapter.js +2 -2
  376. package/modules/snigelBidAdapter.js +150 -0
  377. package/modules/snigelBidAdapter.md +46 -0
  378. package/modules/sonobiAnalyticsAdapter.js +2 -2
  379. package/modules/sonobiBidAdapter.js +3 -3
  380. package/modules/sovrnAnalyticsAdapter.js +1 -1
  381. package/modules/spotxBidAdapter.js +5 -5
  382. package/modules/sspBCBidAdapter.js +15 -18
  383. package/modules/staqAnalyticsAdapter.js +2 -2
  384. package/modules/synacormediaBidAdapter.js +1 -1
  385. package/modules/taboolaBidAdapter.js +1 -1
  386. package/modules/tappxBidAdapter.js +4 -4
  387. package/modules/targetVideoBidAdapter.js +1 -1
  388. package/modules/terceptAnalyticsAdapter.js +1 -1
  389. package/modules/theAdxBidAdapter.js +2 -2
  390. package/modules/tpmnBidAdapter.js +1 -1
  391. package/modules/trionBidAdapter.js +2 -2
  392. package/modules/tripleliftBidAdapter.js +46 -20
  393. package/modules/trustpidSystem.js +2 -2
  394. package/modules/ttdBidAdapter.js +41 -26
  395. package/modules/ttdBidAdapter.md +4 -10
  396. package/modules/ucfunnelAnalyticsAdapter.js +1 -1
  397. package/modules/underdogmediaBidAdapter.js +1 -1
  398. package/modules/userId/eids.js +5 -0
  399. package/modules/userId/index.js +11 -7
  400. package/modules/vdoaiBidAdapter.js +1 -1
  401. package/modules/vidazooBidAdapter.js +9 -5
  402. package/modules/videoheroesBidAdapter.js +1 -1
  403. package/modules/vidoomyBidAdapter.js +1 -1
  404. package/modules/visxBidAdapter.js +1 -1
  405. package/modules/vrtcalBidAdapter.js +1 -1
  406. package/modules/weboramaRtdProvider.js +3 -3
  407. package/modules/winrBidAdapter.js +1 -1
  408. package/modules/yahoosspBidAdapter.js +4 -3
  409. package/modules/yandexBidAdapter.js +1 -1
  410. package/modules/yieldmoBidAdapter.js +3 -3
  411. package/modules/yieldoneAnalyticsAdapter.js +1 -1
  412. package/modules/yieldoneBidAdapter.js +2 -2
  413. package/modules/yuktamediaAnalyticsAdapter.js +1 -1
  414. package/modules/zeta_global_sspAnalyticsAdapter.js +1 -1
  415. package/modules/zeta_global_sspBidAdapter.js +25 -22
  416. package/package.json +4 -3
  417. package/src/Renderer.js +1 -1
  418. package/src/adapterManager.js +3 -3
  419. package/src/adapters/bidderFactory.js +1 -0
  420. package/src/auction.js +2 -2
  421. package/src/bidfactory.js +1 -1
  422. package/src/config.js +7 -7
  423. package/src/native.js +53 -58
  424. package/src/sizeMapping.js +1 -1
  425. package/src/targeting.js +1 -1
  426. package/src/userSync.js +1 -1
  427. package/src/utils.js +1 -1
  428. package/test/mocks/analyticsStub.js +1 -1
  429. package/test/spec/AnalyticsAdapter_spec.js +1 -1
  430. package/test/spec/config_spec.js +4 -0
  431. package/test/spec/modules/adagioBidAdapter_spec.js +2 -0
  432. package/test/spec/modules/adnuntiusBidAdapter_spec.js +7 -3
  433. package/test/spec/modules/adtelligentBidAdapter_spec.js +1 -0
  434. package/test/spec/modules/adtrgtmeBidAdapter_spec.js +802 -0
  435. package/test/spec/modules/adyoulikeBidAdapter_spec.js +8 -3
  436. package/test/spec/modules/andBeyondMediaBidAdapter_spec.js +400 -0
  437. package/test/spec/modules/bidwatchAnalyticsAdapter_spec.js +17 -1
  438. package/test/spec/modules/boldwinBidAdapter_spec.js +2 -1
  439. package/test/spec/modules/browsiRtdProvider_spec.js +40 -1
  440. package/test/spec/modules/c1xBidAdapter_spec.js +189 -0
  441. package/test/spec/modules/cleanioRtdProvider_spec.js +23 -0
  442. package/test/spec/modules/concertAnalyticsAdapter_spec.js +2 -1
  443. package/test/spec/modules/consumableBidAdapter_spec.js +139 -0
  444. package/test/spec/modules/cpmstarBidAdapter_spec.js +1 -1
  445. package/test/spec/modules/criteoBidAdapter_spec.js +169 -38
  446. package/test/spec/modules/datawrkzBidAdapter_spec.js +656 -0
  447. package/test/spec/modules/eids_spec.js +32 -0
  448. package/test/spec/modules/eplanningAnalyticsAdapter_spec.js +2 -2
  449. package/test/spec/modules/fintezaAnalyticsAdapter_spec.js +2 -1
  450. package/test/spec/modules/improvedigitalBidAdapter_spec.js +4 -4
  451. package/test/spec/modules/imuIdSystem_spec.js +20 -4
  452. package/test/spec/modules/invisiblyAnalyticsAdapter_spec.js +8 -3
  453. package/test/spec/modules/kargoBidAdapter_spec.js +11 -2
  454. package/test/spec/modules/konduitAnalyticsAdapter_spec.js +2 -1
  455. package/test/spec/modules/nextMillenniumBidAdapter_spec.js +17 -0
  456. package/test/spec/modules/openxAnalyticsAdapter_spec.js +6 -638
  457. package/test/spec/modules/openxOrtbBidAdapter_spec.js +32 -1
  458. package/test/spec/modules/optimonAnalyticsAdapter_spec.js +2 -1
  459. package/test/spec/modules/ozoneBidAdapter_spec.js +367 -511
  460. package/test/spec/modules/pianoDmpAnalyticsAdapter_spec.js +4 -0
  461. package/test/spec/modules/prebidmanagerAnalyticsAdapter_spec.js +2 -1
  462. package/test/spec/modules/pubmaticBidAdapter_spec.js +111 -5
  463. package/test/spec/modules/pubperfAnalyticsAdapter_spec.js +2 -1
  464. package/test/spec/modules/pubstackAnalyticsAdapter_spec.js +2 -1
  465. package/test/spec/modules/pubwiseAnalyticsAdapter_spec.js +3 -3
  466. package/test/spec/modules/relaidoBidAdapter_spec.js +40 -33
  467. package/test/spec/modules/riseBidAdapter_spec.js +17 -0
  468. package/test/spec/modules/sharethroughBidAdapter_spec.js +10 -1
  469. package/test/spec/modules/showheroes-bsBidAdapter_spec.js +173 -2
  470. package/test/spec/modules/sigmoidAnalyticsAdapter_spec.js +1 -1
  471. package/test/spec/modules/snigelBidAdapter_spec.js +296 -0
  472. package/test/spec/modules/sovrnAnalyticsAdapter_spec.js +2 -1
  473. package/test/spec/modules/sspBCBidAdapter_spec.js +2 -2
  474. package/test/spec/modules/tripleliftBidAdapter_spec.js +378 -10
  475. package/test/spec/modules/ttdBidAdapter_spec.js +113 -34
  476. package/test/spec/modules/userId_spec.js +38 -2
  477. package/test/spec/modules/vidazooBidAdapter_spec.js +39 -24
  478. package/test/spec/modules/yahoosspBidAdapter_spec.js +13 -0
  479. package/test/spec/modules/yieldoneAnalyticsAdapter_spec.js +5 -1
  480. package/test/spec/modules/zeta_global_sspBidAdapter_spec.js +61 -2
  481. package/test/spec/native_spec.js +96 -0
  482. package/test/spec/unit/core/bidderFactory_spec.js +27 -2
  483. package/webpack.conf.js +47 -11
@@ -52,6 +52,10 @@ describe('Piano DMP Analytics Adapter', () => {
52
52
 
53
53
  // Then
54
54
  const callQueue = (window.cX || {}).callQueue;
55
+ const billableEventIndex = callQueue.findIndex(([, params]) => params.eventType === constants.EVENTS.BILLABLE_EVENT);
56
+ if (billableEventIndex > -1) {
57
+ callQueue.splice(billableEventIndex, 1);
58
+ }
55
59
 
56
60
  expect(callQueue).to.be.an('array');
57
61
  expect(callQueue.length).to.equal(testEvents.length);
@@ -102,7 +102,8 @@ describe('Prebid Manager Analytics Adapter', function () {
102
102
  events.emit(constants.EVENTS.AUCTION_END, {});
103
103
  events.emit(constants.EVENTS.BID_TIMEOUT, {});
104
104
 
105
- sinon.assert.callCount(prebidmanagerAnalytics.track, 6);
105
+ // 6 Prebid Manager events + 1 Clean.io event
106
+ sinon.assert.callCount(prebidmanagerAnalytics.track, 7);
106
107
  });
107
108
  });
108
109
 
@@ -1,8 +1,9 @@
1
1
  import {expect} from 'chai';
2
- import {spec, checkVideoPlacement} from 'modules/pubmaticBidAdapter.js';
2
+ import {spec, checkVideoPlacement, _getDomainFromURL} from 'modules/pubmaticBidAdapter.js';
3
3
  import * as utils from 'src/utils.js';
4
4
  import {config} from 'src/config.js';
5
5
  import { createEidsArray } from 'modules/userId/eids.js';
6
+ import { bidderSettings } from 'src/bidderSettings.js';
6
7
  const constants = require('src/constants.json');
7
8
 
8
9
  describe('PubMatic adapter', function () {
@@ -1104,6 +1105,62 @@ describe('PubMatic adapter', function () {
1104
1105
  expect(data.source.ext.schain).to.deep.equal(bidRequests[0].schain);
1105
1106
  });
1106
1107
 
1108
+ describe('Marketplace parameters', function() {
1109
+ let bidderSettingStub;
1110
+ beforeEach(function() {
1111
+ bidderSettingStub = sinon.stub(bidderSettings, 'get');
1112
+ });
1113
+
1114
+ afterEach(function() {
1115
+ bidderSettingStub.restore();
1116
+ });
1117
+
1118
+ it('should not be present when allowAlternateBidderCodes is undefined', function () {
1119
+ bidderSettingStub.returns(undefined);
1120
+ let request = spec.buildRequests(bidRequests, {
1121
+ auctionId: 'new-auction-id'
1122
+ });
1123
+ let data = JSON.parse(request.data);
1124
+ expect(data.ext.marketplace).to.equal(undefined);
1125
+ });
1126
+
1127
+ it('should be pubmatic and groupm when allowedAlternateBidderCodes is \'groupm\'', function () {
1128
+ bidderSettingStub.withArgs('pubmatic', 'allowAlternateBidderCodes').returns(true);
1129
+ bidderSettingStub.withArgs('pubmatic', 'allowedAlternateBidderCodes').returns(['groupm']);
1130
+ let request = spec.buildRequests(bidRequests, {
1131
+ auctionId: 'new-auction-id',
1132
+ bidderCode: 'pubmatic'
1133
+ });
1134
+ let data = JSON.parse(request.data);
1135
+ expect(data.ext.marketplace.allowedbidders).to.be.an('array');
1136
+ expect(data.ext.marketplace.allowedbidders.length).to.equal(2);
1137
+ expect(data.ext.marketplace.allowedbidders[0]).to.equal('pubmatic');
1138
+ expect(data.ext.marketplace.allowedbidders[1]).to.equal('groupm');
1139
+ });
1140
+
1141
+ it('should be ALL by default', function () {
1142
+ bidderSettingStub.returns(true);
1143
+ let request = spec.buildRequests(bidRequests, {
1144
+ auctionId: 'new-auction-id'
1145
+ });
1146
+ let data = JSON.parse(request.data);
1147
+ expect(data.ext.marketplace.allowedbidders).to.be.an('array');
1148
+ expect(data.ext.marketplace.allowedbidders[0]).to.equal('all');
1149
+ });
1150
+
1151
+ it('should be ALL when allowedAlternateBidderCodes is \'*\'', function () {
1152
+ bidderSettingStub.withArgs('pubmatic', 'allowAlternateBidderCodes').returns(true);
1153
+ bidderSettingStub.withArgs('pubmatic', 'allowedAlternateBidderCodes').returns(['*']);
1154
+ let request = spec.buildRequests(bidRequests, {
1155
+ auctionId: 'new-auction-id',
1156
+ bidderCode: 'pubmatic'
1157
+ });
1158
+ let data = JSON.parse(request.data);
1159
+ expect(data.ext.marketplace.allowedbidders).to.be.an('array');
1160
+ expect(data.ext.marketplace.allowedbidders[0]).to.equal('all');
1161
+ });
1162
+ })
1163
+
1107
1164
  it('Set content from config, set site.content', function() {
1108
1165
  let sandbox = sinon.sandbox.create();
1109
1166
  const content = {
@@ -1141,7 +1198,7 @@ describe('PubMatic adapter', function () {
1141
1198
  expect(data.device.dnt).to.equal((navigator.doNotTrack == 'yes' || navigator.doNotTrack == '1' || navigator.msDoNotTrack == '1') ? 1 : 0);
1142
1199
  expect(data.device.h).to.equal(screen.height);
1143
1200
  expect(data.device.w).to.equal(screen.width);
1144
- expect(data.device.language).to.equal(navigator.language);
1201
+ expect(data.device.language).to.equal(navigator.language.split('-')[0]);
1145
1202
  expect(data.device.newkey).to.equal('new-device-data');// additional data from config
1146
1203
  sandbox.restore();
1147
1204
  });
@@ -1631,17 +1688,66 @@ describe('PubMatic adapter', function () {
1631
1688
  describe('FPD', function() {
1632
1689
  let newRequest;
1633
1690
 
1634
- it('ortb2.site should be merged in the request', function() {
1691
+ describe('ortb2.site should not override page, domain & ref values', function() {
1692
+ it('When above properties are present in ortb2.site', function() {
1693
+ const ortb2 = {
1694
+ site: {
1695
+ domain: 'page.example.com',
1696
+ page: 'https://page.example.com/here.html',
1697
+ ref: 'https://page.example.com/here.html'
1698
+ }
1699
+ };
1700
+ const request = spec.buildRequests(bidRequests, {ortb2});
1701
+ let data = JSON.parse(request.data);
1702
+ expect(data.site.domain).not.equal('page.example.com');
1703
+ expect(data.site.page).not.equal('https://page.example.com/here.html');
1704
+ expect(data.site.ref).not.equal('https://page.example.com/here.html');
1705
+ });
1706
+
1707
+ it('When above properties are absent in ortb2.site', function () {
1708
+ const ortb2 = {
1709
+ site: {}
1710
+ };
1711
+ let request = spec.buildRequests(bidRequests, {
1712
+ auctionId: 'new-auction-id',
1713
+ ortb2
1714
+ });
1715
+ let data = JSON.parse(request.data);
1716
+ let response = spec.interpretResponse(bidResponses, request);
1717
+ expect(data.site.page).to.equal(bidRequests[0].params.kadpageurl);
1718
+ expect(data.site.domain).to.equal(_getDomainFromURL(data.site.page));
1719
+ expect(response[0].referrer).to.equal(data.site.ref);
1720
+ });
1721
+
1722
+ it('With some extra properties in ortb2.site', function() {
1723
+ const ortb2 = {
1724
+ site: {
1725
+ domain: 'page.example.com',
1726
+ page: 'https://page.example.com/here.html',
1727
+ ref: 'https://page.example.com/here.html',
1728
+ cat: ['IAB2'],
1729
+ sectioncat: ['IAB2-2']
1730
+ }
1731
+ };
1732
+ const request = spec.buildRequests(bidRequests, {ortb2});
1733
+ let data = JSON.parse(request.data);
1734
+ expect(data.site.domain).not.equal('page.example.com');
1735
+ expect(data.site.page).not.equal('https://page.example.com/here.html');
1736
+ expect(data.site.ref).not.equal('https://page.example.com/here.html');
1737
+ expect(data.site.cat).to.deep.equal(['IAB2']);
1738
+ expect(data.site.sectioncat).to.deep.equal(['IAB2-2']);
1739
+ });
1740
+ });
1741
+
1742
+ it('ortb2.site should be merged except page, domain & ref in the request', function() {
1635
1743
  const ortb2 = {
1636
1744
  site: {
1637
- domain: 'page.example.com',
1638
1745
  cat: ['IAB2'],
1639
1746
  sectioncat: ['IAB2-2']
1640
1747
  }
1641
1748
  };
1642
1749
  const request = spec.buildRequests(bidRequests, {ortb2});
1643
1750
  let data = JSON.parse(request.data);
1644
- expect(data.site.domain).to.equal('page.example.com');
1645
1751
  expect(data.site.cat).to.deep.equal(['IAB2']);
1646
1752
  expect(data.site.sectioncat).to.deep.equal(['IAB2-2']);
1647
1753
  });
@@ -49,7 +49,8 @@ describe('Pubperf Analytics Adapter', function() {
49
49
  events.emit(constants.EVENTS.AUCTION_END, {});
50
50
  events.emit(constants.EVENTS.BID_TIMEOUT, {});
51
51
 
52
- sinon.assert.callCount(pubperfAnalytics.track, 6);
52
+ // 6 Pubperf events + 1 Clean.io event
53
+ sinon.assert.callCount(pubperfAnalytics.track, 7);
53
54
  });
54
55
  });
55
56
  });
@@ -33,6 +33,7 @@ describe('Pubstack Analytics Adapter', () => {
33
33
  events.emit(constants.EVENTS.NO_BID, args)
34
34
 
35
35
  // Then
36
- expect(queue.length).to.eql(6);
36
+ // 6 Pubstack events + 1 Clean.io event
37
+ expect(queue.length).to.eql(7);
37
38
  });
38
39
  });
@@ -71,10 +71,10 @@ describe('PubWise Prebid Analytics', function () {
71
71
  events.emit(constants.EVENTS.AUCTION_END, {});
72
72
 
73
73
  // eslint-disable-next-line
74
- //console.log(requests);
74
+ //console.log(requests);
75
75
 
76
76
  /* testing for 6 calls, including the 2 we're not currently tracking */
77
- sandbox.assert.callCount(pubwiseAnalytics.track, 7);
77
+ sandbox.assert.callCount(pubwiseAnalytics.track, 8);
78
78
  });
79
79
 
80
80
  it('should initialize the auction properly', function () {
@@ -92,7 +92,7 @@ describe('PubWise Prebid Analytics', function () {
92
92
  let request = requests[0];
93
93
  let data = JSON.parse(request.requestBody);
94
94
  // eslint-disable-next-line
95
- // console.log(data.metaData);
95
+ // console.log(data.metaData);
96
96
  expect(data.metaData, 'metaData property').to.exist;
97
97
  expect(data.metaData.pbjs_version, 'pbjs version').to.equal('$prebid.version$')
98
98
  expect(data.metaData.session_id, 'session id').not.to.be.empty
@@ -5,13 +5,8 @@ import { BANNER, VIDEO } from 'src/mediaTypes.js';
5
5
  import { getStorageManager } from '../../../src/storageManager.js';
6
6
 
7
7
  const UUID_KEY = 'relaido_uuid';
8
- const DEFAULT_USER_AGENT = window.navigator.userAgent;
9
- const MOBILE_USER_AGENT = 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_3_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.5 Mobile/15E148 Safari/604.1';
10
8
  const relaido_uuid = 'hogehoge';
11
9
 
12
- const setUADefault = () => { window.navigator.__defineGetter__('userAgent', function () { return DEFAULT_USER_AGENT }) };
13
- const setUAMobile = () => { window.navigator.__defineGetter__('userAgent', function () { return MOBILE_USER_AGENT }) };
14
-
15
10
  const storage = getStorageManager();
16
11
  storage.setCookie(UUID_KEY, relaido_uuid);
17
12
 
@@ -19,6 +14,7 @@ describe('RelaidoAdapter', function () {
19
14
  let bidRequest;
20
15
  let bidderRequest;
21
16
  let serverResponse;
17
+ let serverResponseBanner;
22
18
  let serverRequest;
23
19
  let generateUUIDStub;
24
20
  let triggerPixelStub;
@@ -77,6 +73,27 @@ describe('RelaidoAdapter', function () {
77
73
  uuid: relaido_uuid,
78
74
  }
79
75
  };
76
+ serverResponseBanner = {
77
+ body: {
78
+ status: 'ok',
79
+ ads: [{
80
+ placementId: 100000,
81
+ width: 640,
82
+ height: 360,
83
+ bidId: '2ed93003f7bb99',
84
+ price: 500,
85
+ model: 'vcpm',
86
+ currency: 'JPY',
87
+ creativeId: 1000,
88
+ adTag: '%3Cdiv%3E%3Cimg%20src%3D%22https%3A%2F%2Frelaido%2Ftest.jpg%22%20%2F%3E%3C%2Fdiv%3E',
89
+ syncUrl: 'https://relaido/sync.html',
90
+ adomain: ['relaido.co.jp', 'www.cmertv.co.jp'],
91
+ mediaType: 'banner'
92
+ }],
93
+ syncUrl: 'https://api-dev.ulizaex.com/tr/v1/prebid/sync.html',
94
+ uuid: relaido_uuid,
95
+ }
96
+ };
80
97
  serverRequest = {
81
98
  method: 'POST',
82
99
  data: {
@@ -84,7 +101,8 @@ describe('RelaidoAdapter', function () {
84
101
  bidId: bidRequest.bidId,
85
102
  width: bidRequest.mediaTypes.video.playerSize[0][0] || bidRequest.mediaTypes.video.playerSize[0],
86
103
  height: bidRequest.mediaTypes.video.playerSize[0][1] || bidRequest.mediaTypes.video.playerSize[1],
87
- mediaType: 'video'}]
104
+ mediaType: 'video'
105
+ }]
88
106
  }
89
107
  };
90
108
  });
@@ -127,7 +145,6 @@ describe('RelaidoAdapter', function () {
127
145
  });
128
146
 
129
147
  it('should return true when the required params are passed by banner', function () {
130
- setUAMobile();
131
148
  bidRequest.mediaTypes = {
132
149
  banner: {
133
150
  sizes: [
@@ -136,11 +153,9 @@ describe('RelaidoAdapter', function () {
136
153
  }
137
154
  };
138
155
  expect(spec.isBidRequestValid(bidRequest)).to.equal(true);
139
- setUADefault();
140
156
  });
141
157
 
142
158
  it('should return false when missing 300x250 over and 1x1 by banner', function () {
143
- setUAMobile();
144
159
  bidRequest.mediaTypes = {
145
160
  banner: {
146
161
  sizes: [
@@ -150,11 +165,9 @@ describe('RelaidoAdapter', function () {
150
165
  }
151
166
  };
152
167
  expect(spec.isBidRequestValid(bidRequest)).to.equal(false);
153
- setUADefault();
154
168
  });
155
169
 
156
170
  it('should return true when 300x250 by banner', function () {
157
- setUAMobile();
158
171
  bidRequest.mediaTypes = {
159
172
  banner: {
160
173
  sizes: [
@@ -163,11 +176,9 @@ describe('RelaidoAdapter', function () {
163
176
  }
164
177
  };
165
178
  expect(spec.isBidRequestValid(bidRequest)).to.equal(true);
166
- setUADefault();
167
179
  });
168
180
 
169
181
  it('should return true when 1x1 by banner', function () {
170
- setUAMobile();
171
182
  bidRequest.mediaTypes = {
172
183
  banner: {
173
184
  sizes: [
@@ -176,11 +187,9 @@ describe('RelaidoAdapter', function () {
176
187
  }
177
188
  };
178
189
  expect(spec.isBidRequestValid(bidRequest)).to.equal(true);
179
- setUADefault();
180
190
  });
181
191
 
182
192
  it('should return true when 300x250 over by banner', function () {
183
- setUAMobile();
184
193
  bidRequest.mediaTypes = {
185
194
  banner: {
186
195
  sizes: [
@@ -190,7 +199,6 @@ describe('RelaidoAdapter', function () {
190
199
  }
191
200
  };
192
201
  expect(spec.isBidRequestValid(bidRequest)).to.equal(true);
193
- setUADefault();
194
202
  });
195
203
 
196
204
  it('should return false when the placementId params are missing', function () {
@@ -206,23 +214,10 @@ describe('RelaidoAdapter', function () {
206
214
  });
207
215
 
208
216
  it('should return false when the mediaType banner params are missing', function () {
209
- setUAMobile();
210
217
  bidRequest.mediaTypes = {
211
218
  banner: {}
212
219
  };
213
220
  expect(spec.isBidRequestValid(bidRequest)).to.equal(false);
214
- setUADefault();
215
- });
216
-
217
- it('should return false when the non-mobile', function () {
218
- bidRequest.mediaTypes = {
219
- banner: {
220
- sizes: [
221
- [300, 250]
222
- ]
223
- }
224
- };
225
- expect(spec.isBidRequestValid(bidRequest)).to.equal(false);
226
221
  });
227
222
 
228
223
  it('should return false when the mediaTypes params are missing', function () {
@@ -255,7 +250,6 @@ describe('RelaidoAdapter', function () {
255
250
  });
256
251
 
257
252
  it('should build bid requests by banner', function () {
258
- setUAMobile();
259
253
  bidRequest.mediaTypes = {
260
254
  video: {
261
255
  context: 'outstream',
@@ -275,10 +269,10 @@ describe('RelaidoAdapter', function () {
275
269
  expect(data.bids).to.have.lengthOf(1);
276
270
  const request = data.bids[0];
277
271
  expect(request.media_type).to.equal('banner');
272
+ expect(request.banner_sizes).to.equal('640x360,1x1');
278
273
  });
279
274
 
280
275
  it('should take 1x1 size', function () {
281
- setUAMobile();
282
276
  bidRequest.mediaTypes = {
283
277
  video: {
284
278
  context: 'outstream',
@@ -321,7 +315,7 @@ describe('RelaidoAdapter', function () {
321
315
  });
322
316
 
323
317
  describe('spec.interpretResponse', function () {
324
- it('should build bid response by video', function () {
318
+ it('should build bid response by video and serverResponse contains vast', function () {
325
319
  const bidResponses = spec.interpretResponse(serverResponse, serverRequest);
326
320
  expect(bidResponses).to.have.lengthOf(1);
327
321
  const response = bidResponses[0];
@@ -338,7 +332,7 @@ describe('RelaidoAdapter', function () {
338
332
  expect(response.ad).to.be.undefined;
339
333
  });
340
334
 
341
- it('should build bid response by banner', function () {
335
+ it('should build bid response by banner and serverResponse contains vast', function () {
342
336
  serverResponse.body.ads[0].mediaType = 'banner';
343
337
  const bidResponses = spec.interpretResponse(serverResponse, serverRequest);
344
338
  expect(bidResponses).to.have.lengthOf(1);
@@ -356,6 +350,19 @@ describe('RelaidoAdapter', function () {
356
350
  expect(response.ad).to.include(`window.RelaidoPlayer.renderAd`);
357
351
  });
358
352
 
353
+ it('should build bid response by banner and serverResponse contains adTag', function () {
354
+ const bidResponses = spec.interpretResponse(serverResponseBanner, serverRequest);
355
+ expect(bidResponses).to.have.lengthOf(1);
356
+ const response = bidResponses[0];
357
+ expect(response.requestId).to.equal(serverRequest.data.bids[0].bidId);
358
+ expect(response.cpm).to.equal(serverResponseBanner.body.ads[0].price);
359
+ expect(response.currency).to.equal(serverResponseBanner.body.ads[0].currency);
360
+ expect(response.creativeId).to.equal(serverResponseBanner.body.ads[0].creativeId);
361
+ expect(response.vastXml).to.be.undefined;
362
+ expect(response.playerUrl).to.be.undefined;
363
+ expect(response.ad).to.include(`<div><img src="https://relaido/test.jpg" /></div>`);
364
+ });
365
+
359
366
  it('should build bid response by video and playerUrl in ads', function () {
360
367
  serverResponse.body.ads[0].playerUrl = 'https://relaido/player-customized.js';
361
368
  const bidResponses = spec.interpretResponse(serverResponse, serverRequest);
@@ -7,6 +7,9 @@ import * as utils from 'src/utils.js';
7
7
 
8
8
  const ENDPOINT = 'https://hb.yellowblue.io/hb-multi';
9
9
  const TEST_ENDPOINT = 'https://hb.yellowblue.io/hb-multi-test';
10
+ const RTB_DOMAIN_TEST = 'testseller.com';
11
+ const RTB_DOMAIN_ENDPOINT = `https://${RTB_DOMAIN_TEST}/hb-multi`;
12
+ const RTB_DOMAIN_TEST_ENDPOINT = `https://${RTB_DOMAIN_TEST}/hb-multi-test`;
10
13
  const TTL = 360;
11
14
  /* eslint no-console: ["error", { allow: ["log", "warn", "error"] }] */
12
15
 
@@ -122,6 +125,20 @@ describe('riseAdapter', function () {
122
125
  expect(request.method).to.equal('POST');
123
126
  });
124
127
 
128
+ it('sends bid request to rtbDomain ENDPOINT via POST', function () {
129
+ bidRequests[0].params.rtbDomain = RTB_DOMAIN_TEST;
130
+ const request = spec.buildRequests(bidRequests, bidderRequest);
131
+ expect(request.url).to.equal(RTB_DOMAIN_ENDPOINT);
132
+ expect(request.method).to.equal('POST');
133
+ });
134
+
135
+ it('sends bid request to rtbDomain TEST ENDPOINT via POST', function () {
136
+ testModeBidRequests[0].params.rtbDomain = RTB_DOMAIN_TEST;
137
+ const request = spec.buildRequests(testModeBidRequests, bidderRequest);
138
+ expect(request.url).to.equal(RTB_DOMAIN_TEST_ENDPOINT);
139
+ expect(request.method).to.equal('POST');
140
+ });
141
+
125
142
  it('should send the correct bid Id', function () {
126
143
  const request = spec.buildRequests(bidRequests, bidderRequest);
127
144
  expect(request.data.bids[0].bidId).to.equal('299ffc8cca0b87');
@@ -480,6 +480,8 @@ describe('sharethrough adapter spec', function () {
480
480
  },
481
481
  },
482
482
  },
483
+ bcat: ['IAB1', 'IAB2-1'],
484
+ badv: ['domain1.com', 'domain2.com'],
483
485
  };
484
486
 
485
487
  it('should include first party data in open rtb request, site section', () => {
@@ -493,13 +495,20 @@ describe('sharethrough adapter spec', function () {
493
495
  });
494
496
 
495
497
  it('should include first party data in open rtb request, user section', () => {
496
- const openRtbReq = spec.buildRequests(bidRequests, {...bidderRequest, ortb2: firstPartyData})[0].data;
498
+ const openRtbReq = spec.buildRequests(bidRequests, { ...bidderRequest, ortb2: firstPartyData })[0].data;
497
499
 
498
500
  expect(openRtbReq.user.yob).to.equal(firstPartyData.user.yob);
499
501
  expect(openRtbReq.user.gender).to.equal(firstPartyData.user.gender);
500
502
  expect(openRtbReq.user.ext.data).to.deep.equal(firstPartyData.user.ext.data);
501
503
  expect(openRtbReq.user.ext.eids).not.to.be.undefined;
502
504
  });
505
+
506
+ it('should include first party data in open rtb request, ORTB blocked section', () => {
507
+ const openRtbReq = spec.buildRequests(bidRequests, { ...bidderRequest, ortb2: firstPartyData })[0].data;
508
+
509
+ expect(openRtbReq.bcat).to.deep.equal(firstPartyData.bcat);
510
+ expect(openRtbReq.badv).to.deep.equal(firstPartyData.badv);
511
+ });
503
512
  });
504
513
  });
505
514