prebid.js 7.44.0 → 7.46.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 (309) hide show
  1. package/dist/33acrossBidAdapter.js +1 -1
  2. package/dist/33acrossIdSystem.js +1 -1
  3. package/dist/acuityAdsBidAdapter.js +1 -1
  4. package/dist/adagioBidAdapter.js +1 -1
  5. package/dist/adbookpspBidAdapter.js +1 -1
  6. package/dist/adgenerationBidAdapter.js +1 -1
  7. package/dist/admaticBidAdapter.js +1 -1
  8. package/dist/adnuntiusBidAdapter.js +1 -1
  9. package/dist/adrelevantisBidAdapter.js +1 -1
  10. package/dist/adtrgtmeBidAdapter.js +1 -1
  11. package/dist/adxcgBidAdapter.js +1 -1
  12. package/dist/adyoulikeBidAdapter.js +1 -1
  13. package/dist/ajaBidAdapter.js +1 -1
  14. package/dist/amxBidAdapter.js +1 -1
  15. package/dist/amxIdSystem.js +1 -1
  16. package/dist/appierAnalyticsAdapter.js +1 -1
  17. package/dist/appnexusBidAdapter.js +1 -1
  18. package/dist/appushBidAdapter.js +1 -1
  19. package/dist/asoBidAdapter.js +1 -1
  20. package/dist/axonixBidAdapter.js +1 -1
  21. package/dist/beyondmediaBidAdapter.js +1 -1
  22. package/dist/bidglassBidAdapter.js +1 -1
  23. package/dist/bidwatchAnalyticsAdapter.js +1 -1
  24. package/dist/big-richmediaBidAdapter.js +1 -1
  25. package/dist/braveBidAdapter.js +1 -1
  26. package/dist/bridgewellBidAdapter.js +1 -1
  27. package/dist/brightMountainMediaBidAdapter.js +1 -1
  28. package/dist/brightcomBidAdapter.js +1 -1
  29. package/dist/brightcomSSPBidAdapter.js +1 -1
  30. package/dist/carodaBidAdapter.js +1 -1
  31. package/dist/chtnwBidAdapter.js +1 -1
  32. package/dist/coinzillaBidAdapter.js +1 -1
  33. package/dist/compassBidAdapter.js +1 -1
  34. package/dist/concertBidAdapter.js +1 -1
  35. package/dist/connectIdSystem.js +1 -1
  36. package/dist/connectadBidAdapter.js +1 -1
  37. package/dist/consumableBidAdapter.js +1 -1
  38. package/dist/contentexchangeBidAdapter.js +1 -1
  39. package/dist/conversantAnalyticsAdapter.js +1 -1
  40. package/dist/conversantBidAdapter.js +1 -1
  41. package/dist/craftBidAdapter.js +1 -1
  42. package/dist/criteoBidAdapter.js +1 -1
  43. package/dist/cwireBidAdapter.js +1 -1
  44. package/dist/debugging-standalone.js +1 -1
  45. package/dist/dependencies.json +15 -0
  46. package/dist/domainOverrideToRootDomain.js +1 -0
  47. package/dist/dspxBidAdapter.js +1 -1
  48. package/dist/eplanningBidAdapter.js +1 -1
  49. package/dist/eskimiBidAdapter.js +1 -0
  50. package/dist/feedadBidAdapter.js +1 -1
  51. package/dist/finativeBidAdapter.js +1 -1
  52. package/dist/freewheel-sspBidAdapter.js +1 -1
  53. package/dist/glimpseBidAdapter.js +1 -1
  54. package/dist/globalsunBidAdapter.js +1 -1
  55. package/dist/gmosspBidAdapter.js +1 -1
  56. package/dist/goldbachBidAdapter.js +1 -1
  57. package/dist/greenbidsAnalyticsAdapter.js +1 -1
  58. package/dist/gridBidAdapter.js +1 -1
  59. package/dist/growthCodeIdSystem.js +1 -1
  60. package/dist/gumgumBidAdapter.js +1 -1
  61. package/dist/h12mediaBidAdapter.js +1 -1
  62. package/dist/id5IdSystem.js +1 -1
  63. package/dist/improvedigitalBidAdapter.js +1 -1
  64. package/dist/inmarBidAdapter.js +1 -1
  65. package/dist/insticatorBidAdapter.js +1 -1
  66. package/dist/iqzoneBidAdapter.js +1 -1
  67. package/dist/ivsBidAdapter.js +1 -0
  68. package/dist/ixBidAdapter.js +1 -1
  69. package/dist/justpremiumBidAdapter.js +1 -1
  70. package/dist/jwplayerVideoProvider.js +1 -1
  71. package/dist/kargoBidAdapter.js +1 -1
  72. package/dist/koblerBidAdapter.js +1 -1
  73. package/dist/konduitAnalyticsAdapter.js +1 -1
  74. package/dist/kueezBidAdapter.js +1 -1
  75. package/dist/kueezRtbBidAdapter.js +1 -1
  76. package/dist/kulturemediaBidAdapter.js +1 -1
  77. package/dist/lassoBidAdapter.js +1 -1
  78. package/dist/lifestreetBidAdapter.js +1 -1
  79. package/dist/liveIntentIdSystem.js +1 -1
  80. package/dist/liveyieldAnalyticsAdapter.js +1 -1
  81. package/dist/logicadBidAdapter.js +1 -1
  82. package/dist/loglyliftBidAdapter.js +1 -1
  83. package/dist/luponmediaBidAdapter.js +1 -1
  84. package/dist/magniteAnalyticsAdapter.js +1 -1
  85. package/dist/malltvAnalyticsAdapter.js +1 -1
  86. package/dist/marsmediaBidAdapter.js +1 -1
  87. package/dist/mathildeadsBidAdapter.js +1 -1
  88. package/dist/mediafuseBidAdapter.js +1 -1
  89. package/dist/medianetBidAdapter.js +1 -1
  90. package/dist/mediasquareBidAdapter.js +1 -1
  91. package/dist/mgidBidAdapter.js +1 -1
  92. package/dist/minutemediaBidAdapter.js +1 -1
  93. package/dist/minutemediaplusBidAdapter.js +1 -1
  94. package/dist/nativoBidAdapter.js +1 -1
  95. package/dist/neuwoRtdProvider.js +1 -1
  96. package/dist/nexx360BidAdapter.js +1 -1
  97. package/dist/not-for-prod/prebid.js +165 -162
  98. package/dist/oguryBidAdapter.js +1 -1
  99. package/dist/onetagBidAdapter.js +1 -1
  100. package/dist/onomagicBidAdapter.js +1 -1
  101. package/dist/ooloAnalyticsAdapter.js +1 -1
  102. package/dist/openxBidAdapter.js +1 -1
  103. package/dist/openxOrtbBidAdapter.js +1 -1
  104. package/dist/operaadsBidAdapter.js +1 -1
  105. package/dist/optidigitalBidAdapter.js +1 -1
  106. package/dist/ortbConverter.js +1 -1
  107. package/dist/outbrainBidAdapter.js +1 -1
  108. package/dist/pairIdSystem.js +1 -0
  109. package/dist/parrableIdSystem.js +1 -1
  110. package/dist/pixfutureBidAdapter.js +1 -1
  111. package/dist/prebid-core.js +1 -1
  112. package/dist/publinkIdSystem.js +1 -1
  113. package/dist/pubmaticBidAdapter.js +1 -1
  114. package/dist/pubwiseAnalyticsAdapter.js +1 -1
  115. package/dist/pubxBidAdapter.js +1 -1
  116. package/dist/pxyzBidAdapter.js +1 -1
  117. package/dist/quantcastBidAdapter.js +1 -1
  118. package/dist/readpeakBidAdapter.js +1 -1
  119. package/dist/relaidoBidAdapter.js +1 -1
  120. package/dist/rhythmoneBidAdapter.js +1 -1
  121. package/dist/riseBidAdapter.js +1 -1
  122. package/dist/rubiconAnalyticsAdapter.js +1 -1
  123. package/dist/rubiconBidAdapter.js +1 -1
  124. package/dist/seedingAllianceBidAdapter.js +1 -1
  125. package/dist/seedtagBidAdapter.js +1 -1
  126. package/dist/sharedIdSystem.js +1 -1
  127. package/dist/sharethroughAnalyticsAdapter.js +1 -1
  128. package/dist/sharethroughBidAdapter.js +1 -1
  129. package/dist/shinezBidAdapter.js +1 -1
  130. package/dist/smaatoBidAdapter.js +1 -1
  131. package/dist/smartadserverBidAdapter.js +1 -1
  132. package/dist/smarthubBidAdapter.js +1 -1
  133. package/dist/smartxBidAdapter.js +1 -1
  134. package/dist/smilewantedBidAdapter.js +1 -1
  135. package/dist/sonobiBidAdapter.js +1 -1
  136. package/dist/sovrnAnalyticsAdapter.js +1 -1
  137. package/dist/sovrnBidAdapter.js +1 -1
  138. package/dist/sspBCBidAdapter.js +1 -1
  139. package/dist/stvBidAdapter.js +1 -1
  140. package/dist/sublimeBidAdapter.js +1 -1
  141. package/dist/synacormediaBidAdapter.js +1 -1
  142. package/dist/targetVideoBidAdapter.js +1 -1
  143. package/dist/teadsBidAdapter.js +1 -1
  144. package/dist/trionBidAdapter.js +1 -1
  145. package/dist/tripleliftBidAdapter.js +1 -1
  146. package/dist/truereachBidAdapter.js +1 -1
  147. package/dist/ttdBidAdapter.js +1 -1
  148. package/dist/ucfunnelAnalyticsAdapter.js +1 -1
  149. package/dist/uid2IdSystem.js +1 -1
  150. package/dist/underdogmediaBidAdapter.js +1 -1
  151. package/dist/undertoneBidAdapter.js +1 -1
  152. package/dist/userId.js +1 -1
  153. package/dist/vidazooBidAdapter.js +1 -1
  154. package/dist/videobyteBidAdapter.js +1 -1
  155. package/dist/videoheroesBidAdapter.js +1 -1
  156. package/dist/vidoomyBidAdapter.js +1 -1
  157. package/dist/visiblemeasuresBidAdapter.js +1 -1
  158. package/dist/visxBidAdapter.js +1 -1
  159. package/dist/vrtcalBidAdapter.js +1 -1
  160. package/dist/vuukleBidAdapter.js +1 -1
  161. package/dist/widespaceBidAdapter.js +1 -1
  162. package/dist/winrBidAdapter.js +1 -1
  163. package/dist/yahoosspBidAdapter.js +1 -1
  164. package/dist/yieldmoBidAdapter.js +1 -1
  165. package/dist/yieldoneAnalyticsAdapter.js +1 -1
  166. package/dist/yieldoneBidAdapter.js +1 -1
  167. package/integrationExamples/gpt/fledge_example.html +103 -0
  168. package/integrationExamples/gpt/prebidServer_fledge_example.html +111 -0
  169. package/libraries/domainOverrideToRootDomain/index.js +39 -0
  170. package/libraries/ortbConverter/processors/video.js +1 -0
  171. package/modules/acuityAdsBidAdapter.js +1 -1
  172. package/modules/admaticBidAdapter.js +7 -2
  173. package/modules/adnuntiusBidAdapter.js +3 -1
  174. package/modules/amxBidAdapter.js +1 -1
  175. package/modules/amxIdSystem.js +23 -20
  176. package/modules/amxIdSystem.md +7 -7
  177. package/modules/appnexusBidAdapter.js +108 -102
  178. package/modules/appushBidAdapter.js +1 -1
  179. package/modules/beyondmediaBidAdapter.js +1 -1
  180. package/modules/bidwatchAnalyticsAdapter.js +2 -0
  181. package/modules/braveBidAdapter.js +1 -1
  182. package/modules/brightcomBidAdapter.js +1 -1
  183. package/modules/brightcomSSPBidAdapter.js +1 -1
  184. package/modules/coinzillaBidAdapter.js +1 -2
  185. package/modules/compassBidAdapter.js +1 -1
  186. package/modules/connectIdSystem.js +96 -21
  187. package/modules/connectIdSystem.md +6 -5
  188. package/modules/contentexchangeBidAdapter.js +1 -1
  189. package/modules/conversantBidAdapter.js +3 -0
  190. package/modules/criteoBidAdapter.js +5 -1
  191. package/modules/eskimiBidAdapter.js +72 -0
  192. package/modules/eskimiBidAdapter.md +34 -0
  193. package/modules/freewheel-sspBidAdapter.js +8 -0
  194. package/modules/glimpseBidAdapter.js +1 -2
  195. package/modules/globalsunBidAdapter.js +1 -1
  196. package/modules/gridBidAdapter.js +43 -20
  197. package/modules/growthCodeIdSystem.js +18 -15
  198. package/modules/gumgumBidAdapter.js +1 -1
  199. package/modules/iqzoneBidAdapter.js +1 -1
  200. package/modules/ivsBidAdapter.js +85 -0
  201. package/modules/ivsBidAdapter.md +34 -0
  202. package/modules/ixBidAdapter.js +72 -105
  203. package/modules/jwplayerVideoProvider.js +25 -32
  204. package/modules/kargoBidAdapter.js +473 -246
  205. package/modules/koblerBidAdapter.js +1 -2
  206. package/modules/kueezBidAdapter.js +1 -1
  207. package/modules/kueezRtbBidAdapter.js +16 -4
  208. package/modules/liveIntentIdSystem.js +8 -0
  209. package/modules/luponmediaBidAdapter.js +1 -1
  210. package/modules/magniteAnalyticsAdapter.js +76 -3
  211. package/modules/mathildeadsBidAdapter.js +1 -1
  212. package/modules/medianetBidAdapter.js +1 -1
  213. package/modules/mediasquareBidAdapter.js +2 -1
  214. package/modules/mgidBidAdapter.js +178 -26
  215. package/modules/minutemediaBidAdapter.js +1 -1
  216. package/modules/minutemediaplusBidAdapter.js +16 -4
  217. package/modules/nativoBidAdapter.js +110 -21
  218. package/modules/neuwoRtdProvider.js +0 -2
  219. package/modules/oguryBidAdapter.js +3 -2
  220. package/modules/onomagicBidAdapter.js +1 -2
  221. package/modules/openxBidAdapter.js +192 -563
  222. package/modules/openxBidAdapter.md +22 -20
  223. package/modules/openxOrtbBidAdapter.js +13 -11
  224. package/modules/openxOrtbBidAdapter.md +5 -3
  225. package/modules/operaadsBidAdapter.js +1 -1
  226. package/modules/pairIdSystem.js +79 -0
  227. package/modules/pubmaticBidAdapter.js +13 -10
  228. package/modules/pubxBidAdapter.js +5 -2
  229. package/modules/riseBidAdapter.js +1 -1
  230. package/modules/sharedIdSystem.js +4 -27
  231. package/modules/sharethroughBidAdapter.js +1 -1
  232. package/modules/shinezBidAdapter.js +1 -1
  233. package/modules/smarthubBidAdapter.js +1 -1
  234. package/modules/synacormediaBidAdapter.js +1 -3
  235. package/modules/truereachBidAdapter.js +1 -2
  236. package/modules/userId/eids.js +24 -0
  237. package/modules/userId/eids.md +16 -0
  238. package/modules/videoheroesBidAdapter.js +1 -1
  239. package/modules/vidoomyBidAdapter.js +33 -4
  240. package/modules/visiblemeasuresBidAdapter.js +1 -1
  241. package/modules/vrtcalBidAdapter.js +1 -1
  242. package/modules/yieldmoBidAdapter.js +15 -5
  243. package/modules/yieldoneBidAdapter.js +1 -1
  244. package/package.json +1 -1
  245. package/src/Renderer.js +2 -1
  246. package/src/config.js +78 -127
  247. package/src/native.js +5 -1
  248. package/test/spec/auctionmanager_spec.js +2 -2
  249. package/test/spec/libraries/domainOverrideToRootDomain/index_spec.js +77 -0
  250. package/test/spec/modules/1plusXRtdProvider_spec.js +8 -7
  251. package/test/spec/modules/acuityAdsBidAdapter_spec.js +2 -1
  252. package/test/spec/modules/adagioBidAdapter_spec.js +0 -25
  253. package/test/spec/modules/admaticBidAdapter_spec.js +1 -1
  254. package/test/spec/modules/adnuntiusBidAdapter_spec.js +2 -1
  255. package/test/spec/modules/amxIdSystem_spec.js +13 -26
  256. package/test/spec/modules/appnexusBidAdapter_spec.js +464 -448
  257. package/test/spec/modules/appushBidAdapter_spec.js +2 -1
  258. package/test/spec/modules/axonixBidAdapter_spec.js +0 -27
  259. package/test/spec/modules/beyondmediaBidAdapter_spec.js +2 -1
  260. package/test/spec/modules/big-richmediaBidAdapter_spec.js +68 -64
  261. package/test/spec/modules/compassBidAdapter_spec.js +2 -1
  262. package/test/spec/modules/connectIdSystem_spec.js +420 -242
  263. package/test/spec/modules/contentexchangeBidAdapter_spec.js +2 -1
  264. package/test/spec/modules/conversantBidAdapter_spec.js +1 -0
  265. package/test/spec/modules/criteoBidAdapter_spec.js +33 -1
  266. package/test/spec/modules/eids_spec.js +30 -0
  267. package/test/spec/modules/eskimiBidAdapter_spec.js +155 -0
  268. package/test/spec/modules/freewheel-sspBidAdapter_spec.js +37 -0
  269. package/test/spec/modules/globalsunBidAdapter_spec.js +2 -1
  270. package/test/spec/modules/gridBidAdapter_spec.js +8 -0
  271. package/test/spec/modules/iqzoneBidAdapter_spec.js +2 -1
  272. package/test/spec/modules/ivsBidAdapter_spec.js +197 -0
  273. package/test/spec/modules/ixBidAdapter_spec.js +141 -71
  274. package/test/spec/modules/kargoBidAdapter_spec.js +297 -140
  275. package/test/spec/modules/koblerBidAdapter_spec.js +0 -20
  276. package/test/spec/modules/kueezRtbBidAdapter_spec.js +22 -2
  277. package/test/spec/modules/liveIntentIdSystem_spec.js +10 -0
  278. package/test/spec/modules/luponmediaBidAdapter_spec.js +1 -1
  279. package/test/spec/modules/magniteAnalyticsAdapter_spec.js +129 -1
  280. package/test/spec/modules/mathildeadsBidAdapter_spec.js +2 -1
  281. package/test/spec/modules/mgidBidAdapter_spec.js +184 -36
  282. package/test/spec/modules/minutemediaplusBidAdapter_spec.js +22 -2
  283. package/test/spec/modules/nativoBidAdapter_spec.js +101 -0
  284. package/test/spec/modules/neuwoRtdProvider_spec.js +0 -1
  285. package/test/spec/modules/oguryBidAdapter_spec.js +19 -4
  286. package/test/spec/modules/ooloAnalyticsAdapter_spec.js +1 -1
  287. package/test/spec/modules/openxBidAdapter_spec.js +1157 -1936
  288. package/test/spec/modules/openxOrtbBidAdapter_spec.js +12 -39
  289. package/test/spec/modules/pairIdSystem_spec.js +68 -0
  290. package/test/spec/modules/pubCommonId_spec.js +0 -17
  291. package/test/spec/modules/pubmaticBidAdapter_spec.js +868 -867
  292. package/test/spec/modules/pubxBidAdapter_spec.js +10 -2
  293. package/test/spec/modules/realvuAnalyticsAdapter_spec.js +0 -5
  294. package/test/spec/modules/sharedIdSystem_spec.js +0 -46
  295. package/test/spec/modules/sharethroughBidAdapter_spec.js +2 -1
  296. package/test/spec/modules/smarthubBidAdapter_spec.js +2 -1
  297. package/test/spec/modules/synacormediaBidAdapter_spec.js +0 -26
  298. package/test/spec/modules/videoModule/submodules/jwplayerVideoProvider_spec.js +17 -4
  299. package/test/spec/modules/vidoomyBidAdapter_spec.js +58 -0
  300. package/test/spec/modules/visiblemeasuresBidAdapter_spec.js +2 -1
  301. package/test/spec/modules/vrtcalBidAdapter_spec.js +3 -2
  302. package/test/spec/modules/yieldmoBidAdapter_spec.js +19 -1
  303. package/test/spec/renderer_spec.js +1 -2
  304. package/test/spec/unit/pbjs_api_spec.js +19 -3
  305. package/test/test_index.js +13 -3
  306. package/dist/gridNMBidAdapter.js +0 -1
  307. package/modules/gridNMBidAdapter.js +0 -422
  308. package/modules/gridNMBidAdapter.md +0 -39
  309. package/test/spec/modules/gridNMBidAdapter_spec.js +0 -636
@@ -366,26 +366,6 @@ describe('KoblerAdapter', function () {
366
366
  expect(openRtbRequest.imp[1].pmp.deals[1].id).to.be.equal(dealIds2[1]);
367
367
  });
368
368
 
369
- it('should read timeout from config', function () {
370
- const timeout = 4000;
371
- const validBidRequests = [createValidBidRequest()];
372
- // No timeout field
373
- const bidderRequest = {
374
- auctionId: 'c1243d83-0bed-4fdb-8c76-42b456be17d0',
375
- refererInfo: {
376
- page: 'example.com'
377
- }
378
- };
379
- config.setConfig({
380
- bidderTimeout: timeout
381
- });
382
-
383
- const result = spec.buildRequests(validBidRequests, bidderRequest);
384
- const openRtbRequest = JSON.parse(result.data);
385
-
386
- expect(openRtbRequest.tmax).to.be.equal(timeout);
387
- });
388
-
389
369
  it('should read floor price using floors module', function () {
390
370
  const floorPriceFor580x400 = 6.5148;
391
371
  const floorPriceForAnySize = 4.2343;
@@ -43,7 +43,12 @@ const BID = {
43
43
  'bidderWinsCount': 1,
44
44
  'requestId': 'b0777d85-d061-450e-9bc7-260dd54bbb7a',
45
45
  'schain': 'a0819c69-005b-41ed-af06-1be1e0aefefc',
46
- 'mediaTypes': [BANNER]
46
+ 'mediaTypes': [BANNER],
47
+ 'ortb2Imp': {
48
+ 'ext': {
49
+ 'gpid': '0123456789'
50
+ }
51
+ }
47
52
  };
48
53
 
49
54
  const VIDEO_BID = {
@@ -315,7 +320,8 @@ describe('KueezRtbBidAdapter', function () {
315
320
  protocols: [2, 3, 5, 6],
316
321
  startdelay: 0
317
322
  }
318
- }
323
+ },
324
+ gpid: ''
319
325
  }
320
326
  });
321
327
  });
@@ -373,6 +379,7 @@ describe('KueezRtbBidAdapter', function () {
373
379
  schain: BID.schain,
374
380
  res: `${window.top.screen.width}x${window.top.screen.height}`,
375
381
  mediaTypes: [BANNER],
382
+ gpid: '0123456789',
376
383
  uqs: getTopWindowQueryParams(),
377
384
  'ext.param1': 'loremipsum',
378
385
  'ext.param2': 'dolorsitamet',
@@ -448,6 +455,19 @@ describe('KueezRtbBidAdapter', function () {
448
455
  });
449
456
  });
450
457
 
458
+ it('should get meta from response metaData', function () {
459
+ const serverResponse = utils.deepClone(SERVER_RESPONSE);
460
+ serverResponse.body.results[0].metaData = {
461
+ advertiserDomains: ['kueezrtb.com'],
462
+ agencyName: 'Agency Name',
463
+ };
464
+ const responses = adapter.interpretResponse(serverResponse, REQUEST);
465
+ expect(responses[0].meta).to.deep.equal({
466
+ advertiserDomains: ['kueezrtb.com'],
467
+ agencyName: 'Agency Name'
468
+ });
469
+ });
470
+
451
471
  it('should return an array of interpreted video responses', function () {
452
472
  const responses = adapter.interpretResponse(VIDEO_SERVER_RESPONSE, REQUEST);
453
473
  expect(responses).to.have.length(1);
@@ -313,6 +313,16 @@ describe('LiveIntentId', function() {
313
313
  expect(result).to.eql({'lipb': {'lipbid': 'foo', 'nonId': 'foo', 'uid2': 'bar'}, 'uid2': {'id': 'bar'}});
314
314
  });
315
315
 
316
+ it('should decode a bidswitch id to a seperate object when present', function() {
317
+ const result = liveIntentIdSubmodule.decode({ nonId: 'foo', bidswitch: 'bar' });
318
+ expect(result).to.eql({'lipb': {'lipbid': 'foo', 'nonId': 'foo', 'bidswitch': 'bar'}, 'bidswitch': {'id': 'bar'}});
319
+ });
320
+
321
+ it('should decode a medianet id to a seperate object when present', function() {
322
+ const result = liveIntentIdSubmodule.decode({ nonId: 'foo', medianet: 'bar' });
323
+ expect(result).to.eql({'lipb': {'lipbid': 'foo', 'nonId': 'foo', 'medianet': 'bar'}, 'medianet': {'id': 'bar'}});
324
+ });
325
+
316
326
  it('should decode values with uid2 but no nonId', function() {
317
327
  const result = liveIntentIdSubmodule.decode({ uid2: 'bar' });
318
328
  expect(result).to.eql({'uid2': {'id': 'bar'}});
@@ -133,7 +133,7 @@ describe('luponmediaBidAdapter', function () {
133
133
  }
134
134
  ],
135
135
  'auctionStart': 1587413920820,
136
- 'timeout': 2000,
136
+ 'timeout': 1500,
137
137
  'refererInfo': {
138
138
  'page': 'https://novi.ba/clanak/176067/fast-car-beginner-s-guide-to-tuning-turbo-engines',
139
139
  'reachedTop': true,
@@ -28,7 +28,8 @@ const {
28
28
  BIDDER_DONE,
29
29
  BID_WON,
30
30
  BID_TIMEOUT,
31
- BILLABLE_EVENT
31
+ BILLABLE_EVENT,
32
+ SEAT_NON_BID
32
33
  }
33
34
  } = CONSTANTS;
34
35
 
@@ -160,6 +161,16 @@ const MOCK = {
160
161
  'status': 'rendered',
161
162
  getStatusCode: () => 1,
162
163
  },
164
+ SEAT_NON_BID: {
165
+ auctionId: '99785e47-a7c8-4c8a-ae05-ef1c717a4b4d',
166
+ seatnonbid: [{
167
+ seat: 'rubicon',
168
+ nonbid: [{
169
+ status: 1,
170
+ impid: 'box'
171
+ }]
172
+ }]
173
+ },
163
174
  AUCTION_END: {
164
175
  'auctionId': '99785e47-a7c8-4c8a-ae05-ef1c717a4b4d',
165
176
  'auctionEnd': 1658868384019,
@@ -2039,4 +2050,121 @@ describe('magnite analytics adapter', function () {
2039
2050
  }
2040
2051
  })
2041
2052
  });
2053
+
2054
+ describe('BID_RESPONSE events', () => {
2055
+ beforeEach(() => {
2056
+ magniteAdapter.enableAnalytics({
2057
+ options: {
2058
+ endpoint: '//localhost:9999/event',
2059
+ accountId: 1001
2060
+ }
2061
+ });
2062
+ config.setConfig({ rubicon: { updatePageView: true } });
2063
+ });
2064
+
2065
+ it('should add a no-bid bid to the add unit if it recieves one from the server', () => {
2066
+ const bidResponse = utils.deepClone(MOCK.BID_RESPONSE);
2067
+ const auctionInit = utils.deepClone(MOCK.AUCTION_INIT);
2068
+
2069
+ bidResponse.requestId = 'fakeId';
2070
+ bidResponse.seatBidId = 'fakeId';
2071
+
2072
+ bidResponse.requestId = 'fakeId';
2073
+ events.emit(AUCTION_INIT, auctionInit);
2074
+ events.emit(BID_REQUESTED, MOCK.BID_REQUESTED);
2075
+ events.emit(BID_RESPONSE, bidResponse)
2076
+ events.emit(BIDDER_DONE, MOCK.BIDDER_DONE);
2077
+ events.emit(AUCTION_END, MOCK.AUCTION_END);
2078
+ clock.tick(rubiConf.analyticsBatchTimeout + 1000);
2079
+
2080
+ let message = JSON.parse(server.requests[0].requestBody);
2081
+ expect(utils.generateUUID.called).to.equal(true);
2082
+
2083
+ expect(message.auctions[0].adUnits[0].bids[1]).to.deep.equal(
2084
+ {
2085
+ bidder: 'rubicon',
2086
+ source: 'server',
2087
+ status: 'success',
2088
+ bidResponse: {
2089
+ 'bidPriceUSD': 3.4,
2090
+ 'dimensions': {
2091
+ 'height': 250,
2092
+ 'width': 300
2093
+ },
2094
+ 'mediaType': 'banner'
2095
+ },
2096
+ oldBidId: 'fakeId',
2097
+ unknownBid: true,
2098
+ bidId: 'fakeId',
2099
+ clientLatencyMillis: 271
2100
+ }
2101
+ );
2102
+ });
2103
+ });
2104
+
2105
+ describe('SEAT_NON_BID events', () => {
2106
+ let seatnonbid;
2107
+
2108
+ const runNonBidAuction = () => {
2109
+ events.emit(AUCTION_INIT, MOCK.AUCTION_INIT);
2110
+ events.emit(BID_REQUESTED, MOCK.BID_REQUESTED);
2111
+ events.emit(SEAT_NON_BID, seatnonbid)
2112
+ events.emit(BIDDER_DONE, MOCK.BIDDER_DONE);
2113
+ events.emit(AUCTION_END, MOCK.AUCTION_END);
2114
+ clock.tick(rubiConf.analyticsBatchTimeout + 1000);
2115
+ };
2116
+ const checkStatusAgainstCode = (status, code, error, index) => {
2117
+ seatnonbid.seatnonbid[0].nonbid[0].status = code;
2118
+ runNonBidAuction();
2119
+ let message = JSON.parse(server.requests[index].requestBody);
2120
+ let bid = message.auctions[0].adUnits[0].bids[1];
2121
+
2122
+ if (error) {
2123
+ expect(bid.error).to.deep.equal(error);
2124
+ } else {
2125
+ expect(bid.error).to.equal(undefined);
2126
+ }
2127
+ expect(bid.source).to.equal('server');
2128
+ expect(bid.status).to.equal(status);
2129
+ expect(bid.isSeatNonBid).to.equal(true);
2130
+ };
2131
+ beforeEach(() => {
2132
+ magniteAdapter.enableAnalytics({
2133
+ options: {
2134
+ endpoint: '//localhost:9999/event',
2135
+ accountId: 1001
2136
+ }
2137
+ });
2138
+ seatnonbid = utils.deepClone(MOCK.SEAT_NON_BID);
2139
+ });
2140
+
2141
+ it('adds seatnonbid info to bids array', () => {
2142
+ runNonBidAuction();
2143
+ let message = JSON.parse(server.requests[0].requestBody);
2144
+
2145
+ expect(message.auctions[0].adUnits[0].bids[1]).to.deep.equal(
2146
+ {
2147
+ bidder: 'rubicon',
2148
+ source: 'server',
2149
+ status: 'no-bid',
2150
+ isSeatNonBid: true,
2151
+ clientLatencyMillis: -139101369960
2152
+ }
2153
+ );
2154
+ });
2155
+
2156
+ it('adjusts the status according to the status map', () => {
2157
+ const statuses = [
2158
+ {code: 0, status: 'no-bid'},
2159
+ {code: 100, status: 'error', error: {code: 'request-error', description: 'general error'}},
2160
+ {code: 101, status: 'error', error: {code: 'timeout-error', description: 'prebid server timeout'}},
2161
+ {code: 200, status: 'rejected'},
2162
+ {code: 202, status: 'rejected'},
2163
+ {code: 301, status: 'rejected-ipf'}
2164
+ ];
2165
+ statuses.forEach((info, index) => {
2166
+ checkStatusAgainstCode(info.status, info.code, info.error, index);
2167
+ });
2168
+ });
2169
+ });
2042
2170
  });
@@ -74,7 +74,8 @@ describe('MathildeAdsBidAdapter', function () {
74
74
  gdprConsent: 'COvFyGBOvFyGBAbAAAENAPCAAOAAAAAAAAAAAEEUACCKAAA.IFoEUQQgAIQwgIwQABAEAAAAOIAACAIAAAAQAIAgEAACEAAAAAgAQBAAAAAAAGBAAgAAAAAAAFAAECAAAgAAQARAEQAAAAAJAAIAAgAAAYQEAAAQmAgBC3ZAYzUw',
75
75
  refererInfo: {
76
76
  referer: 'https://test.com'
77
- }
77
+ },
78
+ timeout: 500
78
79
  };
79
80
 
80
81
  describe('isBidRequestValid', function () {