From a063fc3bb9cd81474ee7f409507bcb29c9863ce4 Mon Sep 17 00:00:00 2001 From: Demetrio Girardi Date: Tue, 4 Oct 2022 12:22:50 -0700 Subject: [PATCH] PBS adapter: set `source.tid` to auction ID --- modules/prebidServerBidAdapter/index.js | 2 +- src/adapterManager.js | 6 ++---- test/spec/modules/prebidServerBidAdapter_spec.js | 7 +++---- 3 files changed, 6 insertions(+), 9 deletions(-) diff --git a/modules/prebidServerBidAdapter/index.js b/modules/prebidServerBidAdapter/index.js index 7b2d05479e5..562e5aaa1db 100644 --- a/modules/prebidServerBidAdapter/index.js +++ b/modules/prebidServerBidAdapter/index.js @@ -742,7 +742,7 @@ Object.assign(ORTB2.prototype, { } const request = { id: firstBidRequest.auctionId, - source: {tid: s2sBidRequest.tid}, + source: {tid: firstBidRequest.auctionId}, tmax: s2sConfig.timeout, imp: imps, // to do: add setconfig option to pass test = 1 diff --git a/src/adapterManager.js b/src/adapterManager.js index 472693a6888..4722013d5f0 100644 --- a/src/adapterManager.js +++ b/src/adapterManager.js @@ -357,8 +357,6 @@ adapterManager.callBids = (adUnits, bidRequests, addBidResponse, doneCb, request let counter = 0; - // $.source.tid MUST be a unique UUID and also THE SAME between all PBS Requests for a given Auction - const sourceTid = generateUUID(); _s2sConfigs.forEach((s2sConfig) => { if (s2sConfig && uniqueServerBidRequests[counter] && getS2SBidderSet(s2sConfig).has(uniqueServerBidRequests[counter].bidderCode)) { // s2s should get the same client side timeout as other client side requests. @@ -374,7 +372,7 @@ adapterManager.callBids = (adUnits, bidRequests, addBidResponse, doneCb, request let uniqueServerRequests = serverBidRequests.filter(serverBidRequest => serverBidRequest.uniquePbsTid === uniquePbsTid); if (s2sAdapter) { - let s2sBidRequest = {tid: sourceTid, 'ad_units': adUnitsS2SCopy, s2sConfig, ortb2Fragments}; + let s2sBidRequest = {'ad_units': adUnitsS2SCopy, s2sConfig, ortb2Fragments}; if (s2sBidRequest.ad_units.length) { let doneCbs = uniqueServerRequests.map(bidRequest => { bidRequest.start = timestamp(); @@ -387,7 +385,7 @@ adapterManager.callBids = (adUnits, bidRequests, addBidResponse, doneCb, request // fire BID_REQUESTED event for each s2s bidRequest uniqueServerRequests.forEach(bidRequest => { // add the new sourceTid - events.emit(CONSTANTS.EVENTS.BID_REQUESTED, {...bidRequest, tid: sourceTid}); + events.emit(CONSTANTS.EVENTS.BID_REQUESTED, {...bidRequest, tid: bidRequest.auctionId}); }); // make bid requests diff --git a/test/spec/modules/prebidServerBidAdapter_spec.js b/test/spec/modules/prebidServerBidAdapter_spec.js index 69eee1c3f4a..925f92fb08b 100644 --- a/test/spec/modules/prebidServerBidAdapter_spec.js +++ b/test/spec/modules/prebidServerBidAdapter_spec.js @@ -607,15 +607,14 @@ describe('S2S Adapter', function () { resetSyncedStatus(); }); - it('should set id to auction ID and source.tid to tid', function () { + it('should set id and source.tid to auction ID', function () { config.setConfig({ s2sConfig: CONFIG }); adapter.callBids(OUTSTREAM_VIDEO_REQUEST, BID_REQUESTS, addBidResponse, done, ajax); const requestBid = JSON.parse(server.requests[0].requestBody); - expect(requestBid.id).to.equal('173afb6d132ba3'); - expect(requestBid.source).to.be.an('object'); - expect(requestBid.source.tid).to.equal('437fbbf5-33f5-487a-8e16-a7112903cfe5'); + expect(requestBid.id).to.equal(BID_REQUESTS[0].auctionId); + expect(requestBid.source.tid).to.equal(BID_REQUESTS[0].auctionId); }); it('should block request if config did not define p1Consent URL in endpoint object config', function () {