prebid.js 9.53.2 → 9.53.4

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 (229) hide show
  1. package/dist/33acrossAnalyticsAdapter.js +1 -1
  2. package/dist/33acrossBidAdapter.js +1 -1
  3. package/dist/33acrossIdSystem.js +1 -1
  4. package/dist/BTBidAdapter.js +1 -1
  5. package/dist/adagioAnalyticsAdapter.js +1 -1
  6. package/dist/adagioBidAdapter.js +1 -1
  7. package/dist/adagioRtdProvider.js +1 -1
  8. package/dist/adagioUtils.js +1 -1
  9. package/dist/addefendBidAdapter.js +1 -1
  10. package/dist/adgenerationBidAdapter.js +1 -1
  11. package/dist/adlooxRtdProvider.js +1 -1
  12. package/dist/adqueryBidAdapter.js +1 -1
  13. package/dist/adrelevantisBidAdapter.js +1 -1
  14. package/dist/adstirBidAdapter.js +1 -1
  15. package/dist/adtrgtmeBidAdapter.js +1 -1
  16. package/dist/adxcgAnalyticsAdapter.js +1 -1
  17. package/dist/adxcgBidAdapter.js +1 -1
  18. package/dist/adyoulikeBidAdapter.js +1 -1
  19. package/dist/agmaAnalyticsAdapter.js +1 -1
  20. package/dist/ajaBidAdapter.js +1 -1
  21. package/dist/amxBidAdapter.js +1 -1
  22. package/dist/amxIdSystem.js +1 -1
  23. package/dist/aniviewBidAdapter.js +1 -1
  24. package/dist/appierAnalyticsAdapter.js +1 -1
  25. package/dist/appnexusBidAdapter.js +1 -1
  26. package/dist/asoBidAdapter.js +1 -1
  27. package/dist/axonixBidAdapter.js +1 -1
  28. package/dist/beopBidAdapter.js +1 -1
  29. package/dist/bidderTimeoutUtils.js +1 -0
  30. package/dist/bidglassBidAdapter.js +1 -1
  31. package/dist/big-richmediaBidAdapter.js +1 -1
  32. package/dist/bitmediaBidAdapter.js +1 -1
  33. package/dist/bridBidAdapter.js +1 -1
  34. package/dist/bridgeuppBidAdapter.js +1 -1
  35. package/dist/bridgewellBidAdapter.js +1 -1
  36. package/dist/brightMountainMediaBidAdapter.js +1 -1
  37. package/dist/carodaBidAdapter.js +1 -1
  38. package/dist/chtnwBidAdapter.js +1 -1
  39. package/dist/chunk-core.js +1 -1
  40. package/dist/concertBidAdapter.js +1 -1
  41. package/dist/connectadBidAdapter.js +1 -1
  42. package/dist/consumableBidAdapter.js +1 -1
  43. package/dist/contxtfulBidAdapter.js +1 -1
  44. package/dist/conversantAnalyticsAdapter.js +1 -1
  45. package/dist/conversantBidAdapter.js +1 -1
  46. package/dist/craftBidAdapter.js +1 -1
  47. package/dist/criteoBidAdapter.js +1 -1
  48. package/dist/cwireBidAdapter.js +1 -1
  49. package/dist/dailymotionBidAdapter.js +1 -1
  50. package/dist/debugging-standalone.js +1 -1
  51. package/dist/dependencies.json +10 -1
  52. package/dist/dspxBidAdapter.js +1 -1
  53. package/dist/dxkultureBidAdapter.js +1 -1
  54. package/dist/eplanningBidAdapter.js +1 -1
  55. package/dist/equativBidAdapter.js +1 -1
  56. package/dist/eskimiBidAdapter.js +1 -1
  57. package/dist/euidIdSystem.js +1 -1
  58. package/dist/exadsBidAdapter.js +1 -1
  59. package/dist/excoBidAdapter.js +1 -1
  60. package/dist/feedadBidAdapter.js +1 -1
  61. package/dist/finativeBidAdapter.js +1 -1
  62. package/dist/freewheel-sspBidAdapter.js +1 -1
  63. package/dist/fwsspBidAdapter.js +1 -1
  64. package/dist/gmosspBidAdapter.js +1 -1
  65. package/dist/greenbidsAnalyticsAdapter.js +1 -1
  66. package/dist/greenbidsBidAdapter.js +1 -1
  67. package/dist/greenbidsRtdProvider.js +1 -1
  68. package/dist/gridBidAdapter.js +1 -1
  69. package/dist/gumgumBidAdapter.js +1 -1
  70. package/dist/h12mediaBidAdapter.js +1 -1
  71. package/dist/hypelabBidAdapter.js +1 -1
  72. package/dist/id5AnalyticsAdapter.js +1 -1
  73. package/dist/id5IdSystem.js +1 -1
  74. package/dist/imdsBidAdapter.js +1 -1
  75. package/dist/improvedigitalBidAdapter.js +1 -1
  76. package/dist/inmobiBidAdapter.js +1 -1
  77. package/dist/insticatorBidAdapter.js +1 -1
  78. package/dist/intentIqAnalyticsAdapter.js +1 -1
  79. package/dist/ixBidAdapter.js +1 -1
  80. package/dist/jixieBidAdapter.js +1 -1
  81. package/dist/justpremiumBidAdapter.js +1 -1
  82. package/dist/kargoBidAdapter.js +1 -1
  83. package/dist/kimberliteBidAdapter.js +1 -1
  84. package/dist/konduitAnalyticsAdapter.js +1 -1
  85. package/dist/kueezBidAdapter.js +1 -1
  86. package/dist/lassoBidAdapter.js +1 -1
  87. package/dist/lifestreetBidAdapter.js +1 -1
  88. package/dist/liveIntentId.js +1 -1
  89. package/dist/logicadBidAdapter.js +1 -1
  90. package/dist/loglyliftBidAdapter.js +1 -1
  91. package/dist/luceadBidAdapter.js +1 -1
  92. package/dist/mabidderBidAdapter.js +1 -1
  93. package/dist/madsenseBidAdapter.js +1 -1
  94. package/dist/magniteAnalyticsAdapter.js +1 -1
  95. package/dist/malltvAnalyticsAdapter.js +1 -1
  96. package/dist/marsmediaBidAdapter.js +1 -1
  97. package/dist/mediafuseBidAdapter.js +1 -1
  98. package/dist/medianetBidAdapter.js +1 -1
  99. package/dist/medianetUtils.js +1 -1
  100. package/dist/mediasquareBidAdapter.js +1 -1
  101. package/dist/mgidBidAdapter.js +1 -1
  102. package/dist/missenaBidAdapter.js +1 -1
  103. package/dist/mobilefuseBidAdapter.js +1 -1
  104. package/dist/nextMillenniumBidAdapter.js +1 -1
  105. package/dist/nexx360Utils.js +1 -1
  106. package/dist/nobidAnalyticsAdapter.js +1 -1
  107. package/dist/nobidBidAdapter.js +1 -1
  108. package/dist/nodalsAiRtdProvider.js +1 -1
  109. package/dist/not-for-prod/prebid.js +178 -175
  110. package/dist/objectGuard.js +1 -1
  111. package/dist/oguryBidAdapter.js +1 -1
  112. package/dist/onetagBidAdapter.js +1 -1
  113. package/dist/ooloAnalyticsAdapter.js +1 -1
  114. package/dist/openxBidAdapter.js +1 -1
  115. package/dist/optableRtdProvider.js +1 -1
  116. package/dist/optidigitalBidAdapter.js +1 -1
  117. package/dist/orbidderBidAdapter.js +1 -1
  118. package/dist/outbrainBidAdapter.js +1 -1
  119. package/dist/pixfutureBidAdapter.js +1 -1
  120. package/dist/publinkIdSystem.js +1 -1
  121. package/dist/pubmaticAnalyticsAdapter.js +1 -1
  122. package/dist/pubmaticBidAdapter.js +1 -1
  123. package/dist/pubmaticIdSystem.js +1 -1
  124. package/dist/pubmaticRtdProvider.js +1 -1
  125. package/dist/pubmaticUtils.js +1 -0
  126. package/dist/pubwiseAnalyticsAdapter.js +1 -1
  127. package/dist/pubxaiAnalyticsAdapter.js +1 -1
  128. package/dist/pxyzBidAdapter.js +1 -1
  129. package/dist/quantcastBidAdapter.js +1 -1
  130. package/dist/readpeakBidAdapter.js +1 -1
  131. package/dist/relaidoBidAdapter.js +1 -1
  132. package/dist/retailspotBidAdapter.js +1 -1
  133. package/dist/rhythmoneBidAdapter.js +1 -1
  134. package/dist/riseUtils.js +1 -1
  135. package/dist/rtdModule.js +1 -1
  136. package/dist/rubiconBidAdapter.js +1 -1
  137. package/dist/seedingAllianceBidAdapter.js +1 -1
  138. package/dist/seedtagBidAdapter.js +1 -1
  139. package/dist/sevioBidAdapter.js +1 -0
  140. package/dist/sharethroughAnalyticsAdapter.js +1 -1
  141. package/dist/sharethroughBidAdapter.js +1 -1
  142. package/dist/showheroes-bsBidAdapter.js +1 -1
  143. package/dist/smaatoBidAdapter.js +1 -1
  144. package/dist/smartadserverBidAdapter.js +1 -1
  145. package/dist/smartxBidAdapter.js +1 -1
  146. package/dist/smilewantedBidAdapter.js +1 -1
  147. package/dist/snigelBidAdapter.js +1 -1
  148. package/dist/sonobiBidAdapter.js +1 -1
  149. package/dist/sovrnBidAdapter.js +1 -1
  150. package/dist/sparteoBidAdapter.js +1 -1
  151. package/dist/sspBCBidAdapter.js +1 -1
  152. package/dist/stvBidAdapter.js +1 -1
  153. package/dist/sublimeBidAdapter.js +1 -1
  154. package/dist/taboolaBidAdapter.js +1 -1
  155. package/dist/tappxBidAdapter.js +1 -1
  156. package/dist/targetVideoBidAdapter.js +1 -1
  157. package/dist/teadsBidAdapter.js +1 -1
  158. package/dist/terceptAnalyticsAdapter.js +1 -1
  159. package/dist/themoneytizerBidAdapter.js +1 -1
  160. package/dist/timeoutRtdProvider.js +1 -1
  161. package/dist/trionBidAdapter.js +1 -1
  162. package/dist/tripleliftBidAdapter.js +1 -1
  163. package/dist/ttdBidAdapter.js +1 -1
  164. package/dist/ucfunnelAnalyticsAdapter.js +1 -1
  165. package/dist/uid2IdSystem.js +1 -1
  166. package/dist/underdogmediaBidAdapter.js +1 -1
  167. package/dist/undertoneBidAdapter.js +1 -1
  168. package/dist/unrulyBidAdapter.js +1 -1
  169. package/dist/userId.js +1 -1
  170. package/dist/vidazooUtils.js +1 -1
  171. package/dist/videobyteBidAdapter.js +1 -1
  172. package/dist/visxBidAdapter.js +1 -1
  173. package/dist/vuukleBidAdapter.js +1 -1
  174. package/dist/widespaceBidAdapter.js +1 -1
  175. package/dist/winrBidAdapter.js +1 -1
  176. package/dist/yahooAdsBidAdapter.js +1 -1
  177. package/dist/yandexBidAdapter.js +1 -1
  178. package/dist/yieldmoBidAdapter.js +1 -1
  179. package/dist/yieldoneAnalyticsAdapter.js +1 -1
  180. package/integrationExamples/gpt/pubmaticRtdProvider_Example.html +161 -0
  181. package/libraries/bidderTimeoutUtils/bidderTimeoutUtils.js +119 -0
  182. package/libraries/objectGuard/objectGuard.js +170 -48
  183. package/libraries/objectGuard/ortbGuard.js +33 -43
  184. package/libraries/pubmaticUtils/plugins/dynamicTimeout.js +209 -0
  185. package/libraries/pubmaticUtils/plugins/floorProvider.js +168 -0
  186. package/libraries/pubmaticUtils/plugins/pluginManager.js +106 -0
  187. package/libraries/pubmaticUtils/plugins/unifiedPricingRule.js +375 -0
  188. package/libraries/pubmaticUtils/pubmaticUtils.js +76 -0
  189. package/modules/adagioAnalyticsAdapter.js +6 -1
  190. package/modules/adagioBidAdapter.js +12 -5
  191. package/modules/adagioRtdProvider.js +41 -35
  192. package/modules/fwsspBidAdapter.js +134 -69
  193. package/modules/fwsspBidAdapter.md +121 -26
  194. package/modules/optableRtdProvider.js +33 -12
  195. package/modules/pubmaticAnalyticsAdapter.js +315 -587
  196. package/modules/pubmaticBidAdapter.js +71 -8
  197. package/modules/pubmaticIdSystem.js +4 -4
  198. package/modules/pubmaticRtdProvider.js +105 -613
  199. package/modules/rtdModule/index.js +23 -6
  200. package/modules/sevioBidAdapter.js +413 -0
  201. package/modules/sevioBidAdapter.md +29 -0
  202. package/modules/sparteoBidAdapter.js +122 -10
  203. package/modules/timeoutRtdProvider.js +2 -105
  204. package/modules/ttdBidAdapter.js +0 -5
  205. package/modules/userId/eids.js +1 -1
  206. package/modules/userId/index.js +32 -1
  207. package/package.json +1 -1
  208. package/src/auction.js +3 -0
  209. package/test/spec/activities/objectGuard_spec.js +189 -32
  210. package/test/spec/activities/ortbGuard_spec.js +10 -15
  211. package/test/spec/libraries/bidderTimeoutUtils/bidderTimeoutUtils_spec.js +213 -0
  212. package/test/spec/libraries/pubmaticUtils/plugins/dynamicTimeout_spec.js +746 -0
  213. package/test/spec/libraries/pubmaticUtils/plugins/floorProvider_spec.js +184 -0
  214. package/test/spec/libraries/pubmaticUtils/plugins/pluginManager_spec.js +489 -0
  215. package/test/spec/libraries/pubmaticUtils/plugins/unifiedPricingRule_spec.js +359 -0
  216. package/test/spec/libraries/pubmaticUtils/pubmaticUtils_spec.js +236 -0
  217. package/test/spec/modules/adagioAnalyticsAdapter_spec.js +94 -24
  218. package/test/spec/modules/adagioRtdProvider_spec.js +17 -17
  219. package/test/spec/modules/fwsspBidAdapter_spec.js +513 -78
  220. package/test/spec/modules/optableRtdProvider_spec.js +55 -5
  221. package/test/spec/modules/pubmaticAnalyticsAdapter_spec.js +634 -916
  222. package/test/spec/modules/pubmaticBidAdapter_spec.js +260 -1
  223. package/test/spec/modules/pubmaticRtdProvider_spec.js +252 -1505
  224. package/test/spec/modules/realTimeDataModule_spec.js +58 -8
  225. package/test/spec/modules/sevioBidAdapter_spec.js +513 -0
  226. package/test/spec/modules/sparteoBidAdapter_spec.js +528 -43
  227. package/test/spec/modules/timeoutRtdProvider_spec.js +1 -201
  228. package/test/spec/modules/ttdBidAdapter_spec.js +0 -33
  229. package/test/spec/modules/userId_spec.js +115 -1
@@ -4,6 +4,7 @@ import adagioAnalyticsAdapter, { _internal } from 'modules/adagioAnalyticsAdapte
4
4
  import { EVENTS } from 'src/constants.js';
5
5
  import { expect } from 'chai';
6
6
  import { server } from 'test/mocks/xhr.js';
7
+ import { deepClone } from 'src/utils.js';
7
8
 
8
9
  let adapterManager = require('src/adapterManager').default;
9
10
  let events = require('src/events');
@@ -191,8 +192,10 @@ const BID_CACHED = Object.assign({}, BID_ADAGIO, {
191
192
  latestTargetedAuctionId: BID_ADAGIO.auctionId,
192
193
  });
193
194
 
195
+ const PARAMS_PLCMT = 'placement_from_params';
194
196
  const PARAMS_ADG = {
195
197
  environment: 'desktop',
198
+ placement: PARAMS_PLCMT,
196
199
  };
197
200
 
198
201
  const ORTB_DATA = {
@@ -208,6 +211,13 @@ const ADG_RTD = {
208
211
  }
209
212
  };
210
213
 
214
+ const ORTB2IMP_PLCMT = 'placement_from_ortb2imp';
215
+ const ORTB2IMP_DATA_ADG = {
216
+ 'adg_rtd': {
217
+ 'placement': ORTB2IMP_PLCMT
218
+ }
219
+ };
220
+
211
221
  const AUCTION_INIT_ANOTHER = {
212
222
  'auctionId': AUCTION_ID,
213
223
  'timestamp': 1519767010567,
@@ -228,6 +238,11 @@ const AUCTION_INIT_ANOTHER = {
228
238
  ]
229
239
  }
230
240
  },
241
+ 'ortb2Imp': {
242
+ 'ext': {
243
+ 'data': ORTB2IMP_DATA_ADG
244
+ }
245
+ },
231
246
  'sizes': [[640, 480]],
232
247
  'bids': [ {
233
248
  'bidder': 'another',
@@ -250,14 +265,7 @@ const AUCTION_INIT_ANOTHER = {
250
265
  'publisherId': '1001'
251
266
  },
252
267
  }, ],
253
- 'transactionId': 'ca4af27a-6d02-4f90-949d-d5541fa12014',
254
- 'ortb2Imp': {
255
- 'ext': {
256
- 'data': {
257
- 'placement': 'pave_top',
258
- }
259
- }
260
- },
268
+ 'transactionId': 'ca4af27a-6d02-4f90-949d-d5541fa12014'
261
269
  }, {
262
270
  'code': '/19968336/footer-bid-tag-1',
263
271
  'mediaTypes': {
@@ -281,7 +289,9 @@ const AUCTION_INIT_ANOTHER = {
281
289
  'ortb2Imp': {
282
290
  'ext': {
283
291
  'data': {
284
- 'placement': 'pave_top',
292
+ 'adg_rtd': {
293
+ 'placement': 'footer'
294
+ }
285
295
  }
286
296
  }
287
297
  },
@@ -303,6 +313,11 @@ const AUCTION_INIT_ANOTHER = {
303
313
  'sizes': [[640, 480]]
304
314
  }
305
315
  },
316
+ 'ortb2Imp': {
317
+ 'ext': {
318
+ 'data': ORTB2IMP_DATA_ADG
319
+ }
320
+ },
306
321
  'adUnitCode': '/19968336/header-bid-tag-1',
307
322
  'transactionId': 'ca4af27a-6d02-4f90-949d-d5541fa12014',
308
323
  'sizes': [[640, 480]],
@@ -363,6 +378,12 @@ const AUCTION_INIT_ANOTHER = {
363
378
  'sizes': [[640, 480]]
364
379
  }
365
380
  },
381
+
382
+ 'ortb2Imp': {
383
+ 'ext': {
384
+ 'data': ORTB2IMP_DATA_ADG
385
+ }
386
+ },
366
387
  'adUnitCode': '/19968336/header-bid-tag-1',
367
388
  'transactionId': 'ca4af27a-6d02-4f90-949d-d5541fa12014',
368
389
  'sizes': [[640, 480]],
@@ -405,6 +426,11 @@ const AUCTION_INIT_ANOTHER = {
405
426
  'sizes': [[640, 480]]
406
427
  }
407
428
  },
429
+ 'ortb2Imp': {
430
+ 'ext': {
431
+ 'data': ORTB2IMP_DATA_ADG
432
+ }
433
+ },
408
434
  'adUnitCode': '/19968336/header-bid-tag-1',
409
435
  'transactionId': 'ca4af27a-6d02-4f90-949d-d5541fa12014',
410
436
  'sizes': [[640, 480]],
@@ -453,7 +479,12 @@ const AUCTION_INIT_ANOTHER = {
453
479
  'bidderRequestId': '1be65d7958826a',
454
480
  'auctionId': AUCTION_ID,
455
481
  'src': 'client',
456
- 'bidRequestsCount': 1
482
+ 'bidRequestsCount': 1,
483
+ 'ortb2Imp': {
484
+ 'ext': {
485
+ 'data': ORTB2IMP_DATA_ADG
486
+ }
487
+ },
457
488
  }
458
489
  ],
459
490
  'timeout': 3000,
@@ -514,9 +545,7 @@ const AUCTION_INIT_CACHE = {
514
545
  'transactionId': 'ca4af27a-6d02-4f90-949d-d5541fa12014',
515
546
  'ortb2Imp': {
516
547
  'ext': {
517
- 'data': {
518
- 'placement': 'pave_top',
519
- }
548
+ 'data': ORTB2IMP_DATA_ADG
520
549
  }
521
550
  },
522
551
  }, {
@@ -539,13 +568,6 @@ const AUCTION_INIT_CACHE = {
539
568
  },
540
569
  } ],
541
570
  'transactionId': 'ca4af27a-6d02-4f90-949d-d5541fa12014',
542
- 'ortb2Imp': {
543
- 'ext': {
544
- 'data': {
545
- 'placement': 'pave_top',
546
- }
547
- }
548
- },
549
571
  } ],
550
572
  'adUnitCodes': ['/19968336/header-bid-tag-1', '/19968336/footer-bid-tag-1'],
551
573
  'bidderRequests': [ {
@@ -562,6 +584,11 @@ const AUCTION_INIT_CACHE = {
562
584
  'sizes': [[640, 480]]
563
585
  }
564
586
  },
587
+ 'ortb2Imp': {
588
+ 'ext': {
589
+ 'data': ORTB2IMP_DATA_ADG
590
+ }
591
+ },
565
592
  'adUnitCode': '/19968336/header-bid-tag-1',
566
593
  'transactionId': 'ca4af27a-6d02-4f90-949d-d5541fa12014',
567
594
  'sizes': [[640, 480]],
@@ -621,6 +648,11 @@ const AUCTION_INIT_CACHE = {
621
648
  'sizes': [[640, 480]]
622
649
  }
623
650
  },
651
+ 'ortb2Imp': {
652
+ 'ext': {
653
+ 'data': ORTB2IMP_DATA_ADG
654
+ }
655
+ },
624
656
  'adUnitCode': '/19968336/header-bid-tag-1',
625
657
  'transactionId': 'ca4af27a-6d02-4f90-949d-d5541fa12014',
626
658
  'sizes': [[640, 480]],
@@ -818,7 +850,7 @@ describe('adagio analytics adapter', () => {
818
850
  expect(search.pv_id).to.equal('a68e6d70-213b-496c-be0a-c468ff387106');
819
851
  expect(search.url_dmn).to.equal(window.location.hostname);
820
852
  expect(search.pgtyp).to.equal('article');
821
- expect(search.plcmt).to.equal('pave_top');
853
+ expect(search.plcmt).to.equal(ORTB2IMP_PLCMT);
822
854
  expect(search.mts).to.equal('ban');
823
855
  expect(search.ban_szs).to.equal('640x100,640x480');
824
856
  expect(search.bdrs).to.equal('adagio,another,anotherWithAlias,nobid');
@@ -869,6 +901,7 @@ describe('adagio analytics adapter', () => {
869
901
  expect(search.auct_id).to.equal(RTD_AUCTION_ID);
870
902
  expect(search.adu_code).to.equal('/19968336/header-bid-tag-1');
871
903
  expect(search.win_bdr).to.equal('another');
904
+ expect(search.plcmt).to.equal(ORTB2IMP_PLCMT);
872
905
  expect(search.win_mt).to.equal('ban');
873
906
  expect(search.win_ban_sz).to.equal('728x90');
874
907
  expect(search.win_net_cpm).to.equal('2.052');
@@ -877,6 +910,43 @@ describe('adagio analytics adapter', () => {
877
910
  }
878
911
  });
879
912
 
913
+ it('it fallback on the adUnit.params.placement value if adg_rtd.placement is not set', () => {
914
+ const mockAuctionInit = deepClone(MOCK.AUCTION_INIT.another);
915
+ for (const adUnit of mockAuctionInit.adUnits) {
916
+ delete adUnit.ortb2Imp?.ext?.data.adg_rtd;
917
+ }
918
+ for (const bidRequest of mockAuctionInit.bidderRequests) {
919
+ for (const bid of bidRequest.bids) {
920
+ delete bid.ortb2Imp?.ext?.data.adg_rtd;
921
+ }
922
+ }
923
+
924
+ events.emit(EVENTS.AUCTION_INIT, mockAuctionInit);
925
+ {
926
+ const { protocol, hostname, pathname, search } = utils.parseUrl(server.requests[0].url);
927
+ expect(protocol).to.equal('https');
928
+ expect(hostname).to.equal('c.4dex.io');
929
+ expect(pathname).to.equal('/pba.gif');
930
+ expect(search.v).to.equal('1');
931
+ expect(search.pbjsv).to.equal('$prebid.version$');
932
+ expect(search.s_id).to.equal(SESSION_ID);
933
+ expect(search.auct_id).to.equal(RTD_AUCTION_ID);
934
+ expect(search.adu_code).to.equal('/19968336/header-bid-tag-1');
935
+ expect(search.org_id).to.equal('1001');
936
+ expect(search.site).to.equal('test-com');
937
+ expect(search.pv_id).to.equal('a68e6d70-213b-496c-be0a-c468ff387106');
938
+ expect(search.url_dmn).to.equal(window.location.hostname);
939
+ expect(search.pgtyp).to.equal('article');
940
+ expect(search.plcmt).to.equal(PARAMS_PLCMT);
941
+ expect(search.mts).to.equal('ban');
942
+ expect(search.ban_szs).to.equal('640x100,640x480');
943
+ expect(search.bdrs).to.equal('adagio,another,anotherWithAlias,nobid');
944
+ expect(search.bdrs_code).to.equal('adagio,another,another,nobid');
945
+ expect(search.bdrs_timeout).to.not.exist;
946
+ expect(search.adg_mts).to.equal('ban');
947
+ }
948
+ });
949
+
880
950
  it('builds and sends auction data with a cached bid win', () => {
881
951
  events.emit(EVENTS.AUCTION_INIT, MOCK.AUCTION_INIT.bidcached);
882
952
  events.emit(EVENTS.AUCTION_INIT, MOCK.AUCTION_INIT.another);
@@ -903,7 +973,7 @@ describe('adagio analytics adapter', () => {
903
973
  expect(search.pv_id).to.equal('a68e6d70-213b-496c-be0a-c468ff387106');
904
974
  expect(search.url_dmn).to.equal(window.location.hostname);
905
975
  expect(search.pgtyp).to.equal('article');
906
- expect(search.plcmt).to.equal('pave_top');
976
+ expect(search.plcmt).to.equal(ORTB2IMP_PLCMT);
907
977
  expect(search.mts).to.equal('ban');
908
978
  expect(search.ban_szs).to.equal('640x100,640x480');
909
979
  expect(search.bdrs).to.equal('adagio,another');
@@ -928,7 +998,7 @@ describe('adagio analytics adapter', () => {
928
998
  expect(search.pv_id).to.equal('a68e6d70-213b-496c-be0a-c468ff387106');
929
999
  expect(search.url_dmn).to.equal(window.location.hostname);
930
1000
  expect(search.pgtyp).to.equal('article');
931
- expect(search.plcmt).to.equal('pave_top');
1001
+ expect(search.plcmt).to.be.undefined; // no placement set, no adagio bidder for this adUnit.
932
1002
  expect(search.mts).to.equal('ban');
933
1003
  expect(search.ban_szs).to.equal('640x480');
934
1004
  expect(search.bdrs).to.equal('another');
@@ -951,7 +1021,7 @@ describe('adagio analytics adapter', () => {
951
1021
  expect(search.pv_id).to.equal('a68e6d70-213b-496c-be0a-c468ff387106');
952
1022
  expect(search.url_dmn).to.equal(window.location.hostname);
953
1023
  expect(search.pgtyp).to.equal('article');
954
- expect(search.plcmt).to.equal('pave_top');
1024
+ expect(search.plcmt).to.equal(ORTB2IMP_PLCMT);
955
1025
  expect(search.mts).to.equal('ban');
956
1026
  expect(search.ban_szs).to.equal('640x100,640x480');
957
1027
  expect(search.bdrs).to.equal('adagio,another,anotherWithAlias,nobid');
@@ -507,7 +507,7 @@ describe('Adagio Rtd Provider', function () {
507
507
  expect(ortb2ImpExt.adunit_position).equal('');
508
508
  });
509
509
 
510
- describe('update the ortb2Imp.ext.data.placement if not present', function() {
510
+ describe('set the ortb2Imp.ext.data.adg_rtd.placement', function() {
511
511
  const config = {
512
512
  name: SUBMODULE_NAME,
513
513
  params: {
@@ -516,50 +516,50 @@ describe('Adagio Rtd Provider', function () {
516
516
  }
517
517
  };
518
518
 
519
- it('update the placement value with the adUnit.code value', function() {
519
+ it('set the adg_rtd.placement value from the adUnit[].bids adagio.params.placement value', function() {
520
+ const placement = 'placement-value';
521
+
520
522
  const configCopy = utils.deepClone(config);
521
- configCopy.params.placementSource = PLACEMENT_SOURCES.ADUNITCODE;
522
523
 
523
524
  const bidRequest = utils.deepClone(bidReqConfig);
525
+ bidRequest.adUnits[0].bids[0].params.placement = placement;
524
526
 
525
527
  adagioRtdSubmodule.getBidRequestData(bidRequest, cb, configCopy);
526
528
  expect(bidRequest.adUnits[0]).to.have.property('ortb2Imp');
527
- expect(bidRequest.adUnits[0].ortb2Imp.ext.data.placement).to.equal('div-gpt-ad-1460505748561-0');
529
+ expect(bidRequest.adUnits[0].ortb2Imp.ext.data.adg_rtd.placement).to.equal(placement);
528
530
  });
529
531
 
530
- it('update the placement value with the gpid value', function() {
532
+ it('fallback on the adUnit.code value to set the adg_rtd.placement value', function() {
531
533
  const configCopy = utils.deepClone(config);
532
- configCopy.params.placementSource = PLACEMENT_SOURCES.GPID;
534
+ configCopy.params.placementSource = PLACEMENT_SOURCES.ADUNITCODE;
533
535
 
534
536
  const bidRequest = utils.deepClone(bidReqConfig);
535
- const gpid = '/19968336/header-bid-tag-0'
536
- utils.deepSetValue(bidRequest.adUnits[0], 'ortb2Imp.ext.gpid', gpid)
537
537
 
538
538
  adagioRtdSubmodule.getBidRequestData(bidRequest, cb, configCopy);
539
539
  expect(bidRequest.adUnits[0]).to.have.property('ortb2Imp');
540
- expect(bidRequest.adUnits[0].ortb2Imp.ext.data.placement).to.equal(gpid);
540
+ expect(bidRequest.adUnits[0].ortb2Imp.ext.data.adg_rtd.placement).to.equal('div-gpt-ad-1460505748561-0');
541
541
  });
542
542
 
543
- it('update the placement value the legacy adUnit[].bids adagio.params.placement value', function() {
544
- const placement = 'placement-value';
545
-
543
+ it('fallback on the the gpid value to set the adg_rtd.placement value ', function() {
546
544
  const configCopy = utils.deepClone(config);
545
+ configCopy.params.placementSource = PLACEMENT_SOURCES.GPID;
547
546
 
548
547
  const bidRequest = utils.deepClone(bidReqConfig);
549
- bidRequest.adUnits[0].bids[0].params.placement = placement;
548
+ const gpid = '/19968336/header-bid-tag-0'
549
+ utils.deepSetValue(bidRequest.adUnits[0], 'ortb2Imp.ext.gpid', gpid)
550
550
 
551
551
  adagioRtdSubmodule.getBidRequestData(bidRequest, cb, configCopy);
552
552
  expect(bidRequest.adUnits[0]).to.have.property('ortb2Imp');
553
- expect(bidRequest.adUnits[0].ortb2Imp.ext.data.placement).to.equal(placement);
553
+ expect(bidRequest.adUnits[0].ortb2Imp.ext.data.adg_rtd.placement).to.equal(gpid);
554
554
  });
555
555
 
556
- it('it does not populate `ortb2Imp.ext.data.placement` if no fallback', function() {
556
+ it('it does not populate `ortb2Imp.ext.data.adg_rtd.placement` if no fallback', function() {
557
557
  const configCopy = utils.deepClone(config);
558
558
  const bidRequest = utils.deepClone(bidReqConfig);
559
559
 
560
560
  adagioRtdSubmodule.getBidRequestData(bidRequest, cb, configCopy);
561
561
  expect(bidRequest.adUnits[0]).to.have.property('ortb2Imp');
562
- expect(bidRequest.adUnits[0].ortb2Imp.ext.data.placement).to.not.exist;
562
+ expect(bidRequest.adUnits[0].ortb2Imp.ext.data.adg_rtd.placement).to.not.exist;
563
563
  });
564
564
 
565
565
  it('ensure we create the `ortb2Imp` object if it does not exist', function() {
@@ -571,7 +571,7 @@ describe('Adagio Rtd Provider', function () {
571
571
 
572
572
  adagioRtdSubmodule.getBidRequestData(bidRequest, cb, configCopy);
573
573
  expect(bidRequest.adUnits[0]).to.have.property('ortb2Imp');
574
- expect(bidRequest.adUnits[0].ortb2Imp.ext.data.placement).to.equal('div-gpt-ad-1460505748561-0');
574
+ expect(bidRequest.adUnits[0].ortb2Imp.ext.data.adg_rtd.placement).to.equal('div-gpt-ad-1460505748561-0');
575
575
  });
576
576
  });
577
577
  });