prebid.js 9.4.0 → 9.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 (363) hide show
  1. package/.eslintrc.js +31 -5
  2. package/.github/workflows/jscpd.yml +2 -2
  3. package/.github/workflows/linter.yml +107 -0
  4. package/creative/crossDomain.js +6 -3
  5. package/dist/33acrossAnalyticsAdapter.js +1 -1
  6. package/dist/33acrossBidAdapter.js +1 -1
  7. package/dist/33acrossIdSystem.js +1 -1
  8. package/dist/BTBidAdapter.js +1 -1
  9. package/dist/adagioAnalyticsAdapter.js +1 -1
  10. package/dist/adagioBidAdapter.js +1 -1
  11. package/dist/adagioRtdProvider.js +1 -1
  12. package/dist/adagioUtils.js +1 -1
  13. package/dist/addefendBidAdapter.js +1 -1
  14. package/dist/adgenerationBidAdapter.js +1 -1
  15. package/dist/adkernelAdnBidAdapter.js +1 -1
  16. package/dist/adkernelBidAdapter.js +1 -1
  17. package/dist/adkernelUtils.js +1 -0
  18. package/dist/adlooxRtdProvider.js +1 -1
  19. package/dist/admixerBidAdapter.js +1 -1
  20. package/dist/adqueryBidAdapter.js +1 -1
  21. package/dist/adrelevantisBidAdapter.js +1 -1
  22. package/dist/adstirBidAdapter.js +1 -1
  23. package/dist/adtrgtmeBidAdapter.js +1 -1
  24. package/dist/advRedAnalyticsAdapter.js +1 -0
  25. package/dist/adxcgAnalyticsAdapter.js +1 -1
  26. package/dist/adxcgBidAdapter.js +1 -1
  27. package/dist/adyoulikeBidAdapter.js +1 -1
  28. package/dist/agmaAnalyticsAdapter.js +1 -1
  29. package/dist/ajaBidAdapter.js +1 -1
  30. package/dist/akamaiDapRtdProvider.js +1 -1
  31. package/dist/amxBidAdapter.js +1 -1
  32. package/dist/amxIdSystem.js +1 -1
  33. package/dist/anonymisedRtdProvider.js +1 -1
  34. package/dist/apacdexBidAdapter.js +1 -1
  35. package/dist/appierAnalyticsAdapter.js +1 -1
  36. package/dist/appnexusBidAdapter.js +1 -1
  37. package/dist/asoBidAdapter.js +1 -1
  38. package/dist/axonixBidAdapter.js +1 -1
  39. package/dist/azerionedgeRtdProvider.js +1 -1
  40. package/dist/bidglassBidAdapter.js +1 -1
  41. package/dist/big-richmediaBidAdapter.js +1 -1
  42. package/dist/bridBidAdapter.js +1 -1
  43. package/dist/bridgewellBidAdapter.js +1 -1
  44. package/dist/brightMountainMediaBidAdapter.js +1 -1
  45. package/dist/carodaBidAdapter.js +1 -1
  46. package/dist/chtnwBidAdapter.js +1 -1
  47. package/dist/chunk-core.js +1 -1
  48. package/dist/concertBidAdapter.js +1 -1
  49. package/dist/connatixBidAdapter.js +1 -1
  50. package/dist/connectadBidAdapter.js +1 -1
  51. package/dist/consumableBidAdapter.js +1 -1
  52. package/dist/contxtfulRtdProvider.js +1 -1
  53. package/dist/conversantAnalyticsAdapter.js +1 -1
  54. package/dist/conversantBidAdapter.js +1 -1
  55. package/dist/craftBidAdapter.js +1 -1
  56. package/dist/criteoBidAdapter.js +1 -1
  57. package/dist/currencyUtils.js +1 -1
  58. package/dist/cwireBidAdapter.js +1 -1
  59. package/dist/dailymotionBidAdapter.js +1 -1
  60. package/dist/debugging-standalone.js +1 -1
  61. package/dist/dependencies.json +43 -7
  62. package/dist/dfpAdServerVideo.js +1 -1
  63. package/dist/dfpAdpod.js +1 -1
  64. package/dist/dfpUtils.js +1 -1
  65. package/dist/discoveryBidAdapter.js +1 -1
  66. package/dist/dspxBidAdapter.js +1 -1
  67. package/dist/dxkultureBidAdapter.js +1 -1
  68. package/dist/eightPodAnalyticsAdapter.js +1 -1
  69. package/dist/eightPodBidAdapter.js +1 -1
  70. package/dist/eplanningBidAdapter.js +1 -1
  71. package/dist/euidIdSystem.js +1 -1
  72. package/dist/exadsBidAdapter.js +1 -1
  73. package/dist/feedadBidAdapter.js +1 -1
  74. package/dist/finativeBidAdapter.js +1 -1
  75. package/dist/fintezaAnalyticsAdapter.js +1 -1
  76. package/dist/fpdUtils.js +1 -0
  77. package/dist/freewheel-sspBidAdapter.js +1 -1
  78. package/dist/gmosspBidAdapter.js +1 -1
  79. package/dist/goldbachBidAdapter.js +1 -1
  80. package/dist/gptPreAuction.js +1 -1
  81. package/dist/gptUtils.js +1 -1
  82. package/dist/greenbidsAnalyticsAdapter.js +1 -1
  83. package/dist/greenbidsRtdProvider.js +1 -1
  84. package/dist/gridBidAdapter.js +1 -1
  85. package/dist/growthCodeAnalyticsAdapter.js +1 -1
  86. package/dist/growthCodeRtdProvider.js +1 -1
  87. package/dist/gumgumBidAdapter.js +1 -1
  88. package/dist/h12mediaBidAdapter.js +1 -1
  89. package/dist/hypelabBidAdapter.js +1 -1
  90. package/dist/id5AnalyticsAdapter.js +1 -1
  91. package/dist/id5IdSystem.js +1 -1
  92. package/dist/imdsBidAdapter.js +1 -1
  93. package/dist/improvedigitalBidAdapter.js +1 -1
  94. package/dist/insticatorBidAdapter.js +1 -1
  95. package/dist/intentIqAnalyticsAdapter.js +1 -0
  96. package/dist/ixBidAdapter.js +1 -1
  97. package/dist/jixieBidAdapter.js +1 -1
  98. package/dist/justpremiumBidAdapter.js +1 -1
  99. package/dist/jwplayerBidAdapter.js +1 -1
  100. package/dist/jwplayerRtdProvider.js +1 -1
  101. package/dist/kargoBidAdapter.js +1 -1
  102. package/dist/kimberliteBidAdapter.js +1 -1
  103. package/dist/konduitAnalyticsAdapter.js +1 -1
  104. package/dist/kueezBidAdapter.js +1 -1
  105. package/dist/lassoBidAdapter.js +1 -1
  106. package/dist/lifestreetBidAdapter.js +1 -1
  107. package/dist/liveIntentIdSystem.js +1 -1
  108. package/dist/logicadBidAdapter.js +1 -1
  109. package/dist/loglyliftBidAdapter.js +1 -1
  110. package/dist/luceadBidAdapter.js +1 -1
  111. package/dist/mabidderBidAdapter.js +1 -1
  112. package/dist/magniteAnalyticsAdapter.js +1 -1
  113. package/dist/malltvAnalyticsAdapter.js +1 -1
  114. package/dist/marsmediaBidAdapter.js +1 -1
  115. package/dist/mediafuseBidAdapter.js +1 -1
  116. package/dist/mediagoBidAdapter.js +1 -1
  117. package/dist/medianetAnalyticsAdapter.js +1 -1
  118. package/dist/medianetBidAdapter.js +1 -1
  119. package/dist/mediasquareBidAdapter.js +1 -1
  120. package/dist/mgidBidAdapter.js +1 -1
  121. package/dist/minutemediaBidAdapter.js +1 -1
  122. package/dist/missenaBidAdapter.js +1 -1
  123. package/dist/mobianRtdProvider.js +1 -1
  124. package/dist/nextMillenniumBidAdapter.js +1 -1
  125. package/dist/nexx360BidAdapter.js +1 -1
  126. package/dist/nobidAnalyticsAdapter.js +1 -1
  127. package/dist/nobidBidAdapter.js +1 -1
  128. package/dist/not-for-prod/prebid.js +201 -193
  129. package/dist/oguryBidAdapter.js +1 -1
  130. package/dist/onetagBidAdapter.js +1 -1
  131. package/dist/ooloAnalyticsAdapter.js +1 -1
  132. package/dist/openwebBidAdapter.js +1 -1
  133. package/dist/openxBidAdapter.js +1 -1
  134. package/dist/optidigitalBidAdapter.js +1 -1
  135. package/dist/optoutBidAdapter.js +1 -1
  136. package/dist/orbidderBidAdapter.js +1 -1
  137. package/dist/outbrainBidAdapter.js +1 -1
  138. package/dist/paapi.js +1 -1
  139. package/dist/permutiveRtdProvider.js +1 -1
  140. package/dist/pixfutureBidAdapter.js +1 -1
  141. package/dist/playdigoBidAdapter.js +1 -1
  142. package/dist/prebidServerBidAdapter.js +1 -1
  143. package/dist/programmaticaBidAdapter.js +1 -1
  144. package/dist/publinkIdSystem.js +1 -1
  145. package/dist/publirBidAdapter.js +1 -1
  146. package/dist/pubmaticAnalyticsAdapter.js +1 -1
  147. package/dist/pubmaticBidAdapter.js +1 -1
  148. package/dist/pubwiseAnalyticsAdapter.js +1 -1
  149. package/dist/pubxaiAnalyticsAdapter.js +1 -1
  150. package/dist/pxyzBidAdapter.js +1 -1
  151. package/dist/quantcastBidAdapter.js +1 -1
  152. package/dist/readpeakBidAdapter.js +1 -1
  153. package/dist/relaidoBidAdapter.js +1 -1
  154. package/dist/relevatehealthBidAdapter.js +1 -1
  155. package/dist/retailspotBidAdapter.js +1 -1
  156. package/dist/rhythmoneBidAdapter.js +1 -1
  157. package/dist/ringieraxelspringerBidAdapter.js +1 -1
  158. package/dist/riseBidAdapter.js +1 -1
  159. package/dist/rubiconBidAdapter.js +1 -1
  160. package/dist/schainSerializer.js +1 -0
  161. package/dist/seedingAllianceBidAdapter.js +1 -1
  162. package/dist/seedtagBidAdapter.js +1 -1
  163. package/dist/sharethroughAnalyticsAdapter.js +1 -1
  164. package/dist/sharethroughBidAdapter.js +1 -1
  165. package/dist/shinezBidAdapter.js +1 -1
  166. package/dist/sizeMapping.js +1 -1
  167. package/dist/sizeUtils.js +1 -1
  168. package/dist/smaatoBidAdapter.js +1 -1
  169. package/dist/smartadserverBidAdapter.js +1 -1
  170. package/dist/smartxBidAdapter.js +1 -1
  171. package/dist/smilewantedBidAdapter.js +1 -1
  172. package/dist/snigelBidAdapter.js +1 -1
  173. package/dist/sonobiBidAdapter.js +1 -1
  174. package/dist/sovrnBidAdapter.js +1 -1
  175. package/dist/sspBCBidAdapter.js +1 -1
  176. package/dist/stnBidAdapter.js +1 -1
  177. package/dist/stvBidAdapter.js +1 -1
  178. package/dist/sublimeBidAdapter.js +1 -1
  179. package/dist/symitriDapRtdProvider.js +1 -0
  180. package/dist/taboolaBidAdapter.js +1 -1
  181. package/dist/tappxBidAdapter.js +1 -1
  182. package/dist/targetVideoBidAdapter.js +1 -1
  183. package/dist/targetVideoUtils.js +1 -0
  184. package/dist/teadsBidAdapter.js +1 -1
  185. package/dist/terceptAnalyticsAdapter.js +1 -1
  186. package/dist/themoneytizerBidAdapter.js +1 -1
  187. package/dist/trionBidAdapter.js +1 -1
  188. package/dist/tripleliftBidAdapter.js +1 -1
  189. package/dist/ttdBidAdapter.js +1 -1
  190. package/dist/ucfunnelAnalyticsAdapter.js +1 -1
  191. package/dist/uid2IdSystem.js +1 -1
  192. package/dist/underdogmediaBidAdapter.js +1 -1
  193. package/dist/undertoneBidAdapter.js +1 -1
  194. package/dist/unrulyBidAdapter.js +1 -1
  195. package/dist/userAgentUtils.js +1 -0
  196. package/dist/utiqIdSystem.js +1 -1
  197. package/dist/vidazooUtils.js +1 -1
  198. package/dist/videobyteBidAdapter.js +1 -1
  199. package/dist/visxBidAdapter.js +1 -1
  200. package/dist/vuukleBidAdapter.js +1 -1
  201. package/dist/widespaceBidAdapter.js +1 -1
  202. package/dist/winrBidAdapter.js +1 -1
  203. package/dist/yahooAdsBidAdapter.js +1 -1
  204. package/dist/yandexIdSystem.js +1 -1
  205. package/dist/yieldmoBidAdapter.js +1 -1
  206. package/dist/yieldoneAnalyticsAdapter.js +1 -1
  207. package/integrationExamples/gpt/x-domain/creative.html +1 -1
  208. package/libraries/adkernelUtils/adkernelUtils.js +11 -0
  209. package/libraries/currencyUtils/floor.js +23 -0
  210. package/libraries/dfpUtils/dfpUtils.js +7 -0
  211. package/libraries/fpdUtils/deviceInfo.js +58 -0
  212. package/libraries/fpdUtils/pageInfo.js +73 -0
  213. package/libraries/gptUtils/gptUtils.js +23 -1
  214. package/libraries/schainSerializer/schainSerializer.js +24 -0
  215. package/libraries/sizeUtils/tranformSize.js +43 -0
  216. package/libraries/targetVideoUtils/bidderUtils.js +178 -0
  217. package/libraries/targetVideoUtils/constants.js +23 -0
  218. package/libraries/userAgentUtils/index.js +58 -0
  219. package/libraries/userAgentUtils/userAgentTypes.enums.js +22 -0
  220. package/modules/.submodules.json +1 -0
  221. package/modules/33acrossAnalyticsAdapter.js +2 -0
  222. package/modules/adagioBidAdapter.js +1 -1
  223. package/modules/adagioRtdProvider.js +18 -4
  224. package/modules/adkernelAdnBidAdapter.js +1 -12
  225. package/modules/adkernelBidAdapter.js +4 -13
  226. package/modules/adlooxAnalyticsAdapter.js +1 -0
  227. package/modules/admixerBidAdapter.js +10 -6
  228. package/modules/admixerBidAdapter.md +7 -10
  229. package/modules/adtrgtmeBidAdapter.js +1 -1
  230. package/modules/advRedAnalyticsAdapter.js +198 -0
  231. package/modules/advRedAnalyticsAdapter.md +30 -0
  232. package/modules/akamaiDapRtdProvider.js +19 -798
  233. package/modules/anonymisedRtdProvider.js +5 -1
  234. package/modules/anonymisedRtdProvider.md +1 -1
  235. package/modules/apacdexBidAdapter.js +1 -1
  236. package/modules/appnexusBidAdapter.js +56 -2
  237. package/modules/automatadAnalyticsAdapter.js +2 -0
  238. package/modules/azerionedgeRtdProvider.js +13 -3
  239. package/modules/azerionedgeRtdProvider.md +0 -17
  240. package/modules/bridBidAdapter.js +47 -47
  241. package/modules/cleanioRtdProvider.js +1 -0
  242. package/modules/concertBidAdapter.js +1 -1
  243. package/modules/connatixBidAdapter.js +36 -8
  244. package/modules/connectIdSystem.js +3 -1
  245. package/modules/contxtfulRtdProvider.js +20 -2
  246. package/modules/contxtfulRtdProvider.md +1 -0
  247. package/modules/craftBidAdapter.js +1 -1
  248. package/modules/criteoBidAdapter.js +1 -1
  249. package/modules/cwireBidAdapter.js +5 -1
  250. package/modules/dailymotionBidAdapter.js +85 -65
  251. package/modules/debugging/debugging.js +3 -0
  252. package/modules/dfpAdServerVideo.js +15 -33
  253. package/modules/dfpAdpod.js +2 -6
  254. package/modules/dgkeywordRtdProvider.js +2 -0
  255. package/modules/discoveryBidAdapter.js +26 -210
  256. package/modules/dspxBidAdapter.js +176 -54
  257. package/modules/eightPodAnalyticsAdapter.js +28 -34
  258. package/modules/eightPodBidAdapter.js +113 -57
  259. package/modules/fintezaAnalyticsAdapter.js +9 -4
  260. package/modules/goldbachBidAdapter.js +1 -1
  261. package/modules/gptPreAuction.js +63 -4
  262. package/modules/growthCodeAnalyticsAdapter.js +1 -1
  263. package/modules/growthCodeRtdProvider.js +1 -1
  264. package/modules/gumgumBidAdapter.js +14 -10
  265. package/modules/improvedigitalBidAdapter.js +1 -1
  266. package/modules/intentIqAnalyticsAdapter.js +234 -0
  267. package/modules/intentIqAnalyticsAdapter.md +27 -0
  268. package/modules/intentIqIdSystem.md +0 -0
  269. package/modules/jwplayerBidAdapter.js +1 -1
  270. package/modules/jwplayerRtdProvider.js +26 -6
  271. package/modules/jwplayerVideoProvider.js +6 -0
  272. package/modules/mediafuseBidAdapter.js +1 -1
  273. package/modules/mediagoBidAdapter.js +7 -176
  274. package/modules/medianetBidAdapter.js +101 -40
  275. package/modules/mgidBidAdapter.js +3 -1
  276. package/modules/mobianRtdProvider.js +16 -2
  277. package/modules/nextMillenniumBidAdapter.js +1 -27
  278. package/modules/nobidBidAdapter.js +1 -1
  279. package/modules/optoutBidAdapter.js +1 -1
  280. package/modules/paapi.js +48 -35
  281. package/modules/permutiveRtdProvider.js +72 -22
  282. package/modules/playdigoBidAdapter.js +4 -2
  283. package/modules/prebidServerBidAdapter/index.js +4 -2
  284. package/modules/prebidServerBidAdapter/ortbConverter.js +1 -0
  285. package/modules/programmaticaBidAdapter.js +1 -1
  286. package/modules/pubmaticBidAdapter.js +12 -0
  287. package/modules/pubxaiAnalyticsAdapter.js +306 -164
  288. package/modules/relevatehealthBidAdapter.js +2 -1
  289. package/modules/richaudienceBidAdapter.js +1 -1
  290. package/modules/rtdModule/index.js +5 -3
  291. package/modules/sirdataRtdProvider.js +2 -0
  292. package/modules/sizeMapping.js +2 -5
  293. package/modules/smaatoBidAdapter.js +18 -1
  294. package/modules/smilewantedBidAdapter.js +26 -22
  295. package/modules/snigelBidAdapter.js +1 -1
  296. package/modules/sonobiBidAdapter.js +5 -10
  297. package/modules/symitriDapRtdProvider.js +812 -0
  298. package/modules/symitriDapRtdProvider.md +49 -0
  299. package/modules/targetVideoBidAdapter.js +120 -152
  300. package/modules/targetVideoBidAdapter.md +20 -3
  301. package/modules/userId/eids.js +3 -0
  302. package/modules/utiqIdSystem.js +12 -10
  303. package/modules/validationFpdModule/index.js +22 -17
  304. package/modules/videojsVideoProvider.js +3 -0
  305. package/modules/visxBidAdapter.js +1 -1
  306. package/modules/winrBidAdapter.js +2 -27
  307. package/modules/yahooAdsBidAdapter.js +1 -1
  308. package/modules/yandexIdSystem.js +1 -1
  309. package/package.json +4 -4
  310. package/plugins/eslint/index.js +73 -45
  311. package/src/adRendering.js +7 -3
  312. package/src/adloader.js +1 -0
  313. package/src/ajax.js +15 -0
  314. package/src/config.js +0 -4
  315. package/src/debugging.js +1 -0
  316. package/src/secureCreatives.js +1 -1
  317. package/src/storageManager.js +62 -73
  318. package/src/targeting.js +26 -20
  319. package/src/utils.js +9 -0
  320. package/test/pages/banner_sync.html +97 -0
  321. package/test/pages/consent_mgt_gdpr.html +1 -1
  322. package/test/spec/ajax_spec.js +11 -0
  323. package/test/spec/creative/crossDomainCreative_spec.js +26 -9
  324. package/test/spec/e2e/banner/basic_banner_ad.spec.js +20 -14
  325. package/test/spec/fpd/gdpr_spec.js +1 -1
  326. package/test/spec/libraries/userAgentUtils_spec.js +109 -0
  327. package/test/spec/modules/adagioRtdProvider_spec.js +72 -0
  328. package/test/spec/modules/admixerBidAdapter_spec.js +21 -17
  329. package/test/spec/modules/advRedAnalyticsAdapter_spec.js +114 -0
  330. package/test/spec/modules/adxcgBidAdapter_spec.js +1 -1
  331. package/test/spec/modules/appnexusBidAdapter_spec.js +36 -0
  332. package/test/spec/modules/azerionedgeRtdProvider_spec.js +36 -21
  333. package/test/spec/modules/connatixBidAdapter_spec.js +55 -2
  334. package/test/spec/modules/consentManagement_spec.js +1 -1
  335. package/test/spec/modules/contxtfulRtdProvider_spec.js +6 -0
  336. package/test/spec/modules/dailymotionBidAdapter_spec.js +497 -4
  337. package/test/spec/modules/discoveryBidAdapter_spec.js +9 -6
  338. package/test/spec/modules/dspxBidAdapter_spec.js +188 -7
  339. package/test/spec/modules/eightPodAnalyticsAdapter_spec.js +22 -13
  340. package/test/spec/modules/gptPreAuction_spec.js +143 -1
  341. package/test/spec/modules/gumgumBidAdapter_spec.js +17 -0
  342. package/test/spec/modules/intentIqAnalyticsAdapter_spec.js +172 -0
  343. package/test/spec/modules/jwplayerRtdProvider_spec.js +61 -0
  344. package/test/spec/modules/mediagoBidAdapter_spec.js +34 -37
  345. package/test/spec/modules/medianetBidAdapter_spec.js +297 -16
  346. package/test/spec/modules/mgidBidAdapter_spec.js +15 -5
  347. package/test/spec/modules/mobianRtdProvider_spec.js +1 -3
  348. package/test/spec/modules/paapi_spec.js +177 -111
  349. package/test/spec/modules/permutiveRtdProvider_spec.js +42 -8
  350. package/test/spec/modules/prebidServerBidAdapter_spec.js +17 -3
  351. package/test/spec/modules/proxistoreBidAdapter_spec.js +1 -1
  352. package/test/spec/modules/pubmaticBidAdapter_spec.js +40 -0
  353. package/test/spec/modules/pubxaiAnalyticsAdapter_spec.js +970 -603
  354. package/test/spec/modules/pulsepointBidAdapter_spec.js +4 -4
  355. package/test/spec/modules/smaatoBidAdapter_spec.js +36 -1
  356. package/test/spec/modules/smilewantedBidAdapter_spec.js +57 -1
  357. package/test/spec/modules/symitriDapRtdProvider_spec.js +600 -0
  358. package/test/spec/modules/targetVideoBidAdapter_spec.js +112 -11
  359. package/test/spec/modules/yandexIdSystem_spec.js +6 -1
  360. package/test/spec/schainSerializer/schainSerializer_spec.js +138 -0
  361. package/test/spec/unit/core/storageManager_spec.js +68 -51
  362. package/test/spec/utils_spec.js +19 -0
  363. /package/src/utils/{gpdr.js → gdpr.js} +0 -0
@@ -1,7 +1,8 @@
1
1
  import {expect, assert} from 'chai';
2
- import {spec} from 'modules/medianetBidAdapter.js';
2
+ import {spec, EVENT_PIXEL_URL, EVENTS} from 'modules/medianetBidAdapter.js';
3
3
  import { makeSlot } from '../integration/faker/googletag.js';
4
4
  import { config } from 'src/config.js';
5
+ import {server} from '../../mocks/xhr.js';
5
6
 
6
7
  $$PREBID_GLOBAL$$.version = $$PREBID_GLOBAL$$.version || 'version';
7
8
  let VALID_BID_REQUEST = [{
@@ -264,6 +265,72 @@ let VALID_BID_REQUEST = [{
264
265
  'auctionId': 'aafabfd0-28c0-4ac0-aa09-99689e88b81d',
265
266
  'bidRequestsCount': 1
266
267
  }],
268
+ VALID_BID_REQUEST_WITH_USERIDASEIDS = [{
269
+ 'bidder': 'medianet',
270
+ 'params': {
271
+ 'crid': 'crid',
272
+ 'cid': 'customer_id',
273
+ 'site': {
274
+ 'page': 'http://media.net/prebidtest',
275
+ 'domain': 'media.net',
276
+ 'ref': 'http://media.net/prebidtest',
277
+ 'isTop': true
278
+ }
279
+ },
280
+ userIdAsEids: [{
281
+ 'source': 'criteo.com',
282
+ 'uids': [
283
+ {
284
+ 'id': 'VZME3l9ycFFORncwaGJRVUNtUzB1UVhpWVd5TElrR3A5SHVSWXAwSFVPJTJCWiUyRnV2UTBPWjZOZ1ZrWnN4SldxcWUlMkJhUnFmUVNzUVg4N1NsdW84SGpUU1BsUllQSnN5bERMdFdPM2pWVXAlMkZVSSUyQkZsJTJGcktlenpZaHp0YXlvU25INWRQQ2tXciUyRk9PQmdac3RHeG9adDNKVzlRWE51ZyUzRCUzRA',
285
+ 'atype': 1
286
+ }
287
+ ]
288
+ }
289
+ ],
290
+ 'adUnitCode': 'div-gpt-ad-1460505748561-0',
291
+ ortb2Imp: {
292
+ ext: {
293
+ tid: '277b631f-92f5-4844-8b19-ea13c095d3f1',
294
+ }
295
+ },
296
+ 'mediaTypes': {
297
+ 'banner': {
298
+ 'sizes': [[300, 250]],
299
+ }
300
+ },
301
+ 'bidId': '28f8f8130a583e',
302
+ 'bidderRequestId': '1e9b1f07797c1c',
303
+ 'auctionId': 'aafabfd0-28c0-4ac0-aa09-99689e88b81d',
304
+ 'bidRequestsCount': 1
305
+ }, {
306
+ 'bidder': 'medianet',
307
+ 'params': {
308
+ 'crid': 'crid',
309
+ 'cid': 'customer_id',
310
+ 'site': {
311
+ 'page': 'http://media.net/prebidtest',
312
+ 'domain': 'media.net',
313
+ 'ref': 'http://media.net/prebidtest',
314
+ 'isTop': true
315
+ }
316
+ },
317
+ 'adUnitCode': 'div-gpt-ad-1460505748561-123',
318
+ ortb2Imp: {
319
+ ext: {
320
+ tid: 'c52a5c62-3c2b-4b90-9ff8-ec1487754822',
321
+ }
322
+ },
323
+ 'mediaTypes': {
324
+ 'banner': {
325
+ 'sizes': [[300, 251]],
326
+ }
327
+ },
328
+ 'sizes': [[300, 251]],
329
+ 'bidId': '3f97ca71b1e5c2',
330
+ 'bidderRequestId': '1e9b1f07797c1c',
331
+ 'auctionId': 'aafabfd0-28c0-4ac0-aa09-99689e88b81d',
332
+ 'bidRequestsCount': 1
333
+ }],
267
334
 
268
335
  VALID_BID_REQUEST_INVALID_BIDFLOOR = [{
269
336
  'bidder': 'medianet',
@@ -457,7 +524,7 @@ let VALID_BID_REQUEST = [{
457
524
  },
458
525
  'ext': {
459
526
  'customer_id': 'customer_id',
460
- 'prebid_version': $$PREBID_GLOBAL$$.version,
527
+ 'prebid_version': 'v' + '$prebid.version$',
461
528
  'gdpr_applies': false,
462
529
  'usp_applies': false,
463
530
  'coppa_applies': false,
@@ -535,6 +602,7 @@ let VALID_BID_REQUEST = [{
535
602
  }
536
603
  }
537
604
  }],
605
+ 'ortb2': {},
538
606
  'tmax': config.getConfig('bidderTimeout')
539
607
  },
540
608
  VALID_PAYLOAD_NATIVE = {
@@ -547,7 +615,7 @@ let VALID_BID_REQUEST = [{
547
615
  },
548
616
  'ext': {
549
617
  'customer_id': 'customer_id',
550
- 'prebid_version': $$PREBID_GLOBAL$$.version,
618
+ 'prebid_version': 'v' + '$prebid.version$',
551
619
  'gdpr_applies': false,
552
620
  'usp_applies': false,
553
621
  'coppa_applies': false,
@@ -626,6 +694,7 @@ let VALID_BID_REQUEST = [{
626
694
  }
627
695
  }
628
696
  }],
697
+ 'ortb2': {},
629
698
  'tmax': config.getConfig('bidderTimeout')
630
699
  },
631
700
  VALID_PAYLOAD = {
@@ -638,7 +707,7 @@ let VALID_BID_REQUEST = [{
638
707
  },
639
708
  'ext': {
640
709
  'customer_id': 'customer_id',
641
- 'prebid_version': $$PREBID_GLOBAL$$.version,
710
+ 'prebid_version': 'v' + '$prebid.version$',
642
711
  'gdpr_applies': false,
643
712
  'usp_applies': false,
644
713
  'coppa_applies': false,
@@ -715,6 +784,7 @@ let VALID_BID_REQUEST = [{
715
784
  }
716
785
  }
717
786
  }],
787
+ 'ortb2': {},
718
788
  'tmax': config.getConfig('bidderTimeout')
719
789
  },
720
790
  VALID_PAYLOAD_WITH_USERID = {
@@ -727,7 +797,7 @@ let VALID_BID_REQUEST = [{
727
797
  },
728
798
  'ext': {
729
799
  'customer_id': 'customer_id',
730
- 'prebid_version': $$PREBID_GLOBAL$$.version,
800
+ 'prebid_version': 'v' + '$prebid.version$',
731
801
  'gdpr_applies': false,
732
802
  'user_id': {
733
803
  britepoolid: '82efd5e1-816b-4f87-97f8-044f407e2911'
@@ -811,6 +881,114 @@ let VALID_BID_REQUEST = [{
811
881
  }
812
882
  }
813
883
  }],
884
+ 'ortb2': {},
885
+ 'tmax': config.getConfig('bidderTimeout')
886
+ },
887
+ VALID_PAYLOAD_WITH_USERIDASEIDS = {
888
+ 'site': {
889
+ 'page': 'http://media.net/prebidtest',
890
+ 'domain': 'media.net',
891
+ 'ref': 'http://media.net/prebidtest',
892
+ 'topMostLocation': 'http://media.net/topmost',
893
+ 'isTop': true
894
+ },
895
+ 'ext': {
896
+ 'customer_id': 'customer_id',
897
+ 'prebid_version': 'v' + '$prebid.version$',
898
+ 'gdpr_applies': false,
899
+ 'usp_applies': false,
900
+ 'coppa_applies': false,
901
+ 'screen': {
902
+ 'w': 1000,
903
+ 'h': 1000
904
+ }
905
+ },
906
+ 'id': 'aafabfd0-28c0-4ac0-aa09-99689e88b81d',
907
+ 'imp': [{
908
+ 'id': '28f8f8130a583e',
909
+ ortb2Imp: VALID_BID_REQUEST_WITH_USERID[0].ortb2Imp,
910
+ 'transactionId': '277b631f-92f5-4844-8b19-ea13c095d3f1',
911
+ 'tagid': 'crid',
912
+ 'ext': {
913
+ 'dfp_id': 'div-gpt-ad-1460505748561-0',
914
+ 'visibility': 1,
915
+ 'viewability': 1,
916
+ 'coordinates': {
917
+ 'top_left': {
918
+ x: 50,
919
+ y: 50
920
+ },
921
+ 'bottom_right': {
922
+ x: 100,
923
+ y: 100
924
+ }
925
+ },
926
+ 'display_count': 1
927
+ },
928
+ 'banner': [{
929
+ 'w': 300,
930
+ 'h': 250
931
+ }],
932
+ 'all': {
933
+ 'cid': 'customer_id',
934
+ 'crid': 'crid',
935
+ 'site': {
936
+ 'page': 'http://media.net/prebidtest',
937
+ 'domain': 'media.net',
938
+ 'ref': 'http://media.net/prebidtest',
939
+ 'isTop': true
940
+ }
941
+ }
942
+ }, {
943
+ 'id': '3f97ca71b1e5c2',
944
+ ortb2Imp: VALID_BID_REQUEST_WITH_USERID[1].ortb2Imp,
945
+ 'transactionId': 'c52a5c62-3c2b-4b90-9ff8-ec1487754822',
946
+ 'tagid': 'crid',
947
+ 'ext': {
948
+ 'dfp_id': 'div-gpt-ad-1460505748561-123',
949
+ 'visibility': 1,
950
+ 'viewability': 1,
951
+ 'coordinates': {
952
+ 'top_left': {
953
+ x: 50,
954
+ y: 50
955
+ },
956
+ 'bottom_right': {
957
+ x: 100,
958
+ y: 100
959
+ }
960
+ },
961
+ 'display_count': 1
962
+ },
963
+ 'banner': [{
964
+ 'w': 300,
965
+ 'h': 251
966
+ }],
967
+ 'all': {
968
+ 'cid': 'customer_id',
969
+ 'crid': 'crid',
970
+ 'site': {
971
+ 'page': 'http://media.net/prebidtest',
972
+ 'domain': 'media.net',
973
+ 'ref': 'http://media.net/prebidtest',
974
+ 'isTop': true
975
+ }
976
+ }
977
+ }],
978
+ 'ortb2': {
979
+ 'user': {
980
+ 'ext': {
981
+ 'eids': [{
982
+ 'source': 'criteo.com',
983
+ 'uids': [{
984
+ 'id': 'VZME3l9ycFFORncwaGJRVUNtUzB1UVhpWVd5TElrR3A5SHVSWXAwSFVPJTJCWiUyRnV2UTBPWjZOZ1ZrWnN4SldxcWUlMkJhUnFmUVNzUVg4N1NsdW84SGpUU1BsUllQSnN5bERMdFdPM2pWVXAlMkZVSSUyQkZsJTJGcktlenpZaHp0YXlvU25INWRQQ2tXciUyRk9PQmdac3RHeG9adDNKVzlRWE51ZyUzRCUzRA',
985
+ 'atype': 1
986
+ }
987
+ ]
988
+ }]
989
+ }
990
+ },
991
+ },
814
992
  'tmax': config.getConfig('bidderTimeout')
815
993
  },
816
994
  VALID_PAYLOAD_WITH_CRID = {
@@ -823,7 +1001,7 @@ let VALID_BID_REQUEST = [{
823
1001
  },
824
1002
  'ext': {
825
1003
  'customer_id': 'customer_id',
826
- 'prebid_version': $$PREBID_GLOBAL$$.version,
1004
+ 'prebid_version': 'v' + '$prebid.version$',
827
1005
  'gdpr_applies': false,
828
1006
  'usp_applies': false,
829
1007
  'coppa_applies': true,
@@ -904,6 +1082,7 @@ let VALID_BID_REQUEST = [{
904
1082
  }
905
1083
  }
906
1084
  }],
1085
+ 'ortb2': {},
907
1086
  'tmax': config.getConfig('bidderTimeout')
908
1087
  },
909
1088
  // Protected Audience API Valid Payload
@@ -917,7 +1096,7 @@ let VALID_BID_REQUEST = [{
917
1096
  },
918
1097
  'ext': {
919
1098
  'customer_id': 'customer_id',
920
- 'prebid_version': $$PREBID_GLOBAL$$.version,
1099
+ 'prebid_version': 'v' + '$prebid.version$',
921
1100
  'gdpr_applies': false,
922
1101
  'usp_applies': false,
923
1102
  'coppa_applies': false,
@@ -973,6 +1152,7 @@ let VALID_BID_REQUEST = [{
973
1152
  'tagid': 'crid'
974
1153
  }
975
1154
  ],
1155
+ 'ortb2': {},
976
1156
  'tmax': 3000
977
1157
  },
978
1158
 
@@ -1451,7 +1631,7 @@ let VALID_BID_REQUEST = [{
1451
1631
  },
1452
1632
  'ext': {
1453
1633
  'customer_id': 'customer_id',
1454
- 'prebid_version': $$PREBID_GLOBAL$$.version,
1634
+ 'prebid_version': 'v' + '$prebid.version$',
1455
1635
  'gdpr_consent_string': 'consentString',
1456
1636
  'gdpr_applies': true,
1457
1637
  'usp_applies': true,
@@ -1530,6 +1710,7 @@ let VALID_BID_REQUEST = [{
1530
1710
  }
1531
1711
  }
1532
1712
  }],
1713
+ 'ortb2': {},
1533
1714
  'tmax': 3000,
1534
1715
  },
1535
1716
  VALID_BIDDER_REQUEST_WITH_GPP_IN_ORTB2 = {
@@ -1559,7 +1740,7 @@ let VALID_BID_REQUEST = [{
1559
1740
  },
1560
1741
  'ext': {
1561
1742
  'customer_id': 'customer_id',
1562
- 'prebid_version': $$PREBID_GLOBAL$$.version,
1743
+ 'prebid_version': 'v' + '$prebid.version$',
1563
1744
  'gdpr_applies': false,
1564
1745
  'usp_applies': false,
1565
1746
  'coppa_applies': false,
@@ -1767,6 +1948,11 @@ describe('Media.net bid adapter', function () {
1767
1948
  expect(JSON.parse(bidReq.data)).to.deep.equal(VALID_PAYLOAD_WITH_USERID);
1768
1949
  });
1769
1950
 
1951
+ it('should have userIdAsEids in bid request', function () {
1952
+ let bidReq = spec.buildRequests(VALID_BID_REQUEST_WITH_USERIDASEIDS, VALID_AUCTIONDATA);
1953
+ expect(JSON.parse(bidReq.data)).to.deep.equal(VALID_PAYLOAD_WITH_USERIDASEIDS);
1954
+ });
1955
+
1770
1956
  it('should have valid payload when PAAPI is enabled', function () {
1771
1957
  let bidReq = spec.buildRequests(VALID_BID_REQUEST_WITH_AE_IN_ORTB2IMP, {...VALID_AUCTIONDATA, paapi: {enabled: true}});
1772
1958
  expect(JSON.parse(bidReq.data)).to.deep.equal(VALID_PAYLOAD_PAAPI);
@@ -1782,7 +1968,7 @@ describe('Media.net bid adapter', function () {
1782
1968
 
1783
1969
  describe('build requests: when page meta-data is available', () => {
1784
1970
  beforeEach(() => {
1785
- spec.clearMnData();
1971
+ spec.clearPageMeta();
1786
1972
  });
1787
1973
  it('should pass canonical, twitter and fb paramters if available', () => {
1788
1974
  let documentStub = sandbox.stub(window.top.document, 'querySelector');
@@ -1983,16 +2169,111 @@ describe('Media.net bid adapter', function () {
1983
2169
  });
1984
2170
 
1985
2171
  describe('onTimeout', function () {
1986
- it('should have valid timeout data', function() {
1987
- let response = spec.onTimeout({});
1988
- expect(response).to.deep.equal(undefined);
2172
+ it('onTimeout exist as a function', () => {
2173
+ assert.typeOf(spec.onTimeout, 'function');
2174
+ });
2175
+ it('should send timeout data correctly', function () {
2176
+ const timeoutData = [{
2177
+ bidder: 'medianet',
2178
+ bidId: 'mnet-4644-442a-b5e0-93f268cf8d19',
2179
+ adUnitCode: 'adUnit-code',
2180
+ timeout: 3000,
2181
+ auctionId: '12a34b56c'
2182
+ }];
2183
+ sandbox.stub(window.navigator, 'sendBeacon').returns(false);
2184
+
2185
+ spec.onTimeout(timeoutData);
2186
+ const reqBody = new URLSearchParams(server.requests[0].requestBody);
2187
+
2188
+ assert.equal(server.requests[0].method, 'POST');
2189
+ assert.equal(server.requests[0].url, EVENT_PIXEL_URL);
2190
+ assert.equal(reqBody.get('event'), EVENTS.TIMEOUT_EVENT_NAME);
2191
+ assert.equal(reqBody.get('rd'), timeoutData[0].timeout.toString());
2192
+ assert.equal(reqBody.get('acid[]'), timeoutData[0].auctionId);
1989
2193
  });
1990
2194
  });
1991
2195
 
1992
2196
  describe('onBidWon', function () {
1993
- it('should have valid bid data', function() {
1994
- let response = spec.onBidWon(undefined);
1995
- expect(response).to.deep.equal(undefined);
2197
+ it('onBidWon exist as a function', () => {
2198
+ assert.typeOf(spec.onBidWon, 'function');
2199
+ });
2200
+ it('should send winning bid data correctly', function () {
2201
+ const bid = {
2202
+ bidder: 'medianet',
2203
+ bidId: 'mnet-4644-442a-b5e0-93f268cf8d19',
2204
+ adUnitCode: 'adUnit-code',
2205
+ timeout: 3000,
2206
+ auctionId: '12a34b56c',
2207
+ cpm: 12.24
2208
+ };
2209
+ sandbox.stub(window.navigator, 'sendBeacon').returns(false);
2210
+
2211
+ spec.onBidWon(bid);
2212
+ const reqBody = new URLSearchParams(server.requests[0].requestBody);
2213
+
2214
+ assert.equal(server.requests[0].method, 'POST');
2215
+ assert.equal(server.requests[0].url, EVENT_PIXEL_URL);
2216
+ assert.equal(reqBody.get('event'), EVENTS.BID_WON_EVENT_NAME);
2217
+ assert.equal(reqBody.get('value'), bid.cpm.toString());
2218
+ assert.equal(reqBody.get('acid[]'), bid.auctionId);
2219
+ });
2220
+ });
2221
+
2222
+ describe('onSetTargeting', function () {
2223
+ it('onSetTargeting exist as a function', () => {
2224
+ assert.typeOf(spec.onSetTargeting, 'function');
2225
+ });
2226
+ it('should send targeting data correctly', function () {
2227
+ const bid = {
2228
+ bidder: 'medianet',
2229
+ bidId: 'mnet-4644-442a-b5e0-93f268cf8d19',
2230
+ adUnitCode: 'adUnit-code',
2231
+ timeout: 3000,
2232
+ auctionId: '12a34b56c',
2233
+ cpm: 12.24
2234
+ };
2235
+ sandbox.stub(window.navigator, 'sendBeacon').returns(false);
2236
+ sandbox.stub(config, 'getConfig').withArgs('enableSendAllBids').returns(false);
2237
+
2238
+ spec.onSetTargeting(bid);
2239
+ const reqBody = new URLSearchParams(server.requests[0].requestBody);
2240
+
2241
+ assert.equal(server.requests[0].method, 'POST');
2242
+ assert.equal(server.requests[0].url, EVENT_PIXEL_URL);
2243
+ assert.equal(reqBody.get('event'), EVENTS.SET_TARGETING);
2244
+ assert.equal(reqBody.get('value'), bid.cpm.toString());
2245
+ assert.equal(reqBody.get('acid[]'), bid.auctionId);
2246
+ });
2247
+ });
2248
+
2249
+ describe('onBidderError', function () {
2250
+ it('onBidderError exist as a function', () => {
2251
+ assert.typeOf(spec.onBidderError, 'function');
2252
+ });
2253
+ it('should send bidderError data correctly', function () {
2254
+ const error = {
2255
+ reason: {message: 'Failed to fetch', status: 500},
2256
+ timedOut: true,
2257
+ status: 0
2258
+ }
2259
+ const bids = [{
2260
+ bidder: 'medianet',
2261
+ bidId: 'mnet-4644-442a-b5e0-93f268cf8d19',
2262
+ adUnitCode: 'adUnit-code',
2263
+ timeout: 3000,
2264
+ auctionId: '12a34b56c',
2265
+ cpm: 12.24
2266
+ }];
2267
+ sandbox.stub(window.navigator, 'sendBeacon').returns(false);
2268
+
2269
+ spec.onBidderError({error, bidderRequest: {bids}});
2270
+ const reqBody = new URLSearchParams(server.requests[0].requestBody);
2271
+
2272
+ assert.equal(server.requests[0].method, 'POST');
2273
+ assert.equal(server.requests[0].url, EVENT_PIXEL_URL);
2274
+ assert.equal(reqBody.get('event'), EVENTS.BIDDER_ERROR);
2275
+ assert.equal(reqBody.get('rd'), `timedOut:${error.timedOut}|status:${error.status}|message:${error.reason.message}`);
2276
+ assert.equal(reqBody.get('acid[]'), bids[0].auctionId);
1996
2277
  });
1997
2278
  });
1998
2279
 
@@ -320,6 +320,14 @@ describe('Mgid bid adapter', function () {
320
320
  let abid = {
321
321
  adUnitCode: 'div',
322
322
  bidder: 'mgid',
323
+ ortb2Imp: {
324
+ ext: {
325
+ gpid: '/1111/gpid',
326
+ data: {
327
+ pbadslot: '/1111/gpid',
328
+ }
329
+ }
330
+ },
323
331
  params: {
324
332
  accountId: '1',
325
333
  placementId: '2',
@@ -447,12 +455,13 @@ describe('Mgid bid adapter', function () {
447
455
  expect(data.device.w).equal(screenWidth);
448
456
  expect(data.device.language).to.deep.equal(lang);
449
457
  expect(data.imp[0].tagid).to.deep.equal('2/div');
458
+ expect(data.imp[0].ext.gpid).to.deep.equal('/1111/gpid');
450
459
  expect(data.imp[0].banner).to.deep.equal({w: 300, h: 250});
451
460
  expect(data.imp[0].secure).to.deep.equal(secure);
452
461
  expect(request).to.deep.equal({
453
462
  'method': 'POST',
454
463
  'url': 'https://prebid.mgid.com/prebid/1',
455
- 'data': `{"site":{"domain":"${domain}","page":"${page}"},"cur":["USD"],"geo":{"utcoffset":${utcOffset}},"device":{"ua":"${ua}","js":1,"dnt":${dnt},"h":${screenHeight},"w":${screenWidth},"language":"${lang}"},"ext":{"mgid_ver":"${mgid_ver}","prebid_ver":"${version}"},"imp":[{"tagid":"2/div","secure":${secure},"banner":{"w":300,"h":250}}],"tmax":3000}`,
464
+ 'data': `{"site":{"domain":"${domain}","page":"${page}"},"cur":["USD"],"geo":{"utcoffset":${utcOffset}},"device":{"ua":"${ua}","js":1,"dnt":${dnt},"h":${screenHeight},"w":${screenWidth},"language":"${lang}"},"ext":{"mgid_ver":"${mgid_ver}","prebid_ver":"${version}"},"imp":[{"tagid":"2/div","secure":${secure},"ext":{"gpid":"/1111/gpid"},"banner":{"w":300,"h":250}}],"tmax":3000}`,
456
465
  });
457
466
  });
458
467
  it('should not return native imp if minimum asset list not requested', function () {
@@ -496,12 +505,13 @@ describe('Mgid bid adapter', function () {
496
505
  expect(data.device.w).equal(screenWidth);
497
506
  expect(data.device.language).to.deep.equal(lang);
498
507
  expect(data.imp[0].tagid).to.deep.equal('2/div');
508
+ expect(data.imp[0].ext.gpid).to.deep.equal('/1111/gpid');
499
509
  expect(data.imp[0].native).is.a('object').and.to.deep.equal({'request': {'assets': [{'id': 1, 'required': 1, 'title': {'len': 80}}, {'id': 2, 'img': {'h': 80, 'type': 3, 'w': 80}, 'required': 0}, {'data': {'type': 1}, 'id': 11, 'required': 0}], 'plcmtcnt': 1}});
500
510
  expect(data.imp[0].secure).to.deep.equal(secure);
501
511
  expect(request).to.deep.equal({
502
512
  'method': 'POST',
503
513
  'url': 'https://prebid.mgid.com/prebid/1',
504
- 'data': `{"site":{"domain":"${domain}","page":"${page}"},"cur":["USD"],"geo":{"utcoffset":${utcOffset}},"device":{"ua":"${ua}","js":1,"dnt":${dnt},"h":${screenHeight},"w":${screenWidth},"language":"${lang}"},"ext":{"mgid_ver":"${mgid_ver}","prebid_ver":"${version}"},"imp":[{"tagid":"2/div","secure":${secure},"native":{"request":{"plcmtcnt":1,"assets":[{"id":1,"required":1,"title":{"len":80}},{"id":2,"required":0,"img":{"type":3,"w":80,"h":80}},{"id":11,"required":0,"data":{"type":1}}]}}}],"tmax":3000}`,
514
+ 'data': `{"site":{"domain":"${domain}","page":"${page}"},"cur":["USD"],"geo":{"utcoffset":${utcOffset}},"device":{"ua":"${ua}","js":1,"dnt":${dnt},"h":${screenHeight},"w":${screenWidth},"language":"${lang}"},"ext":{"mgid_ver":"${mgid_ver}","prebid_ver":"${version}"},"imp":[{"tagid":"2/div","secure":${secure},"ext":{"gpid":"/1111/gpid"},"native":{"request":{"plcmtcnt":1,"assets":[{"id":1,"required":1,"title":{"len":80}},{"id":2,"required":0,"img":{"type":3,"w":80,"h":80}},{"id":11,"required":0,"data":{"type":1}}]}}}],"tmax":3000}`,
505
515
  });
506
516
  });
507
517
  it('should return proper native imp with image altered', function () {
@@ -538,7 +548,7 @@ describe('Mgid bid adapter', function () {
538
548
  expect(request).to.deep.equal({
539
549
  'method': 'POST',
540
550
  'url': 'https://prebid.mgid.com/prebid/1',
541
- 'data': `{"site":{"domain":"${domain}","page":"${page}"},"cur":["USD"],"geo":{"utcoffset":${utcOffset}},"device":{"ua":"${ua}","js":1,"dnt":${dnt},"h":${screenHeight},"w":${screenWidth},"language":"${lang}"},"ext":{"mgid_ver":"${mgid_ver}","prebid_ver":"${version}"},"imp":[{"tagid":"2/div","secure":${secure},"native":{"request":{"plcmtcnt":1,"assets":[{"id":1,"required":1,"title":{"len":80}},{"id":2,"required":1,"img":{"type":3,"w":492,"h":328,"wmin":50,"hmin":50}},{"id":3,"required":0,"img":{"type":1,"w":50,"h":50}},{"id":11,"required":0,"data":{"type":1}}]}}}],"tmax":3000}`,
551
+ 'data': `{"site":{"domain":"${domain}","page":"${page}"},"cur":["USD"],"geo":{"utcoffset":${utcOffset}},"device":{"ua":"${ua}","js":1,"dnt":${dnt},"h":${screenHeight},"w":${screenWidth},"language":"${lang}"},"ext":{"mgid_ver":"${mgid_ver}","prebid_ver":"${version}"},"imp":[{"tagid":"2/div","secure":${secure},"ext":{"gpid":"/1111/gpid"},"native":{"request":{"plcmtcnt":1,"assets":[{"id":1,"required":1,"title":{"len":80}},{"id":2,"required":1,"img":{"type":3,"w":492,"h":328,"wmin":50,"hmin":50}},{"id":3,"required":0,"img":{"type":1,"w":50,"h":50}},{"id":11,"required":0,"data":{"type":1}}]}}}],"tmax":3000}`,
542
552
  });
543
553
  });
544
554
  it('should return proper native imp with sponsoredBy', function () {
@@ -574,7 +584,7 @@ describe('Mgid bid adapter', function () {
574
584
  expect(request).to.deep.equal({
575
585
  'method': 'POST',
576
586
  'url': 'https://prebid.mgid.com/prebid/1',
577
- 'data': `{"site":{"domain":"${domain}","page":"${page}"},"cur":["USD"],"geo":{"utcoffset":${utcOffset}},"device":{"ua":"${ua}","js":1,"dnt":${dnt},"h":${screenHeight},"w":${screenWidth},"language":"${lang}"},"ext":{"mgid_ver":"${mgid_ver}","prebid_ver":"${version}"},"imp":[{"tagid":"2/div","secure":${secure},"native":{"request":{"plcmtcnt":1,"assets":[{"id":1,"required":1,"title":{"len":80}},{"id":2,"required":0,"img":{"type":3,"w":80,"h":80}},{"id":4,"required":0,"data":{"type":1}}]}}}],"tmax":3000}`,
587
+ 'data': `{"site":{"domain":"${domain}","page":"${page}"},"cur":["USD"],"geo":{"utcoffset":${utcOffset}},"device":{"ua":"${ua}","js":1,"dnt":${dnt},"h":${screenHeight},"w":${screenWidth},"language":"${lang}"},"ext":{"mgid_ver":"${mgid_ver}","prebid_ver":"${version}"},"imp":[{"tagid":"2/div","secure":${secure},"ext":{"gpid":"/1111/gpid"},"native":{"request":{"plcmtcnt":1,"assets":[{"id":1,"required":1,"title":{"len":80}},{"id":2,"required":0,"img":{"type":3,"w":80,"h":80}},{"id":4,"required":0,"data":{"type":1}}]}}}],"tmax":3000}`,
578
588
  });
579
589
  });
580
590
  it('should return proper banner request', function () {
@@ -608,7 +618,7 @@ describe('Mgid bid adapter', function () {
608
618
  expect(request).to.deep.equal({
609
619
  'method': 'POST',
610
620
  'url': 'https://prebid.mgid.com/prebid/1',
611
- 'data': `{"site":{"domain":"${domain}","page":"${page}"},"cur":["USD"],"geo":{"utcoffset":${utcOffset}},"device":{"ua":"${ua}","js":1,"dnt":${dnt},"h":${screenHeight},"w":${screenWidth},"language":"${lang}"},"ext":{"mgid_ver":"${mgid_ver}","prebid_ver":"${version}"},"imp":[{"tagid":"2/div","secure":${secure},"banner":{"w":300,"h":600,"format":[{"w":300,"h":600},{"w":300,"h":250}],"pos":1}}],"tmax":3000}`,
621
+ 'data': `{"site":{"domain":"${domain}","page":"${page}"},"cur":["USD"],"geo":{"utcoffset":${utcOffset}},"device":{"ua":"${ua}","js":1,"dnt":${dnt},"h":${screenHeight},"w":${screenWidth},"language":"${lang}"},"ext":{"mgid_ver":"${mgid_ver}","prebid_ver":"${version}"},"imp":[{"tagid":"2/div","secure":${secure},"ext":{"gpid":"/1111/gpid"},"banner":{"w":300,"h":600,"format":[{"w":300,"h":600},{"w":300,"h":250}],"pos":1}}],"tmax":3000}`,
612
622
  });
613
623
  });
614
624
  it('should proper handle ortb2 data', function () {
@@ -12,9 +12,7 @@ describe('Mobian RTD Submodule', function () {
12
12
  ortb2Fragments: {
13
13
  global: {
14
14
  site: {
15
- ext: {
16
- data: {}
17
- }
15
+ ext: {}
18
16
  }
19
17
  }
20
18
  }