From ab1e5c5d3b3ee741137d1796e18837dcfea9b7c5 Mon Sep 17 00:00:00 2001 From: Kevin Date: Tue, 16 Nov 2021 11:52:23 -0600 Subject: [PATCH] gpid support for emx --- modules/emx_digitalBidAdapter.js | 11 +++++++++++ test/spec/modules/emx_digitalBidAdapter_spec.js | 15 +++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/modules/emx_digitalBidAdapter.js b/modules/emx_digitalBidAdapter.js index 260ffe105f4..f1aa730ed19 100644 --- a/modules/emx_digitalBidAdapter.js +++ b/modules/emx_digitalBidAdapter.js @@ -257,6 +257,17 @@ export const spec = { tagid, secure }; + + // adding gpid support + let gpid = utils.deepAccess(bid, 'ortb2Imp.ext.data.adserver.adslot'); + if (!gpid) { + gpid = utils.deepAccess(bid, 'ortb2Imp.ext.data.pbadslot'); + } + + if (gpid) { + data.ext = {gpid: gpid.toString()}; + } + let typeSpecifics = isVideo ? { video: emxAdapter.buildVideo(bid) } : { banner: emxAdapter.buildBanner(bid) }; let bidfloorObj = bidfloor > 0 ? { bidfloor, bidfloorcur: DEFAULT_CUR } : {}; let emxBid = Object.assign(data, typeSpecifics, bidfloorObj); diff --git a/test/spec/modules/emx_digitalBidAdapter_spec.js b/test/spec/modules/emx_digitalBidAdapter_spec.js index 5831a8506c1..3e559488621 100644 --- a/test/spec/modules/emx_digitalBidAdapter_spec.js +++ b/test/spec/modules/emx_digitalBidAdapter_spec.js @@ -450,6 +450,21 @@ describe('emx_digital Adapter', function () { }); }); + it('should add gpid to request if present', () => { + // inject gpid + const gpid = '/12345/my-gpt-tag-0'; + let bid = utils.deepClone(bidderRequest.bids[0]); + bid.ortb2Imp = { ext: { data: { adserver: { adslot: gpid } } } }; // put gpid in both spots + bid.ortb2Imp = { ext: { data: { pbadslot: gpid } } }; + + // build bid request + let requestWithGPID = spec.buildRequests([bid], bidderRequest); + requestWithGPID = JSON.parse(requestWithGPID.data); + + // ensure gpid inside bid request + expect(requestWithGPID.imp[0].ext.gpid).to.exist.and.equal(gpid); + }); + describe('interpretResponse', function () { let bid = { 'bidder': 'emx_digital',