prebid.js 7.52.0 → 7.53.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.
- package/dist/1plusXRtdProvider.js +1 -1
- 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/adkernelBidAdapter.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/airgridRtdProvider.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/beopBidAdapter.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/conceptxBidAdapter.js +1 -0
- package/dist/concertBidAdapter.js +1 -1
- package/dist/connectadBidAdapter.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/eskimiBidAdapter.js +1 -1
- package/dist/euidIdSystem.js +1 -0
- package/dist/feedadBidAdapter.js +1 -1
- package/dist/finativeBidAdapter.js +1 -1
- package/dist/freepassIdSystem.js +1 -0
- 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/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/limelightDigitalBidAdapter.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 +146 -142
- 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/pairIdSystem.js +1 -1
- package/dist/parrableIdSystem.js +1 -1
- package/dist/pixfutureBidAdapter.js +1 -1
- package/dist/prebid-core.js +1 -1
- package/dist/proxistoreBidAdapter.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/richaudienceBidAdapter.js +1 -1
- package/dist/riseBidAdapter.js +1 -1
- package/dist/rubiconAnalyticsAdapter.js +1 -1
- package/dist/rubiconBidAdapter.js +1 -1
- package/dist/schain.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/sirdataRtdProvider.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/sonobiBidAdapter.js +1 -1
- package/dist/sovrnAnalyticsAdapter.js +1 -1
- package/dist/sovrnBidAdapter.js +1 -1
- package/dist/sspBCBidAdapter.js +1 -1
- package/dist/stroeerCoreBidAdapter.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/uid2IdSystem_shared.js +1 -0
- package/dist/underdogmediaBidAdapter.js +1 -1
- package/dist/undertoneBidAdapter.js +1 -1
- package/dist/userId.js +1 -1
- package/dist/vidazooBidAdapter.js +1 -1
- package/dist/videobyteBidAdapter.js +1 -1
- package/dist/viouslyBidAdapter.js +1 -1
- package/dist/visxBidAdapter.js +1 -1
- package/dist/vuukleBidAdapter.js +1 -1
- package/dist/weboramaRtdProvider.js +1 -1
- package/dist/widespaceBidAdapter.js +1 -1
- package/dist/winrBidAdapter.js +1 -1
- package/dist/yahoosspBidAdapter.js +1 -1
- package/dist/yieldlabBidAdapter.js +1 -1
- package/dist/yieldmoBidAdapter.js +1 -1
- package/dist/yieldoneAnalyticsAdapter.js +1 -1
- package/dist/zeta_global_sspBidAdapter.js +1 -1
- package/integrationExamples/gpt/userId_example.html +20 -6
- package/modules/.submodules.json +3 -1
- package/modules/1plusXRtdProvider.js +31 -60
- package/modules/adagioBidAdapter.js +86 -24
- package/modules/adkernelBidAdapter.js +2 -2
- package/modules/airgridRtdProvider.js +11 -12
- package/modules/asoBidAdapter.js +2 -1
- package/modules/beopBidAdapter.js +6 -0
- package/modules/conceptxBidAdapter.js +70 -0
- package/modules/conceptxBidAdapter.md +36 -0
- package/modules/criteoBidAdapter.js +9 -2
- package/modules/eskimiBidAdapter.js +171 -41
- package/modules/eskimiBidAdapter.md +35 -16
- package/modules/euidIdSystem.js +121 -0
- package/modules/euidIdSystem.md +131 -0
- package/modules/freepassIdSystem.js +61 -0
- package/modules/freepassIdSystem.md +47 -0
- package/modules/greenbidsAnalyticsAdapter.js +1 -1
- package/modules/id5IdSystem.js +3 -5
- package/modules/ixBidAdapter.js +12 -1
- package/modules/limelightDigitalBidAdapter.js +1 -1
- package/modules/logicadBidAdapter.js +14 -1
- package/modules/mediasquareBidAdapter.js +13 -5
- package/modules/nexx360BidAdapter.js +1 -0
- package/modules/pairIdSystem.js +10 -5
- package/modules/proxistoreBidAdapter.js +11 -14
- package/modules/richaudienceBidAdapter.js +10 -1
- package/modules/riseBidAdapter.js +1 -1
- package/modules/schain.js +2 -2
- package/modules/sirdataRtdProvider.js +73 -146
- package/modules/sovrnBidAdapter.js +4 -1
- package/modules/stroeerCoreBidAdapter.js +55 -6
- package/modules/uid2IdSystem.js +27 -210
- package/modules/uid2IdSystem.md +104 -23
- package/modules/uid2IdSystem_shared.js +232 -0
- package/modules/userId/eids.js +8 -0
- package/modules/userId/userId.md +2 -1
- package/modules/viouslyBidAdapter.js +2 -2
- package/modules/weboramaRtdProvider.js +25 -95
- package/modules/weboramaRtdProvider.md +4 -4
- package/modules/yieldlabBidAdapter.js +23 -14
- package/modules/zeta_global_sspBidAdapter.js +27 -22
- package/package.json +1 -1
- package/src/adloader.js +1 -0
- package/test/spec/modules/1plusXRtdProvider_spec.js +98 -149
- package/test/spec/modules/adagioBidAdapter_spec.js +46 -17
- package/test/spec/modules/airgridRtdProvider_spec.js +2 -0
- package/test/spec/modules/beopBidAdapter_spec.js +24 -0
- package/test/spec/modules/conceptxBidAdapter_spec.js +136 -0
- package/test/spec/modules/criteoBidAdapter_spec.js +1 -1
- package/test/spec/modules/eids_spec.js +15 -0
- package/test/spec/modules/eskimiBidAdapter_spec.js +264 -112
- package/test/spec/modules/euidIdSystem_spec.js +130 -0
- package/test/spec/modules/freepassIdSystem_spec.js +186 -0
- package/test/spec/modules/id5IdSystem_spec.js +10 -3
- package/test/spec/modules/ixBidAdapter_spec.js +30 -0
- package/test/spec/modules/logicadBidAdapter_spec.js +122 -2
- package/test/spec/modules/mediasquareBidAdapter_spec.js +4 -0
- package/test/spec/modules/richaudienceBidAdapter_spec.js +44 -0
- package/test/spec/modules/schain_spec.js +9 -0
- package/test/spec/modules/sirdataRtdProvider_spec.js +110 -17
- package/test/spec/modules/sovrnBidAdapter_spec.js +13 -0
- package/test/spec/modules/stroeerCoreBidAdapter_spec.js +151 -6
- package/test/spec/modules/uid2IdSystem_helpers.js +70 -0
- package/test/spec/modules/uid2IdSystem_spec.js +131 -86
- package/test/spec/modules/userId_spec.js +16 -12
- package/test/spec/modules/weboramaRtdProvider_spec.js +331 -205
- package/test/spec/modules/yieldlabBidAdapter_spec.js +42 -2
- package/test/spec/modules/zeta_global_sspBidAdapter_spec.js +200 -4
|
@@ -200,6 +200,15 @@ const NATIVE_RESPONSE = Object.assign({}, RESPONSE, {
|
|
|
200
200
|
value: 'Native body value',
|
|
201
201
|
},
|
|
202
202
|
},
|
|
203
|
+
{
|
|
204
|
+
id: 4,
|
|
205
|
+
img: {
|
|
206
|
+
url: 'https://localhost:8080/assets/favicon/favicon-16x16.png',
|
|
207
|
+
w: 16,
|
|
208
|
+
h: 16,
|
|
209
|
+
type: 1,
|
|
210
|
+
},
|
|
211
|
+
},
|
|
203
212
|
],
|
|
204
213
|
imptrackers: [
|
|
205
214
|
'http://localhost:8080/ve?d=ODE9ZSY2MTI1MjAzNjMzMzYxPXN0JjA0NWUwZDk0NTY5Yi05M2FiLWUwZTQtOWFjNy1hYWY0MzFiZj1kaXQmMj12',
|
|
@@ -567,15 +576,24 @@ describe('yieldlabBidAdapter', () => {
|
|
|
567
576
|
expect(result[0].native.image.url).to.equal('https://localhost:8080/yl-logo100x100.jpg');
|
|
568
577
|
expect(result[0].native.image.width).to.equal(100);
|
|
569
578
|
expect(result[0].native.image.height).to.equal(100);
|
|
579
|
+
expect(result[0].native.icon.url).to.equal('https://localhost:8080/assets/favicon/favicon-16x16.png');
|
|
580
|
+
expect(result[0].native.icon.width).to.equal(16);
|
|
581
|
+
expect(result[0].native.icon.height).to.equal(16);
|
|
570
582
|
expect(result[0].native.clickUrl).to.equal('https://www.yieldlab.de');
|
|
571
583
|
expect(result[0].native.impressionTrackers.length).to.equal(3);
|
|
572
|
-
expect(result[0].native.assets.length).to.equal(
|
|
584
|
+
expect(result[0].native.assets.length).to.equal(4);
|
|
573
585
|
const titleAsset = result[0].native.assets.find(asset => 'title' in asset);
|
|
574
|
-
const imageAsset = result[0].native.assets.find(asset =>
|
|
586
|
+
const imageAsset = result[0].native.assets.find((asset) => {
|
|
587
|
+
return asset?.img?.type === 3;
|
|
588
|
+
});
|
|
589
|
+
const iconAsset = result[0].native.assets.find((asset) => {
|
|
590
|
+
return asset?.img?.type === 1;
|
|
591
|
+
});
|
|
575
592
|
const bodyAsset = result[0].native.assets.find(asset => 'data' in asset);
|
|
576
593
|
expect(titleAsset).to.exist.and.to.have.nested.property('id', 1)
|
|
577
594
|
expect(imageAsset).to.exist.and.to.have.nested.property('id', 2)
|
|
578
595
|
expect(bodyAsset).to.exist.and.to.have.nested.property('id', 3)
|
|
596
|
+
expect(iconAsset).to.exist.and.to.have.nested.property('id', 4)
|
|
579
597
|
});
|
|
580
598
|
|
|
581
599
|
it('should add adUrl and default native assets when type is Native', () => {
|
|
@@ -601,6 +619,28 @@ describe('yieldlabBidAdapter', () => {
|
|
|
601
619
|
expect(result[0].native.image.height).to.equal(0);
|
|
602
620
|
});
|
|
603
621
|
|
|
622
|
+
it('should not add icon if not present in the native response', () => {
|
|
623
|
+
const NATIVE_RESPONSE_WITHOUT_ICON = Object.assign({}, NATIVE_RESPONSE, {
|
|
624
|
+
native: {
|
|
625
|
+
link: {
|
|
626
|
+
url: 'https://www.yieldlab.de',
|
|
627
|
+
},
|
|
628
|
+
assets: [
|
|
629
|
+
{
|
|
630
|
+
id: 1,
|
|
631
|
+
title: {
|
|
632
|
+
text: 'This is a great headline',
|
|
633
|
+
}
|
|
634
|
+
}
|
|
635
|
+
],
|
|
636
|
+
imptrackers: [],
|
|
637
|
+
},
|
|
638
|
+
});
|
|
639
|
+
const result = spec.interpretResponse({body: [NATIVE_RESPONSE_WITHOUT_ICON]}, {validBidRequests: [NATIVE_REQUEST()], queryParams: REQPARAMS});
|
|
640
|
+
expect(result[0].native.hasOwnProperty('icon')).to.be.false;
|
|
641
|
+
expect(result[0].native.title).to.equal('This is a great headline');
|
|
642
|
+
});
|
|
643
|
+
|
|
604
644
|
it('should append gdpr parameters to vastUrl', () => {
|
|
605
645
|
const result = spec.interpretResponse({body: [VIDEO_RESPONSE]}, {validBidRequests: [VIDEO_REQUEST()], queryParams: REQPARAMS_GDPR});
|
|
606
646
|
|
|
@@ -127,6 +127,29 @@ describe('Zeta Ssp Bid Adapter', function () {
|
|
|
127
127
|
timeout: 500
|
|
128
128
|
}];
|
|
129
129
|
|
|
130
|
+
const bannerWithFewSizesRequest = [{
|
|
131
|
+
bidId: 12345,
|
|
132
|
+
auctionId: 67890,
|
|
133
|
+
mediaTypes: {
|
|
134
|
+
banner: {
|
|
135
|
+
sizes: [[300, 250], [200, 240], [100, 150]],
|
|
136
|
+
}
|
|
137
|
+
},
|
|
138
|
+
refererInfo: {
|
|
139
|
+
page: 'http://www.zetaglobal.com/page?param=value',
|
|
140
|
+
domain: 'www.zetaglobal.com',
|
|
141
|
+
},
|
|
142
|
+
gdprConsent: {
|
|
143
|
+
gdprApplies: 1,
|
|
144
|
+
consentString: 'consentString'
|
|
145
|
+
},
|
|
146
|
+
schain: schain,
|
|
147
|
+
uspConsent: 'someCCPAString',
|
|
148
|
+
params: params,
|
|
149
|
+
userIdAsEids: eids,
|
|
150
|
+
timeout: 500
|
|
151
|
+
}];
|
|
152
|
+
|
|
130
153
|
const videoRequest = [{
|
|
131
154
|
bidId: 112233,
|
|
132
155
|
auctionId: 667788,
|
|
@@ -148,6 +171,87 @@ describe('Zeta Ssp Bid Adapter', function () {
|
|
|
148
171
|
params: params
|
|
149
172
|
}];
|
|
150
173
|
|
|
174
|
+
const zetaResponse = {
|
|
175
|
+
body: {
|
|
176
|
+
id: '12345',
|
|
177
|
+
seatbid: [
|
|
178
|
+
{
|
|
179
|
+
bid: [
|
|
180
|
+
{
|
|
181
|
+
id: 'auctionId',
|
|
182
|
+
impid: 'impId',
|
|
183
|
+
price: 0.0,
|
|
184
|
+
adm: 'adMarkup',
|
|
185
|
+
crid: 'creativeId',
|
|
186
|
+
adomain: [
|
|
187
|
+
'https://example.com'
|
|
188
|
+
],
|
|
189
|
+
h: 250,
|
|
190
|
+
w: 300
|
|
191
|
+
}
|
|
192
|
+
]
|
|
193
|
+
}
|
|
194
|
+
],
|
|
195
|
+
cur: 'USD'
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
const responseBannerPayload = {
|
|
200
|
+
data: {
|
|
201
|
+
id: '123',
|
|
202
|
+
site: {
|
|
203
|
+
id: 'SITE_ID',
|
|
204
|
+
page: 'page.com',
|
|
205
|
+
domain: 'domain.com'
|
|
206
|
+
},
|
|
207
|
+
user: {
|
|
208
|
+
id: '45asdf9tydhrty789adfad4678rew656789',
|
|
209
|
+
buyeruid: '1234567890'
|
|
210
|
+
},
|
|
211
|
+
cur: [
|
|
212
|
+
'USD'
|
|
213
|
+
],
|
|
214
|
+
imp: [
|
|
215
|
+
{
|
|
216
|
+
id: '1',
|
|
217
|
+
banner: {
|
|
218
|
+
h: 600,
|
|
219
|
+
w: 160
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
],
|
|
223
|
+
at: 1
|
|
224
|
+
}
|
|
225
|
+
};
|
|
226
|
+
|
|
227
|
+
const responseVideoPayload = {
|
|
228
|
+
data: {
|
|
229
|
+
id: '123',
|
|
230
|
+
site: {
|
|
231
|
+
id: 'SITE_ID',
|
|
232
|
+
page: 'page.com',
|
|
233
|
+
domain: 'domain.com'
|
|
234
|
+
},
|
|
235
|
+
user: {
|
|
236
|
+
id: '45asdf9tydhrty789adfad4678rew656789',
|
|
237
|
+
buyeruid: '1234567890'
|
|
238
|
+
},
|
|
239
|
+
cur: [
|
|
240
|
+
'USD'
|
|
241
|
+
],
|
|
242
|
+
imp: [
|
|
243
|
+
{
|
|
244
|
+
id: '1',
|
|
245
|
+
video: {
|
|
246
|
+
h: 600,
|
|
247
|
+
w: 160
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
],
|
|
251
|
+
at: 1
|
|
252
|
+
}
|
|
253
|
+
};
|
|
254
|
+
|
|
151
255
|
it('Test the bid validation function', function () {
|
|
152
256
|
const validBid = spec.isBidRequestValid(bannerRequest[0]);
|
|
153
257
|
const invalidBid = spec.isBidRequestValid(null);
|
|
@@ -201,7 +305,12 @@ describe('Zeta Ssp Bid Adapter', function () {
|
|
|
201
305
|
'https://example.com'
|
|
202
306
|
],
|
|
203
307
|
h: 250,
|
|
204
|
-
w: 300
|
|
308
|
+
w: 300,
|
|
309
|
+
ext: {
|
|
310
|
+
prebid: {
|
|
311
|
+
type: 'banner'
|
|
312
|
+
}
|
|
313
|
+
}
|
|
205
314
|
},
|
|
206
315
|
{
|
|
207
316
|
id: 'auctionId2',
|
|
@@ -215,7 +324,9 @@ describe('Zeta Ssp Bid Adapter', function () {
|
|
|
215
324
|
h: 150,
|
|
216
325
|
w: 200,
|
|
217
326
|
ext: {
|
|
218
|
-
|
|
327
|
+
prebid: {
|
|
328
|
+
type: 'video'
|
|
329
|
+
}
|
|
219
330
|
}
|
|
220
331
|
},
|
|
221
332
|
{
|
|
@@ -228,7 +339,12 @@ describe('Zeta Ssp Bid Adapter', function () {
|
|
|
228
339
|
'https://example3.com'
|
|
229
340
|
],
|
|
230
341
|
h: 400,
|
|
231
|
-
w: 300
|
|
342
|
+
w: 300,
|
|
343
|
+
ext: {
|
|
344
|
+
prebid: {
|
|
345
|
+
type: 'video'
|
|
346
|
+
}
|
|
347
|
+
}
|
|
232
348
|
}
|
|
233
349
|
]
|
|
234
350
|
}
|
|
@@ -237,7 +353,7 @@ describe('Zeta Ssp Bid Adapter', function () {
|
|
|
237
353
|
}
|
|
238
354
|
};
|
|
239
355
|
|
|
240
|
-
const bidResponse = spec.interpretResponse(response,
|
|
356
|
+
const bidResponse = spec.interpretResponse(response, responseBannerPayload);
|
|
241
357
|
expect(bidResponse).to.not.be.empty;
|
|
242
358
|
|
|
243
359
|
const bid1 = bidResponse[0];
|
|
@@ -408,4 +524,84 @@ describe('Zeta Ssp Bid Adapter', function () {
|
|
|
408
524
|
|
|
409
525
|
expect(payload.imp[0].tagid).to.eql(params.tagid);
|
|
410
526
|
});
|
|
527
|
+
|
|
528
|
+
it('Test if only one size', function () {
|
|
529
|
+
const request = spec.buildRequests(bannerRequest, bannerRequest[0]);
|
|
530
|
+
const payload = JSON.parse(request.data);
|
|
531
|
+
|
|
532
|
+
// banner
|
|
533
|
+
expect(payload.imp[0].banner.w).to.eql(300);
|
|
534
|
+
expect(payload.imp[0].banner.h).to.eql(250);
|
|
535
|
+
|
|
536
|
+
expect(payload.imp[0].banner.format).to.be.undefined;
|
|
537
|
+
});
|
|
538
|
+
|
|
539
|
+
it('Test few sizes provided in format', function () {
|
|
540
|
+
const request = spec.buildRequests(bannerWithFewSizesRequest, bannerWithFewSizesRequest[0]);
|
|
541
|
+
const payload = JSON.parse(request.data);
|
|
542
|
+
|
|
543
|
+
// banner
|
|
544
|
+
expect(payload.imp[0].banner.w).to.eql(300);
|
|
545
|
+
expect(payload.imp[0].banner.h).to.eql(250);
|
|
546
|
+
|
|
547
|
+
expect(payload.imp[0].banner.format.length).to.eql(3);
|
|
548
|
+
|
|
549
|
+
// format[0]
|
|
550
|
+
expect(payload.imp[0].banner.format[0].w).to.eql(300);
|
|
551
|
+
expect(payload.imp[0].banner.format[0].h).to.eql(250);
|
|
552
|
+
|
|
553
|
+
// format[1]
|
|
554
|
+
expect(payload.imp[0].banner.format[1].w).to.eql(200);
|
|
555
|
+
expect(payload.imp[0].banner.format[1].h).to.eql(240);
|
|
556
|
+
|
|
557
|
+
// format[2]
|
|
558
|
+
expect(payload.imp[0].banner.format[2].w).to.eql(100);
|
|
559
|
+
expect(payload.imp[0].banner.format[2].h).to.eql(150);
|
|
560
|
+
});
|
|
561
|
+
|
|
562
|
+
it('Test the response default mediaType:banner', function () {
|
|
563
|
+
const bidResponse = spec.interpretResponse(zetaResponse, responseBannerPayload);
|
|
564
|
+
expect(bidResponse).to.not.be.empty;
|
|
565
|
+
expect(bidResponse.length).to.eql(1);
|
|
566
|
+
expect(bidResponse[0].mediaType).to.eql(BANNER);
|
|
567
|
+
expect(bidResponse[0].ad).to.eql(zetaResponse.body.seatbid[0].bid[0].adm);
|
|
568
|
+
expect(bidResponse[0].vastXml).to.be.undefined;
|
|
569
|
+
});
|
|
570
|
+
|
|
571
|
+
it('Test the response default mediaType:video', function () {
|
|
572
|
+
const bidResponse = spec.interpretResponse(zetaResponse, responseVideoPayload);
|
|
573
|
+
expect(bidResponse).to.not.be.empty;
|
|
574
|
+
expect(bidResponse.length).to.eql(1);
|
|
575
|
+
expect(bidResponse[0].mediaType).to.eql(VIDEO);
|
|
576
|
+
expect(bidResponse[0].ad).to.eql(zetaResponse.body.seatbid[0].bid[0].adm);
|
|
577
|
+
expect(bidResponse[0].vastXml).to.eql(zetaResponse.body.seatbid[0].bid[0].adm);
|
|
578
|
+
});
|
|
579
|
+
|
|
580
|
+
it('Test the response mediaType:video from ext param', function () {
|
|
581
|
+
zetaResponse.body.seatbid[0].bid[0].ext = {
|
|
582
|
+
prebid: {
|
|
583
|
+
type: 'video'
|
|
584
|
+
}
|
|
585
|
+
}
|
|
586
|
+
const bidResponse = spec.interpretResponse(zetaResponse, responseBannerPayload);
|
|
587
|
+
expect(bidResponse).to.not.be.empty;
|
|
588
|
+
expect(bidResponse.length).to.eql(1);
|
|
589
|
+
expect(bidResponse[0].mediaType).to.eql(VIDEO);
|
|
590
|
+
expect(bidResponse[0].ad).to.eql(zetaResponse.body.seatbid[0].bid[0].adm);
|
|
591
|
+
expect(bidResponse[0].vastXml).to.eql(zetaResponse.body.seatbid[0].bid[0].adm);
|
|
592
|
+
});
|
|
593
|
+
|
|
594
|
+
it('Test the response mediaType:banner from ext param', function () {
|
|
595
|
+
zetaResponse.body.seatbid[0].bid[0].ext = {
|
|
596
|
+
prebid: {
|
|
597
|
+
type: 'banner'
|
|
598
|
+
}
|
|
599
|
+
}
|
|
600
|
+
const bidResponse = spec.interpretResponse(zetaResponse, responseVideoPayload);
|
|
601
|
+
expect(bidResponse).to.not.be.empty;
|
|
602
|
+
expect(bidResponse.length).to.eql(1);
|
|
603
|
+
expect(bidResponse[0].mediaType).to.eql(BANNER);
|
|
604
|
+
expect(bidResponse[0].ad).to.eql(zetaResponse.body.seatbid[0].bid[0].adm);
|
|
605
|
+
expect(bidResponse[0].vastXml).to.be.undefined;
|
|
606
|
+
});
|
|
411
607
|
});
|