prebid.js 7.54.2 → 7.54.3

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 (142) hide show
  1. package/dist/33acrossBidAdapter.js +1 -1
  2. package/dist/33acrossIdSystem.js +1 -1
  3. package/dist/adagioBidAdapter.js +1 -1
  4. package/dist/adbookpspBidAdapter.js +1 -1
  5. package/dist/adgenerationBidAdapter.js +1 -1
  6. package/dist/adqueryBidAdapter.js +1 -1
  7. package/dist/adrelevantisBidAdapter.js +1 -1
  8. package/dist/adtrgtmeBidAdapter.js +1 -1
  9. package/dist/adxcgBidAdapter.js +1 -1
  10. package/dist/adyoulikeBidAdapter.js +1 -1
  11. package/dist/ajaBidAdapter.js +1 -1
  12. package/dist/amxBidAdapter.js +1 -1
  13. package/dist/amxIdSystem.js +1 -1
  14. package/dist/appierAnalyticsAdapter.js +1 -1
  15. package/dist/appnexusBidAdapter.js +1 -1
  16. package/dist/asoBidAdapter.js +1 -1
  17. package/dist/axonixBidAdapter.js +1 -1
  18. package/dist/bidglassBidAdapter.js +1 -1
  19. package/dist/big-richmediaBidAdapter.js +1 -1
  20. package/dist/bridgewellBidAdapter.js +1 -1
  21. package/dist/brightMountainMediaBidAdapter.js +1 -1
  22. package/dist/carodaBidAdapter.js +1 -1
  23. package/dist/chtnwBidAdapter.js +1 -1
  24. package/dist/concertBidAdapter.js +1 -1
  25. package/dist/connectadBidAdapter.js +1 -1
  26. package/dist/consentManagementGpp.js +1 -1
  27. package/dist/consumableBidAdapter.js +1 -1
  28. package/dist/conversantAnalyticsAdapter.js +1 -1
  29. package/dist/conversantBidAdapter.js +1 -1
  30. package/dist/craftBidAdapter.js +1 -1
  31. package/dist/criteoBidAdapter.js +1 -1
  32. package/dist/cwireBidAdapter.js +1 -1
  33. package/dist/dspxBidAdapter.js +1 -1
  34. package/dist/eplanningBidAdapter.js +1 -1
  35. package/dist/euidIdSystem.js +1 -1
  36. package/dist/feedadBidAdapter.js +1 -1
  37. package/dist/finativeBidAdapter.js +1 -1
  38. package/dist/freewheel-sspBidAdapter.js +1 -1
  39. package/dist/glimpseBidAdapter.js +1 -1
  40. package/dist/gmosspBidAdapter.js +1 -1
  41. package/dist/goldbachBidAdapter.js +1 -1
  42. package/dist/greenbidsAnalyticsAdapter.js +1 -1
  43. package/dist/greenbidsRtdProvider.js +1 -1
  44. package/dist/gridBidAdapter.js +1 -1
  45. package/dist/gumgumBidAdapter.js +1 -1
  46. package/dist/h12mediaBidAdapter.js +1 -1
  47. package/dist/hypelabBidAdapter.js +1 -1
  48. package/dist/id5IdSystem.js +1 -1
  49. package/dist/improvedigitalBidAdapter.js +1 -1
  50. package/dist/inmarBidAdapter.js +1 -1
  51. package/dist/insticatorBidAdapter.js +1 -1
  52. package/dist/ixBidAdapter.js +1 -1
  53. package/dist/justpremiumBidAdapter.js +1 -1
  54. package/dist/kargoBidAdapter.js +1 -1
  55. package/dist/konduitAnalyticsAdapter.js +1 -1
  56. package/dist/kueezBidAdapter.js +1 -1
  57. package/dist/kueezRtbBidAdapter.js +1 -1
  58. package/dist/kulturemediaBidAdapter.js +1 -1
  59. package/dist/lassoBidAdapter.js +1 -1
  60. package/dist/lifestreetBidAdapter.js +1 -1
  61. package/dist/liveyieldAnalyticsAdapter.js +1 -1
  62. package/dist/logicadBidAdapter.js +1 -1
  63. package/dist/loglyliftBidAdapter.js +1 -1
  64. package/dist/magniteAnalyticsAdapter.js +1 -1
  65. package/dist/malltvAnalyticsAdapter.js +1 -1
  66. package/dist/marsmediaBidAdapter.js +1 -1
  67. package/dist/mediafuseBidAdapter.js +1 -1
  68. package/dist/mediasquareBidAdapter.js +1 -1
  69. package/dist/mgidBidAdapter.js +1 -1
  70. package/dist/minutemediaBidAdapter.js +1 -1
  71. package/dist/minutemediaplusBidAdapter.js +1 -1
  72. package/dist/nexx360BidAdapter.js +1 -1
  73. package/dist/not-for-prod/prebid.js +130 -130
  74. package/dist/oguryBidAdapter.js +1 -1
  75. package/dist/onetagBidAdapter.js +1 -1
  76. package/dist/ooloAnalyticsAdapter.js +1 -1
  77. package/dist/optidigitalBidAdapter.js +1 -1
  78. package/dist/outbrainBidAdapter.js +1 -1
  79. package/dist/parrableIdSystem.js +1 -1
  80. package/dist/pixfutureBidAdapter.js +1 -1
  81. package/dist/prebid-core.js +1 -1
  82. package/dist/publinkIdSystem.js +1 -1
  83. package/dist/pubmaticBidAdapter.js +1 -1
  84. package/dist/pubwiseAnalyticsAdapter.js +1 -1
  85. package/dist/pxyzBidAdapter.js +1 -1
  86. package/dist/quantcastBidAdapter.js +1 -1
  87. package/dist/readpeakBidAdapter.js +1 -1
  88. package/dist/relaidoBidAdapter.js +1 -1
  89. package/dist/retailspotBidAdapter.js +1 -1
  90. package/dist/rhythmoneBidAdapter.js +1 -1
  91. package/dist/riseBidAdapter.js +1 -1
  92. package/dist/rtbhouseBidAdapter.js +1 -1
  93. package/dist/rubiconAnalyticsAdapter.js +1 -1
  94. package/dist/rubiconBidAdapter.js +1 -1
  95. package/dist/seedingAllianceBidAdapter.js +1 -1
  96. package/dist/seedtagBidAdapter.js +1 -1
  97. package/dist/sharethroughAnalyticsAdapter.js +1 -1
  98. package/dist/sharethroughBidAdapter.js +1 -1
  99. package/dist/shinezBidAdapter.js +1 -1
  100. package/dist/smaatoBidAdapter.js +1 -1
  101. package/dist/smartadserverBidAdapter.js +1 -1
  102. package/dist/smartxBidAdapter.js +1 -1
  103. package/dist/smilewantedBidAdapter.js +1 -1
  104. package/dist/snigelBidAdapter.js +1 -1
  105. package/dist/sonobiBidAdapter.js +1 -1
  106. package/dist/sovrnAnalyticsAdapter.js +1 -1
  107. package/dist/sovrnBidAdapter.js +1 -1
  108. package/dist/sspBCBidAdapter.js +1 -1
  109. package/dist/stvBidAdapter.js +1 -1
  110. package/dist/sublimeBidAdapter.js +1 -1
  111. package/dist/synacormediaBidAdapter.js +1 -1
  112. package/dist/targetVideoBidAdapter.js +1 -1
  113. package/dist/teadsBidAdapter.js +1 -1
  114. package/dist/trionBidAdapter.js +1 -1
  115. package/dist/tripleliftBidAdapter.js +1 -1
  116. package/dist/ttdBidAdapter.js +1 -1
  117. package/dist/ucfunnelAnalyticsAdapter.js +1 -1
  118. package/dist/uid2IdSystem.js +1 -1
  119. package/dist/underdogmediaBidAdapter.js +1 -1
  120. package/dist/undertoneBidAdapter.js +1 -1
  121. package/dist/vidazooBidAdapter.js +1 -1
  122. package/dist/videobyteBidAdapter.js +1 -1
  123. package/dist/visxBidAdapter.js +1 -1
  124. package/dist/vuukleBidAdapter.js +1 -1
  125. package/dist/widespaceBidAdapter.js +1 -1
  126. package/dist/winrBidAdapter.js +1 -1
  127. package/dist/yahoosspBidAdapter.js +1 -1
  128. package/dist/yieldmoBidAdapter.js +1 -1
  129. package/dist/yieldoneAnalyticsAdapter.js +1 -1
  130. package/modules/consentManagementGpp.js +10 -1
  131. package/modules/ixBidAdapter.js +3 -1
  132. package/modules/optidigitalBidAdapter.js +21 -14
  133. package/modules/rtbhouseBidAdapter.js +9 -2
  134. package/modules/rtbhouseBidAdapter.md +27 -8
  135. package/modules/snigelBidAdapter.js +69 -16
  136. package/modules/snigelBidAdapter.md +9 -3
  137. package/package.json +1 -1
  138. package/test/spec/modules/consentManagementGpp_spec.js +14 -8
  139. package/test/spec/modules/ixBidAdapter_spec.js +12 -6
  140. package/test/spec/modules/optidigitalBidAdapter_spec.js +9 -2
  141. package/test/spec/modules/rtbhouseBidAdapter_spec.js +35 -0
  142. package/test/spec/modules/snigelBidAdapter_spec.js +57 -6
@@ -318,6 +318,41 @@ describe('RTBHouseAdapter', () => {
318
318
  expect(request.method).to.equal('POST');
319
319
  });
320
320
 
321
+ it('sets default fledgeConfig object values when none available from config', function () {
322
+ let bidRequest = Object.assign([], bidRequests);
323
+ delete bidRequest[0].params.test;
324
+
325
+ config.setConfig({ fledgeConfig: false });
326
+ const request = spec.buildRequests(bidRequest, { ...bidderRequest, fledgeEnabled: true });
327
+ const data = JSON.parse(request.data);
328
+ expect(data.ext).to.exist.and.to.be.a('object');
329
+ expect(data.ext.fledge_config).to.exist.and.to.be.a('object');
330
+ expect(data.ext.fledge_config).to.contain.keys('seller', 'decisionLogicUrl', 'sellerTimeout');
331
+ expect(data.ext.fledge_config.seller).to.equal('https://fledge-ssp.creativecdn.com');
332
+ expect(data.ext.fledge_config.decisionLogicUrl).to.equal('https://fledge-ssp.creativecdn.com/component-seller-prebid.js');
333
+ expect(data.ext.fledge_config.sellerTimeout).to.equal(500);
334
+ });
335
+
336
+ it('sets a fledgeConfig object values when available from config', function () {
337
+ let bidRequest = Object.assign([], bidRequests);
338
+ delete bidRequest[0].params.test;
339
+
340
+ config.setConfig({
341
+ fledgeConfig: {
342
+ seller: 'https://sellers.domain',
343
+ decisionLogicUrl: 'https://sellers.domain/decision.url'
344
+ }
345
+ });
346
+ const request = spec.buildRequests(bidRequest, { ...bidderRequest, fledgeEnabled: true });
347
+ const data = JSON.parse(request.data);
348
+ expect(data.ext).to.exist.and.to.be.a('object');
349
+ expect(data.ext.fledge_config).to.exist.and.to.be.a('object');
350
+ expect(data.ext.fledge_config).to.contain.keys('seller', 'decisionLogicUrl');
351
+ expect(data.ext.fledge_config.seller).to.equal('https://sellers.domain');
352
+ expect(data.ext.fledge_config.decisionLogicUrl).to.equal('https://sellers.domain/decision.url');
353
+ expect(data.ext.fledge_config.sellerTimeout).to.not.exist;
354
+ });
355
+
321
356
  it('when FLEDGE is disabled, should not send imp.ext.ae', function () {
322
357
  let bidRequest = Object.assign([], bidRequests);
323
358
  delete bidRequest[0].params.test;
@@ -20,6 +20,7 @@ const makeBidRequest = function (overrides) {
20
20
  };
21
21
 
22
22
  const BASE_BIDDER_REQUEST = {
23
+ auctionId: 'test',
23
24
  bidderRequestId: 'test',
24
25
  refererInfo: {
25
26
  canonicalUrl: 'https://localhost',
@@ -53,8 +54,8 @@ describe('snigelBidAdapter', function () {
53
54
  it('should build a single request for every impression and its placement', function () {
54
55
  const bidderRequest = Object.assign({}, BASE_BIDDER_REQUEST);
55
56
  const bidRequests = [
56
- makeBidRequest({bidId: 'a', params: {placement: 'top_leaderboard'}}),
57
- makeBidRequest({bidId: 'b', params: {placement: 'bottom_leaderboard'}}),
57
+ makeBidRequest({bidId: 'a', adUnitCode: 'au_a', params: {placement: 'top_leaderboard'}}),
58
+ makeBidRequest({bidId: 'b', adUnitCode: 'au_b', params: {placement: 'bottom_leaderboard'}}),
58
59
  ];
59
60
 
60
61
  const request = spec.buildRequests(bidRequests, bidderRequest);
@@ -70,9 +71,9 @@ describe('snigelBidAdapter', function () {
70
71
  expect(data).to.have.property('page').and.to.equal('https://localhost');
71
72
  expect(data).to.have.property('placements');
72
73
  expect(data.placements.length).to.equal(2);
73
- expect(data.placements[0].uuid).to.equal('a');
74
+ expect(data.placements[0].id).to.equal('au_a');
74
75
  expect(data.placements[0].name).to.equal('top_leaderboard');
75
- expect(data.placements[1].uuid).to.equal('b');
76
+ expect(data.placements[1].id).to.equal('au_b');
76
77
  expect(data.placements[1].name).to.equal('bottom_leaderboard');
77
78
  });
78
79
 
@@ -127,6 +128,56 @@ describe('snigelBidAdapter', function () {
127
128
  const data = JSON.parse(request.data);
128
129
  expect(data).to.have.property('coppa').and.to.equal(true);
129
130
  });
131
+
132
+ it('should forward refresh information', function () {
133
+ const bidderRequest = Object.assign({}, BASE_BIDDER_REQUEST);
134
+ const topLeaderboard = makeBidRequest({adUnitCode: 'top_leaderboard'});
135
+ const bottomLeaderboard = makeBidRequest({adUnitCode: 'bottom_leaderboard'});
136
+ const sidebar = makeBidRequest({adUnitCode: 'sidebar'});
137
+
138
+ // first auction, no refresh
139
+ let request = spec.buildRequests([topLeaderboard, bottomLeaderboard], bidderRequest);
140
+ expect(request).to.have.property('data');
141
+ let data = JSON.parse(request.data);
142
+ expect(data).to.have.property('placements');
143
+ expect(data.placements.length).to.equal(2);
144
+ expect(data.placements[0].id).to.equal('top_leaderboard');
145
+ expect(data.placements[0].refresh).to.be.undefined;
146
+ expect(data.placements[1].id).to.equal('bottom_leaderboard');
147
+ expect(data.placements[1].refresh).to.be.undefined;
148
+
149
+ // second auction for top leaderboard, was refreshed
150
+ request = spec.buildRequests([topLeaderboard, sidebar], bidderRequest);
151
+ expect(request).to.have.property('data');
152
+ data = JSON.parse(request.data);
153
+ expect(data).to.have.property('placements');
154
+ expect(data.placements.length).to.equal(2);
155
+ expect(data.placements[0].id).to.equal('top_leaderboard');
156
+ expect(data.placements[0].refresh).to.not.be.undefined;
157
+ expect(data.placements[0].refresh.count).to.equal(1);
158
+ expect(data.placements[0].refresh.time).to.be.greaterThanOrEqual(0);
159
+ expect(data.placements[1].id).to.equal('sidebar');
160
+ expect(data.placements[1].refresh).to.be.undefined;
161
+
162
+ // third auction, all units refreshed at some point
163
+ request = spec.buildRequests([topLeaderboard, bottomLeaderboard, sidebar], bidderRequest);
164
+ expect(request).to.have.property('data');
165
+ data = JSON.parse(request.data);
166
+ expect(data).to.have.property('placements');
167
+ expect(data.placements.length).to.equal(3);
168
+ expect(data.placements[0].id).to.equal('top_leaderboard');
169
+ expect(data.placements[0].refresh).to.not.be.undefined;
170
+ expect(data.placements[0].refresh.count).to.equal(2);
171
+ expect(data.placements[0].refresh.time).to.be.greaterThanOrEqual(0);
172
+ expect(data.placements[1].id).to.equal('bottom_leaderboard');
173
+ expect(data.placements[1].refresh).to.not.be.undefined;
174
+ expect(data.placements[1].refresh.count).to.equal(1);
175
+ expect(data.placements[1].refresh.time).to.be.greaterThanOrEqual(0);
176
+ expect(data.placements[2].id).to.equal('sidebar');
177
+ expect(data.placements[2].refresh).to.not.be.undefined;
178
+ expect(data.placements[2].refresh.count).to.equal(1);
179
+ expect(data.placements[2].refresh.time).to.be.greaterThanOrEqual(0);
180
+ });
130
181
  });
131
182
 
132
183
  describe('interpretResponse', function () {
@@ -146,7 +197,7 @@ describe('snigelBidAdapter', function () {
146
197
  cur: 'USD',
147
198
  bids: [
148
199
  {
149
- uuid: BASE_BID_REQUEST.bidId,
200
+ id: BASE_BID_REQUEST.adUnitCode,
150
201
  price: 0.0575,
151
202
  ad: '<html><body><h1>Test Ad</h1></body></html>',
152
203
  width: 728,
@@ -160,7 +211,7 @@ describe('snigelBidAdapter', function () {
160
211
  },
161
212
  };
162
213
 
163
- const bids = spec.interpretResponse(serverResponse, {});
214
+ const bids = spec.interpretResponse(serverResponse, {bidderRequest: {bids: [BASE_BID_REQUEST]}});
164
215
  expect(bids.length).to.equal(1);
165
216
  const bid = bids[0];
166
217
  expect(isValid(BASE_BID_REQUEST.adUnitCode, bid)).to.be.true;