Skip to content

Commit 6fb6706

Browse files
anand-venkatramanrobertrmartinez
authored andcommitted
PulsePoint: remove usage of deprecated utils method / prep for 3.0 (prebid#4257)
* ET-1691: Pulsepoint Analytics adapter for Prebid. (#1) * ET-1691: Adding pulsepoint analytics and tests for pulsepoint adapter * ET-1691: Adding pulsepoint analytics and tests for pulsepoint adapter * ET-1691: cleanup * ET-1691: minor * ET-1691: revert package.json change * Adding bidRequest to bidFactory.createBid method as per prebid#509 * ET-1765: Adding support for additional params in PulsePoint adapter (#2) * ET-1850: Fixing prebid#866 * Minor fix * Adding mandatory parameters to Bid * Removing usage of deprecated utils method * minor refactor
1 parent e4d3ff5 commit 6fb6706

File tree

2 files changed

+30
-24
lines changed

2 files changed

+30
-24
lines changed

modules/pulsepointBidAdapter.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ export const spec = {
4040
const request = {
4141
id: bidRequests[0].bidderRequestId,
4242
imp: bidRequests.map(slot => impression(slot)),
43-
site: site(bidRequests),
43+
site: site(bidRequests, bidderRequest),
4444
app: app(bidRequests),
4545
device: device(),
4646
bcat: bidRequests[0].params.bcat,
@@ -100,7 +100,7 @@ function bidResponseAvailable(request, response) {
100100
idToBidMap[bid.impid] = bid;
101101
}));
102102
}
103-
if (request.bidderRequest) {
103+
if (request.bidderRequest && request.bidderRequest.bids) {
104104
request.bidderRequest.bids.forEach(bid => {
105105
idToSlotConfig[bid.bidId] = bid;
106106
});
@@ -307,16 +307,16 @@ function dataAsset(id, params, type, defaultLen) {
307307
/**
308308
* Produces an OpenRTB site object.
309309
*/
310-
function site(bidderRequest) {
311-
const pubId = bidderRequest && bidderRequest.length > 0 ? bidderRequest[0].params.cp : '0';
312-
const appParams = bidderRequest[0].params.app;
310+
function site(bidRequests, bidderRequest) {
311+
const pubId = bidRequests && bidRequests.length > 0 ? bidRequests[0].params.cp : '0';
312+
const appParams = bidRequests[0].params.app;
313313
if (!appParams) {
314314
return {
315315
publisher: {
316316
id: pubId.toString(),
317317
},
318318
ref: referrer(),
319-
page: utils.getTopWindowLocation().href,
319+
page: bidderRequest && bidderRequest.refererInfo ? bidderRequest.refererInfo.referer : '',
320320
}
321321
}
322322
return null;

test/spec/modules/pulsepointBidAdapter_spec.js

Lines changed: 24 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/* eslint dot-notation:0, quote-props:0 */
22
import {expect} from 'chai';
33
import {spec} from 'modules/pulsepointBidAdapter';
4-
import {deepClone, getTopWindowLocation} from 'src/utils';
4+
import {deepClone} from 'src/utils';
55

66
describe('PulsePoint Adapter Tests', function () {
77
const slotConfigs = [{
@@ -138,9 +138,14 @@ describe('PulsePoint Adapter Tests', function () {
138138
}
139139
}
140140
}];
141+
const bidderRequest = {
142+
refererInfo: {
143+
referer: 'https://publisher.com/home'
144+
}
145+
};
141146

142147
it('Verify build request', function () {
143-
const request = spec.buildRequests(slotConfigs);
148+
const request = spec.buildRequests(slotConfigs, bidderRequest);
144149
expect(request.url).to.equal('https://bid.contextweb.com/header/ortb?src=prebid');
145150
expect(request.method).to.equal('POST');
146151
const ortbRequest = request.data;
@@ -149,7 +154,7 @@ describe('PulsePoint Adapter Tests', function () {
149154
expect(ortbRequest.site.publisher).to.not.equal(null);
150155
expect(ortbRequest.site.publisher.id).to.equal('p10000');
151156
expect(ortbRequest.site.ref).to.equal(window.top.document.referrer);
152-
expect(ortbRequest.site.page).to.equal(getTopWindowLocation().href);
157+
expect(ortbRequest.site.page).to.equal('https://publisher.com/home');
153158
expect(ortbRequest.imp).to.have.lengthOf(2);
154159
// device object
155160
expect(ortbRequest.device).to.not.equal(null);
@@ -167,7 +172,7 @@ describe('PulsePoint Adapter Tests', function () {
167172
});
168173

169174
it('Verify parse response', function () {
170-
const request = spec.buildRequests(slotConfigs);
175+
const request = spec.buildRequests(slotConfigs, bidderRequest);
171176
const ortbRequest = request.data;
172177
const ortbResponse = {
173178
seatbid: [{
@@ -196,7 +201,7 @@ describe('PulsePoint Adapter Tests', function () {
196201
});
197202

198203
it('Verify use ttl in ext', function () {
199-
const request = spec.buildRequests(slotConfigs);
204+
const request = spec.buildRequests(slotConfigs, bidderRequest);
200205
const ortbRequest = request.data;
201206
const ortbResponse = {
202207
seatbid: [{
@@ -222,13 +227,13 @@ describe('PulsePoint Adapter Tests', function () {
222227
});
223228

224229
it('Verify full passback', function () {
225-
const request = spec.buildRequests(slotConfigs);
230+
const request = spec.buildRequests(slotConfigs, bidderRequest);
226231
const bids = spec.interpretResponse({ body: null }, request)
227232
expect(bids).to.have.lengthOf(0);
228233
});
229234

230235
it('Verify Native request', function () {
231-
const request = spec.buildRequests(nativeSlotConfig);
236+
const request = spec.buildRequests(nativeSlotConfig, bidderRequest);
232237
expect(request.url).to.equal('https://bid.contextweb.com/header/ortb?src=prebid');
233238
expect(request.method).to.equal('POST');
234239
const ortbRequest = request.data;
@@ -266,7 +271,7 @@ describe('PulsePoint Adapter Tests', function () {
266271
});
267272

268273
it('Verify Native response', function () {
269-
const request = spec.buildRequests(nativeSlotConfig);
274+
const request = spec.buildRequests(nativeSlotConfig, bidderRequest);
270275
expect(request.url).to.equal('https://bid.contextweb.com/header/ortb?src=prebid');
271276
expect(request.method).to.equal('POST');
272277
const ortbRequest = request.data;
@@ -355,7 +360,7 @@ describe('PulsePoint Adapter Tests', function () {
355360
});
356361

357362
it('Verify app requests', function () {
358-
const request = spec.buildRequests(appSlotConfig);
363+
const request = spec.buildRequests(appSlotConfig, bidderRequest);
359364
const ortbRequest = request.data;
360365
// site object
361366
expect(ortbRequest.site).to.equal(null);
@@ -368,13 +373,13 @@ describe('PulsePoint Adapter Tests', function () {
368373
});
369374

370375
it('Verify GDPR', function () {
371-
const bidderRequest = {
376+
const bidderRequestGdpr = {
372377
gdprConsent: {
373378
gdprApplies: true,
374379
consentString: 'serialized_gpdr_data'
375380
}
376381
};
377-
const request = spec.buildRequests(slotConfigs, bidderRequest);
382+
const request = spec.buildRequests(slotConfigs, Object.assign({}, bidderRequest, bidderRequestGdpr));
378383
expect(request.url).to.equal('https://bid.contextweb.com/header/ortb?src=prebid');
379384
expect(request.method).to.equal('POST');
380385
const ortbRequest = request.data;
@@ -389,7 +394,7 @@ describe('PulsePoint Adapter Tests', function () {
389394
});
390395

391396
it('Verify Video request', function () {
392-
const request = spec.buildRequests(videoSlotConfig);
397+
const request = spec.buildRequests(videoSlotConfig, bidderRequest);
393398
expect(request.url).to.equal('https://bid.contextweb.com/header/ortb?src=prebid');
394399
expect(request.method).to.equal('POST');
395400
const ortbRequest = request.data;
@@ -409,7 +414,7 @@ describe('PulsePoint Adapter Tests', function () {
409414
});
410415

411416
it('Verify Video response', function () {
412-
const request = spec.buildRequests(videoSlotConfig);
417+
const request = spec.buildRequests(videoSlotConfig, bidderRequest);
413418
expect(request.url).to.equal('https://bid.contextweb.com/header/ortb?src=prebid');
414419
expect(request.method).to.equal('POST');
415420
const ortbRequest = request.data;
@@ -433,7 +438,7 @@ describe('PulsePoint Adapter Tests', function () {
433438
});
434439

435440
it('Verify extra parameters', function () {
436-
let request = spec.buildRequests(additionalParamsConfig);
441+
let request = spec.buildRequests(additionalParamsConfig, bidderRequest);
437442
let ortbRequest = request.data;
438443
expect(ortbRequest).to.not.equal(null);
439444
expect(ortbRequest.imp).to.have.lengthOf(1);
@@ -448,15 +453,15 @@ describe('PulsePoint Adapter Tests', function () {
448453
expect(ortbRequest.imp[0].ext.prebid.extra_key4).to.eql([1, 2, 3]);
449454
expect(Object.keys(ortbRequest.imp[0].ext.prebid)).to.eql(['extra_key1', 'extra_key2', 'extra_key3', 'extra_key4']);
450455
// attempting with a configuration with no unknown params.
451-
request = spec.buildRequests(outstreamSlotConfig);
456+
request = spec.buildRequests(outstreamSlotConfig, bidderRequest);
452457
ortbRequest = request.data;
453458
expect(ortbRequest).to.not.equal(null);
454459
expect(ortbRequest.imp).to.have.lengthOf(1);
455460
expect(ortbRequest.imp[0].ext).to.equal(null);
456461
});
457462

458463
it('Verify ortb parameters', function () {
459-
const request = spec.buildRequests(ortbParamsSlotConfig);
464+
const request = spec.buildRequests(ortbParamsSlotConfig, bidderRequest);
460465
const ortbRequest = request.data;
461466
expect(ortbRequest).to.not.equal(null);
462467
expect(ortbRequest.bcat).to.eql(['IAB-1', 'IAB-20']);
@@ -472,7 +477,8 @@ describe('PulsePoint Adapter Tests', function () {
472477
});
473478

474479
it('Verify outstream renderer', function () {
475-
const request = spec.buildRequests(outstreamSlotConfig, {bids: [outstreamSlotConfig[0]]});
480+
const bidderRequestOutstream = Object.assign({}, bidderRequest, {bids: [outstreamSlotConfig[0]]});
481+
const request = spec.buildRequests(outstreamSlotConfig, bidderRequestOutstream);
476482
const ortbRequest = request.data;
477483
expect(ortbRequest).to.not.be.null;
478484
expect(ortbRequest.imp[0]).to.not.be.null;
@@ -521,7 +527,7 @@ describe('PulsePoint Adapter Tests', function () {
521527
}
522528
}
523529
};
524-
const request = spec.buildRequests(bidRequests);
530+
const request = spec.buildRequests(bidRequests, bidderRequest);
525531
expect(request).to.be.not.null;
526532
const ortbRequest = request.data;
527533
expect(request.data).to.be.not.null;

0 commit comments

Comments
 (0)