Skip to content

Commit

Permalink
Update LockerDome adapter to support Prebid 3.0 (prebid#4301)
Browse files Browse the repository at this point in the history
  • Loading branch information
margsliu authored and bretg committed Oct 15, 2019
1 parent ae63dde commit 3965d3a
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 11 deletions.
9 changes: 6 additions & 3 deletions modules/lockerdomeBidAdapter.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,16 @@ export const spec = {
requestId: bid.bidId,
adUnitCode: bid.adUnitCode,
adUnitId: utils.getBidIdParameter('adUnitId', bid.params),
sizes: bid.sizes
sizes: bid.mediaTypes && bid.mediaTypes.banner && bid.mediaTypes.banner.sizes
}
});

const bidderRequestCanonicalUrl = (bidderRequest && bidderRequest.refererInfo && bidderRequest.refererInfo.canonicalUrl) || '';
const bidderRequestReferer = (bidderRequest && bidderRequest.refererInfo && bidderRequest.refererInfo.referer) || '';
const payload = {
bidRequests: adUnitBidRequests,
url: utils.getTopWindowLocation().href,
referrer: utils.getTopWindowReferrer()
url: encodeURIComponent(bidderRequestCanonicalUrl),
referrer: encodeURIComponent(bidderRequestReferer)
};

if (bidderRequest && bidderRequest.gdprConsent) {
Expand Down
1 change: 0 additions & 1 deletion modules/lockerdomeBidAdapter.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ Connects to LockerDome Ad Server for bids.
```
var adUnits = [{
code: 'ad-div',
sizes: [[300, 250]],
mediaTypes: {
banner: {
sizes: [[300, 250]]
Expand Down
29 changes: 22 additions & 7 deletions test/spec/modules/lockerdomeBidAdapter_spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ describe('LockerDomeAdapter', function () {
},
adUnitCode: 'ad-1',
transactionId: 'b55e97d7-792c-46be-95a5-3df40b115734',
sizes: [[300, 250]],
bidId: '2652ca954bce9',
bidderRequestId: '14a54fade69854',
auctionId: 'd4c83108-615d-4c2c-9384-dac9ffd4fd72'
Expand All @@ -31,7 +30,6 @@ describe('LockerDomeAdapter', function () {
},
adUnitCode: 'ad-2',
transactionId: '73459f05-c482-4706-b2b7-72e6f6264ce6',
sizes: [[300, 600]],
bidId: '4510f2834773ce',
bidderRequestId: '14a54fade69854',
auctionId: 'd4c83108-615d-4c2c-9384-dac9ffd4fd72'
Expand All @@ -51,19 +49,25 @@ describe('LockerDomeAdapter', function () {

describe('buildRequests', function () {
it('should generate a valid single POST request for multiple bid requests', function () {
const request = spec.buildRequests(bidRequests);
const bidderRequest = {
refererInfo: {
canonicalUrl: 'https://example.com/canonical',
referer: 'https://example.com'
}
};
const request = spec.buildRequests(bidRequests, bidderRequest);
expect(request.method).to.equal('POST');
expect(request.url).to.equal('https://lockerdome.com/ladbid/prebid');
expect(request.data).to.exist;

const requestData = JSON.parse(request.data);

expect(requestData.url).to.equal(utils.getTopWindowLocation().href);
expect(requestData.referrer).to.equal(utils.getTopWindowReferrer());

const bids = requestData.bidRequests;
expect(bids).to.have.lengthOf(2);

expect(requestData.url).to.equal(encodeURIComponent(bidderRequest.refererInfo.canonicalUrl));
expect(requestData.referrer).to.equal(encodeURIComponent(bidderRequest.refererInfo.referer));

expect(bids[0].requestId).to.equal('2652ca954bce9');
expect(bids[0].adUnitCode).to.equal('ad-1');
expect(bids[0].adUnitId).to.equal('LD10809467961050726');
Expand All @@ -84,6 +88,10 @@ describe('LockerDomeAdapter', function () {
gdprConsent: {
consentString: 'AAABBB',
gdprApplies: true
},
refererInfo: {
canonicalUrl: 'https://example.com/canonical',
referer: 'https://example.com'
}
};
const request = spec.buildRequests(bidRequests, bidderRequest);
Expand Down Expand Up @@ -129,7 +137,14 @@ describe('LockerDomeAdapter', function () {
}
};

const request = spec.buildRequests(bidRequests);
const bidderRequest = {
refererInfo: {
canonicalUrl: 'https://example.com/canonical',
referer: 'https://example.com'
}
};

const request = spec.buildRequests(bidRequests, bidderRequest);
const interpretedResponse = spec.interpretResponse(serverResponse, request);

expect(interpretedResponse).to.have.lengthOf(2);
Expand Down

0 comments on commit 3965d3a

Please sign in to comment.