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.
- package/dist/33acrossBidAdapter.js +1 -1
- package/dist/33acrossIdSystem.js +1 -1
- package/dist/adagioBidAdapter.js +1 -1
- package/dist/adbookpspBidAdapter.js +1 -1
- package/dist/adgenerationBidAdapter.js +1 -1
- package/dist/adqueryBidAdapter.js +1 -1
- package/dist/adrelevantisBidAdapter.js +1 -1
- package/dist/adtrgtmeBidAdapter.js +1 -1
- package/dist/adxcgBidAdapter.js +1 -1
- package/dist/adyoulikeBidAdapter.js +1 -1
- package/dist/ajaBidAdapter.js +1 -1
- package/dist/amxBidAdapter.js +1 -1
- package/dist/amxIdSystem.js +1 -1
- package/dist/appierAnalyticsAdapter.js +1 -1
- package/dist/appnexusBidAdapter.js +1 -1
- package/dist/asoBidAdapter.js +1 -1
- package/dist/axonixBidAdapter.js +1 -1
- package/dist/bidglassBidAdapter.js +1 -1
- package/dist/big-richmediaBidAdapter.js +1 -1
- package/dist/bridgewellBidAdapter.js +1 -1
- package/dist/brightMountainMediaBidAdapter.js +1 -1
- package/dist/carodaBidAdapter.js +1 -1
- package/dist/chtnwBidAdapter.js +1 -1
- package/dist/concertBidAdapter.js +1 -1
- package/dist/connectadBidAdapter.js +1 -1
- package/dist/consentManagementGpp.js +1 -1
- package/dist/consumableBidAdapter.js +1 -1
- package/dist/conversantAnalyticsAdapter.js +1 -1
- package/dist/conversantBidAdapter.js +1 -1
- package/dist/craftBidAdapter.js +1 -1
- package/dist/criteoBidAdapter.js +1 -1
- package/dist/cwireBidAdapter.js +1 -1
- package/dist/dspxBidAdapter.js +1 -1
- package/dist/eplanningBidAdapter.js +1 -1
- package/dist/euidIdSystem.js +1 -1
- package/dist/feedadBidAdapter.js +1 -1
- package/dist/finativeBidAdapter.js +1 -1
- package/dist/freewheel-sspBidAdapter.js +1 -1
- package/dist/glimpseBidAdapter.js +1 -1
- package/dist/gmosspBidAdapter.js +1 -1
- package/dist/goldbachBidAdapter.js +1 -1
- package/dist/greenbidsAnalyticsAdapter.js +1 -1
- package/dist/greenbidsRtdProvider.js +1 -1
- package/dist/gridBidAdapter.js +1 -1
- package/dist/gumgumBidAdapter.js +1 -1
- package/dist/h12mediaBidAdapter.js +1 -1
- package/dist/hypelabBidAdapter.js +1 -1
- package/dist/id5IdSystem.js +1 -1
- package/dist/improvedigitalBidAdapter.js +1 -1
- package/dist/inmarBidAdapter.js +1 -1
- package/dist/insticatorBidAdapter.js +1 -1
- package/dist/ixBidAdapter.js +1 -1
- package/dist/justpremiumBidAdapter.js +1 -1
- package/dist/kargoBidAdapter.js +1 -1
- package/dist/konduitAnalyticsAdapter.js +1 -1
- package/dist/kueezBidAdapter.js +1 -1
- package/dist/kueezRtbBidAdapter.js +1 -1
- package/dist/kulturemediaBidAdapter.js +1 -1
- package/dist/lassoBidAdapter.js +1 -1
- package/dist/lifestreetBidAdapter.js +1 -1
- package/dist/liveyieldAnalyticsAdapter.js +1 -1
- package/dist/logicadBidAdapter.js +1 -1
- package/dist/loglyliftBidAdapter.js +1 -1
- package/dist/magniteAnalyticsAdapter.js +1 -1
- package/dist/malltvAnalyticsAdapter.js +1 -1
- package/dist/marsmediaBidAdapter.js +1 -1
- package/dist/mediafuseBidAdapter.js +1 -1
- package/dist/mediasquareBidAdapter.js +1 -1
- package/dist/mgidBidAdapter.js +1 -1
- package/dist/minutemediaBidAdapter.js +1 -1
- package/dist/minutemediaplusBidAdapter.js +1 -1
- package/dist/nexx360BidAdapter.js +1 -1
- package/dist/not-for-prod/prebid.js +130 -130
- package/dist/oguryBidAdapter.js +1 -1
- package/dist/onetagBidAdapter.js +1 -1
- package/dist/ooloAnalyticsAdapter.js +1 -1
- package/dist/optidigitalBidAdapter.js +1 -1
- package/dist/outbrainBidAdapter.js +1 -1
- package/dist/parrableIdSystem.js +1 -1
- package/dist/pixfutureBidAdapter.js +1 -1
- package/dist/prebid-core.js +1 -1
- package/dist/publinkIdSystem.js +1 -1
- package/dist/pubmaticBidAdapter.js +1 -1
- package/dist/pubwiseAnalyticsAdapter.js +1 -1
- package/dist/pxyzBidAdapter.js +1 -1
- package/dist/quantcastBidAdapter.js +1 -1
- package/dist/readpeakBidAdapter.js +1 -1
- package/dist/relaidoBidAdapter.js +1 -1
- package/dist/retailspotBidAdapter.js +1 -1
- package/dist/rhythmoneBidAdapter.js +1 -1
- package/dist/riseBidAdapter.js +1 -1
- package/dist/rtbhouseBidAdapter.js +1 -1
- package/dist/rubiconAnalyticsAdapter.js +1 -1
- package/dist/rubiconBidAdapter.js +1 -1
- package/dist/seedingAllianceBidAdapter.js +1 -1
- package/dist/seedtagBidAdapter.js +1 -1
- package/dist/sharethroughAnalyticsAdapter.js +1 -1
- package/dist/sharethroughBidAdapter.js +1 -1
- package/dist/shinezBidAdapter.js +1 -1
- package/dist/smaatoBidAdapter.js +1 -1
- package/dist/smartadserverBidAdapter.js +1 -1
- package/dist/smartxBidAdapter.js +1 -1
- package/dist/smilewantedBidAdapter.js +1 -1
- package/dist/snigelBidAdapter.js +1 -1
- package/dist/sonobiBidAdapter.js +1 -1
- package/dist/sovrnAnalyticsAdapter.js +1 -1
- package/dist/sovrnBidAdapter.js +1 -1
- package/dist/sspBCBidAdapter.js +1 -1
- package/dist/stvBidAdapter.js +1 -1
- package/dist/sublimeBidAdapter.js +1 -1
- package/dist/synacormediaBidAdapter.js +1 -1
- package/dist/targetVideoBidAdapter.js +1 -1
- package/dist/teadsBidAdapter.js +1 -1
- package/dist/trionBidAdapter.js +1 -1
- package/dist/tripleliftBidAdapter.js +1 -1
- package/dist/ttdBidAdapter.js +1 -1
- package/dist/ucfunnelAnalyticsAdapter.js +1 -1
- package/dist/uid2IdSystem.js +1 -1
- package/dist/underdogmediaBidAdapter.js +1 -1
- package/dist/undertoneBidAdapter.js +1 -1
- package/dist/vidazooBidAdapter.js +1 -1
- package/dist/videobyteBidAdapter.js +1 -1
- package/dist/visxBidAdapter.js +1 -1
- package/dist/vuukleBidAdapter.js +1 -1
- package/dist/widespaceBidAdapter.js +1 -1
- package/dist/winrBidAdapter.js +1 -1
- package/dist/yahoosspBidAdapter.js +1 -1
- package/dist/yieldmoBidAdapter.js +1 -1
- package/dist/yieldoneAnalyticsAdapter.js +1 -1
- package/modules/consentManagementGpp.js +10 -1
- package/modules/ixBidAdapter.js +3 -1
- package/modules/optidigitalBidAdapter.js +21 -14
- package/modules/rtbhouseBidAdapter.js +9 -2
- package/modules/rtbhouseBidAdapter.md +27 -8
- package/modules/snigelBidAdapter.js +69 -16
- package/modules/snigelBidAdapter.md +9 -3
- package/package.json +1 -1
- package/test/spec/modules/consentManagementGpp_spec.js +14 -8
- package/test/spec/modules/ixBidAdapter_spec.js +12 -6
- package/test/spec/modules/optidigitalBidAdapter_spec.js +9 -2
- package/test/spec/modules/rtbhouseBidAdapter_spec.js +35 -0
- 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].
|
|
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].
|
|
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
|
-
|
|
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;
|