From 2fad62fdf0b3b00cf53cc1e63d72c8eace7e8a97 Mon Sep 17 00:00:00 2001 From: gcarnec Date: Fri, 29 Dec 2017 10:56:24 +0100 Subject: [PATCH 1/3] Added the adUrl in the bidObject in the response callback --- modules/smartadserverBidAdapter.js | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/smartadserverBidAdapter.js b/modules/smartadserverBidAdapter.js index d815f69c752..ceb07306faa 100644 --- a/modules/smartadserverBidAdapter.js +++ b/modules/smartadserverBidAdapter.js @@ -17,6 +17,7 @@ var SmartAdServer = function SmartAdServer() { bidObject.cpm = adUnit.cpm; bidObject.currency = adUnit.currency; bidObject.ad = adUnit.ad; + bidObject.adUrl = adUnit.adUrl; bidObject.width = adUnit.width; bidObject.height = adUnit.height; bidObject.dealId = adUnit.dealId; From 9f451216c60f2a41bb7f7eeeae41437b8587bb14 Mon Sep 17 00:00:00 2001 From: gcarnec Date: Fri, 29 Dec 2017 11:14:33 +0100 Subject: [PATCH 2/3] Added the test for the AdUrl --- .../modules/smartadserverBidAdapter_spec.js | 48 ++++++++++++++++--- 1 file changed, 41 insertions(+), 7 deletions(-) diff --git a/test/spec/modules/smartadserverBidAdapter_spec.js b/test/spec/modules/smartadserverBidAdapter_spec.js index bfb89cf4ead..757a24104d3 100644 --- a/test/spec/modules/smartadserverBidAdapter_spec.js +++ b/test/spec/modules/smartadserverBidAdapter_spec.js @@ -46,13 +46,20 @@ describe('smartadserver adapter tests', function () { ] }; - var BID_RESPONSE = { + var BID_RESPONSE_AD = { cpm: 0.42, ad: 'fake ad content', width: 300, height: 250 }; + var BID_RESPONSE_ADURL = { + cpm: 0.42, + adUrl: 'fakeAdUrl.com', + width: 300, + height: 250 + }; + it('set url parameters', function () { var stubLoadScript = sinon.stub(adLoader, 'loadScript'); @@ -125,13 +132,40 @@ describe('smartadserver adapter tests', function () { stubAddBidResponse.restore(); }); - it('creates a bid response if bid is returned', function() { + it('creates a bid response if bid is returned with ad', function() { + var stubLoadScript = sinon.stub(adLoader, 'loadScript', function(url) { + var bidUrl = stubLoadScript.getCall(0).args[0]; + var parsedBidUrl = urlParse(bidUrl); + var parsedBidUrlQueryString = querystringify.parse(parsedBidUrl.query); + + $$PREBID_GLOBAL$$[parsedBidUrlQueryString.pbjscbk.split('.')[1]](BID_RESPONSE_AD); + }); + var stubAddBidResponse = sinon.stub(bidmanager, 'addBidResponse'); + + adapter().callBids(DEFAULT_PARAMS); + + var bidResponsePlacementCode = stubAddBidResponse.getCall(0).args[0]; + var bidResponseAd = stubAddBidResponse.getCall(0).args[1]; + + expect(bidResponsePlacementCode).to.equal(DEFAULT_PARAMS.bids[0].placementCode); + expect(bidResponseAd.getStatusCode()).to.equal(CONSTANTS.STATUS.GOOD); + expect(bidResponseAd).to.have.property('bidderCode').and.to.equal('smartadserver'); + expect(bidResponseAd).to.have.property('cpm').and.to.equal(BID_RESPONSE_AD.cpm); + expect(bidResponseAd).to.have.property('ad').and.to.equal(BID_RESPONSE_AD.ad); + expect(bidResponseAd).to.have.property('width').and.to.equal(BID_RESPONSE_AD.width); + expect(bidResponseAd).to.have.property('height').and.to.equal(BID_RESPONSE_AD.height); + + stubLoadScript.restore(); + stubAddBidResponse.restore(); + }); + + it('creates a bid response if bid is returned with adUrl', function() { var stubLoadScript = sinon.stub(adLoader, 'loadScript', function(url) { var bidUrl = stubLoadScript.getCall(0).args[0]; var parsedBidUrl = urlParse(bidUrl); var parsedBidUrlQueryString = querystringify.parse(parsedBidUrl.query); - $$PREBID_GLOBAL$$[parsedBidUrlQueryString.pbjscbk.split('.')[1]](BID_RESPONSE); + $$PREBID_GLOBAL$$[parsedBidUrlQueryString.pbjscbk.split('.')[1]](BID_RESPONSE_ADURL); }); var stubAddBidResponse = sinon.stub(bidmanager, 'addBidResponse'); @@ -143,10 +177,10 @@ describe('smartadserver adapter tests', function () { expect(bidResponsePlacementCode).to.equal(DEFAULT_PARAMS.bids[0].placementCode); expect(bidResponseAd.getStatusCode()).to.equal(CONSTANTS.STATUS.GOOD); expect(bidResponseAd).to.have.property('bidderCode').and.to.equal('smartadserver'); - expect(bidResponseAd).to.have.property('cpm').and.to.equal(BID_RESPONSE.cpm); - expect(bidResponseAd).to.have.property('ad').and.to.equal(BID_RESPONSE.ad); - expect(bidResponseAd).to.have.property('width').and.to.equal(BID_RESPONSE.width); - expect(bidResponseAd).to.have.property('height').and.to.equal(BID_RESPONSE.height); + expect(bidResponseAd).to.have.property('cpm').and.to.equal(BID_RESPONSE_ADURL.cpm); + expect(bidResponseAd).to.have.property('adUrl').and.to.equal(BID_RESPONSE_ADURL.adUrl); + expect(bidResponseAd).to.have.property('width').and.to.equal(BID_RESPONSE_ADURL.width); + expect(bidResponseAd).to.have.property('height').and.to.equal(BID_RESPONSE_ADURL.height); stubLoadScript.restore(); stubAddBidResponse.restore(); From 79e700bbcd7d4fcc8c88e0a61bff10c1367075f0 Mon Sep 17 00:00:00 2001 From: gcarnec Date: Tue, 27 Mar 2018 17:51:47 +0200 Subject: [PATCH 3/3] add prebid version in bid request --- modules/smartadserverBidAdapter.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/smartadserverBidAdapter.js b/modules/smartadserverBidAdapter.js index ceb07306faa..6d3b18210f9 100644 --- a/modules/smartadserverBidAdapter.js +++ b/modules/smartadserverBidAdapter.js @@ -48,7 +48,8 @@ var SmartAdServer = function SmartAdServer() { 'tgt': encodeURIComponent(bid.params.target || ''), 'tag': bid.placementCode, 'sizes': bid.sizes.map(size => size[0] + 'x' + size[1]).join(','), - 'async': 1 + 'async': 1, + 'prebidVersion': '$prebid.version$' }; adloader.loadScript(url.format(adCall)); }