From 466252beb6ca211731da5199fd676744d75f7a52 Mon Sep 17 00:00:00 2001 From: Jaimin Panchal Date: Mon, 2 Apr 2018 16:15:21 -0400 Subject: [PATCH] Log error returned by PBS (#2335) --- modules/prebidServerBidAdapter.js | 3 ++ .../modules/prebidServerBidAdapter_spec.js | 31 +++++++++++++++++++ 2 files changed, 34 insertions(+) diff --git a/modules/prebidServerBidAdapter.js b/modules/prebidServerBidAdapter.js index ebb630ceb7a6..39e3b906b476 100644 --- a/modules/prebidServerBidAdapter.js +++ b/modules/prebidServerBidAdapter.js @@ -317,6 +317,9 @@ const LEGACY_PROTOCOL = { if (bidder.no_cookie) { doBidderSync(bidder.usersync.type, bidder.usersync.url, bidder.bidder); } + if (bidder.error) { + utils.logWarn(`Prebid Server returned error: '${bidder.error}' for ${bidder.bidder}`); + } }); } diff --git a/test/spec/modules/prebidServerBidAdapter_spec.js b/test/spec/modules/prebidServerBidAdapter_spec.js index 383c599a1336..837b5ca60e87 100644 --- a/test/spec/modules/prebidServerBidAdapter_spec.js +++ b/test/spec/modules/prebidServerBidAdapter_spec.js @@ -358,6 +358,15 @@ const RESPONSE_OPENRTB_VIDEO = { }, }; +const RESPONSE_UNSUPPORTED_BIDDER = { + 'tid': '437fbbf5-33f5-487a-8e16-a7112903cfe5', + 'status': 'OK', + 'bidder_status': [{ + 'bidder': '33Across', + 'error': 'Unsupported bidder' + }] +}; + describe('S2S Adapter', () => { let adapter, addBidResponse = sinon.spy(), @@ -559,6 +568,7 @@ describe('S2S Adapter', () => { describe('response handler', () => { let server; + let logWarnSpy; beforeEach(() => { server = sinon.fakeServer.create(); @@ -569,6 +579,7 @@ describe('S2S Adapter', () => { sinon.stub(utils, 'getBidRequest').returns({ bidId: '123' }); + logWarnSpy = sinon.spy(utils, 'logWarn'); }); afterEach(() => { @@ -578,6 +589,7 @@ describe('S2S Adapter', () => { utils.insertUserSyncIframe.restore(); utils.logError.restore(); cookie.cookieSet.restore(); + logWarnSpy.restore(); }); // TODO: test dependent on pbjs_api_spec. Needs to be isolated @@ -810,6 +822,25 @@ describe('S2S Adapter', () => { expect(response).to.have.property('adId', '123'); expect(response).to.have.property('cpm', 10); }); + + it('should log warning for unsupported bidder', () => { + server.respondWith(JSON.stringify(RESPONSE_UNSUPPORTED_BIDDER)); + + const s2sConfig = Object.assign({}, CONFIG, { + bidders: ['33Across'] + }); + + const _config = { + s2sConfig: s2sConfig, + } + + config.setConfig(_config); + config.setConfig({s2sConfig: CONFIG}); + adapter.callBids(REQUEST, BID_REQUESTS, addBidResponse, done, ajax); + server.respond(); + + sinon.assert.calledOnce(logWarnSpy); + }); }); describe('s2sConfig', () => {