From 4548df6b5fa8402349e6cf0288cfe7b5f54f98b5 Mon Sep 17 00:00:00 2001 From: Inna Yaretsky <> Date: Thu, 1 Feb 2024 16:05:28 +0200 Subject: [PATCH 1/5] support gpp in rise and minutemedia --- modules/minutemediaBidAdapter.js | 8 ++++++++ modules/riseBidAdapter.js | 8 ++++++++ test/spec/modules/minutemediaBidAdapter_spec.js | 16 ++++++++++++++++ test/spec/modules/riseBidAdapter_spec.js | 16 ++++++++++++++++ 4 files changed, 48 insertions(+) diff --git a/modules/minutemediaBidAdapter.js b/modules/minutemediaBidAdapter.js index a4158e2abfa..ecb6d0241fb 100644 --- a/modules/minutemediaBidAdapter.js +++ b/modules/minutemediaBidAdapter.js @@ -460,6 +460,14 @@ function generateGeneralParams(generalObject, bidderRequest) { generalParams.gdpr_consent = bidderRequest.gdprConsent.consentString; } + if (bidderRequest.gppConsent) { + generalBidParams.gppString = bidderRequest.gppConsent.gppString; + generalBidParams.gppSid = bidderRequest.gppConsent.applicableSections; + } else if (bidderRequest.ortb2?.regs?.gpp) { + generalBidParams.gppString = bidderRequest.ortb2.regs.gpp; + generalBidParams.gppSid = bidderRequest.ortb2.regs.gpp_sid; + } + if (generalBidParams.ifa) { generalParams.ifa = generalBidParams.ifa; } diff --git a/modules/riseBidAdapter.js b/modules/riseBidAdapter.js index 78854129f8a..49eda2cc2d8 100644 --- a/modules/riseBidAdapter.js +++ b/modules/riseBidAdapter.js @@ -470,6 +470,14 @@ function generateGeneralParams(generalObject, bidderRequest) { generalParams.gdpr_consent = bidderRequest.gdprConsent.consentString; } + if (bidderRequest.gppConsent) { + generalBidParams.gppString = bidderRequest.gppConsent.gppString; + generalBidParams.gppSid = bidderRequest.gppConsent.applicableSections; + } else if (bidderRequest.ortb2?.regs?.gpp) { + generalBidParams.gppString = bidderRequest.ortb2.regs.gpp; + generalBidParams.gppSid = bidderRequest.ortb2.regs.gpp_sid; + } + if (generalBidParams.ifa) { generalParams.ifa = generalBidParams.ifa; } diff --git a/test/spec/modules/minutemediaBidAdapter_spec.js b/test/spec/modules/minutemediaBidAdapter_spec.js index 7e22114aeed..314b3763e8a 100644 --- a/test/spec/modules/minutemediaBidAdapter_spec.js +++ b/test/spec/modules/minutemediaBidAdapter_spec.js @@ -301,6 +301,22 @@ describe('minutemediaAdapter', function () { expect(request.data.params).to.have.property('gdpr_consent', 'test-consent-string'); }); + it('should not send the gpp param if gppConsent is false in the bidRequest', function () { + const bidderRequestWithGPP = Object.assign({gppConsent: false}, bidderRequest); + const request = spec.buildRequests(bidRequests, bidderRequestWithGPP); + expect(request.data.params).to.be.an('object'); + expect(request.data.params).to.not.have.property('gppString'); + expect(request.data.params).to.not.have.property('gppSid'); + }); + + it('should send the gpp param if gppConsent is true in the bidRequest', function () { + const bidderRequestWithGPP = Object.assign({gppConsent: {gppString: 'test-consent-string', applicableSections: '123'}}, bidderRequest); + const request = spec.buildRequests(bidRequests, bidderRequestWithGPP); + expect(request.data.params).to.be.an('object'); + expect(request.data.params).to.have.property('gppString', 'test-consent-string'); + expect(request.data.params).to.have.property('gppSid', '123'); + }); + it('should have schain param if it is available in the bidRequest', () => { const schain = { ver: '1.0', diff --git a/test/spec/modules/riseBidAdapter_spec.js b/test/spec/modules/riseBidAdapter_spec.js index 28bd123cb5d..1c99e5edb48 100644 --- a/test/spec/modules/riseBidAdapter_spec.js +++ b/test/spec/modules/riseBidAdapter_spec.js @@ -324,6 +324,22 @@ describe('riseAdapter', function () { expect(request.data.params).to.have.property('gdpr_consent', 'test-consent-string'); }); + it('should not send the gpp param if gppConsent is false in the bidRequest', function () { + const bidderRequestWithGPP = Object.assign({gppConsent: false}, bidderRequest); + const request = spec.buildRequests(bidRequests, bidderRequestWithGPP); + expect(request.data.params).to.be.an('object'); + expect(request.data.params).to.not.have.property('gppString'); + expect(request.data.params).to.not.have.property('gppSid'); + }); + + it('should send the gpp param if gppConsent is true in the bidRequest', function () { + const bidderRequestWithGPP = Object.assign({gppConsent: {gppString: 'test-consent-string', applicableSections: '123'}}, bidderRequest); + const request = spec.buildRequests(bidRequests, bidderRequestWithGPP); + expect(request.data.params).to.be.an('object'); + expect(request.data.params).to.have.property('gppString', 'test-consent-string'); + expect(request.data.params).to.have.property('gppSid', '123'); + }); + it('should have schain param if it is available in the bidRequest', () => { const schain = { ver: '1.0', From 0b4649b4d89ee57a80044f8e6a30082e9ea52db2 Mon Sep 17 00:00:00 2001 From: Inna Yaretsky <> Date: Mon, 5 Feb 2024 11:37:17 +0200 Subject: [PATCH 2/5] modified tests --- modules/minutemediaBidAdapter.js | 8 ++++---- modules/riseBidAdapter.js | 8 ++++---- test/spec/modules/minutemediaBidAdapter_spec.js | 10 +++++----- test/spec/modules/riseBidAdapter_spec.js | 10 +++++----- 4 files changed, 18 insertions(+), 18 deletions(-) diff --git a/modules/minutemediaBidAdapter.js b/modules/minutemediaBidAdapter.js index ecb6d0241fb..af382a284b4 100644 --- a/modules/minutemediaBidAdapter.js +++ b/modules/minutemediaBidAdapter.js @@ -461,11 +461,11 @@ function generateGeneralParams(generalObject, bidderRequest) { } if (bidderRequest.gppConsent) { - generalBidParams.gppString = bidderRequest.gppConsent.gppString; - generalBidParams.gppSid = bidderRequest.gppConsent.applicableSections; + generalBidParams.gpp = bidderRequest.gppConsent.gppString; + generalBidParams.gpp_sid = bidderRequest.gppConsent.applicableSections; } else if (bidderRequest.ortb2?.regs?.gpp) { - generalBidParams.gppString = bidderRequest.ortb2.regs.gpp; - generalBidParams.gppSid = bidderRequest.ortb2.regs.gpp_sid; + generalBidParams.gpp = bidderRequest.ortb2.regs.gpp; + generalBidParams.gpp_sid = bidderRequest.ortb2.regs.gpp_sid; } if (generalBidParams.ifa) { diff --git a/modules/riseBidAdapter.js b/modules/riseBidAdapter.js index 49eda2cc2d8..fb60146f1e5 100644 --- a/modules/riseBidAdapter.js +++ b/modules/riseBidAdapter.js @@ -471,11 +471,11 @@ function generateGeneralParams(generalObject, bidderRequest) { } if (bidderRequest.gppConsent) { - generalBidParams.gppString = bidderRequest.gppConsent.gppString; - generalBidParams.gppSid = bidderRequest.gppConsent.applicableSections; + generalBidParams.gpp = bidderRequest.gppConsent.gppString; + generalBidParams.gpp_sid = bidderRequest.gppConsent.applicableSections; } else if (bidderRequest.ortb2?.regs?.gpp) { - generalBidParams.gppString = bidderRequest.ortb2.regs.gpp; - generalBidParams.gppSid = bidderRequest.ortb2.regs.gpp_sid; + generalBidParams.gpp = bidderRequest.ortb2.regs.gpp; + generalBidParams.gpp_sid = bidderRequest.ortb2.regs.gpp_sid; } if (generalBidParams.ifa) { diff --git a/test/spec/modules/minutemediaBidAdapter_spec.js b/test/spec/modules/minutemediaBidAdapter_spec.js index 314b3763e8a..df9b14a8ecf 100644 --- a/test/spec/modules/minutemediaBidAdapter_spec.js +++ b/test/spec/modules/minutemediaBidAdapter_spec.js @@ -305,16 +305,16 @@ describe('minutemediaAdapter', function () { const bidderRequestWithGPP = Object.assign({gppConsent: false}, bidderRequest); const request = spec.buildRequests(bidRequests, bidderRequestWithGPP); expect(request.data.params).to.be.an('object'); - expect(request.data.params).to.not.have.property('gppString'); - expect(request.data.params).to.not.have.property('gppSid'); + expect(request.data.params).to.not.have.property('gpp'); + expect(request.data.params).to.not.have.property('gpp_sid'); }); it('should send the gpp param if gppConsent is true in the bidRequest', function () { - const bidderRequestWithGPP = Object.assign({gppConsent: {gppString: 'test-consent-string', applicableSections: '123'}}, bidderRequest); + const bidderRequestWithGPP = Object.assign({gppConsent: {gppString: 'test-consent-string', applicableSections: [7]}}, bidderRequest); const request = spec.buildRequests(bidRequests, bidderRequestWithGPP); expect(request.data.params).to.be.an('object'); - expect(request.data.params).to.have.property('gppString', 'test-consent-string'); - expect(request.data.params).to.have.property('gppSid', '123'); + expect(request.data.params).to.have.property('gpp', 'test-consent-string'); + expect(request.data.params.gpp_sid).to.be.equal([7]); }); it('should have schain param if it is available in the bidRequest', () => { diff --git a/test/spec/modules/riseBidAdapter_spec.js b/test/spec/modules/riseBidAdapter_spec.js index 1c99e5edb48..7ec596a5054 100644 --- a/test/spec/modules/riseBidAdapter_spec.js +++ b/test/spec/modules/riseBidAdapter_spec.js @@ -328,16 +328,16 @@ describe('riseAdapter', function () { const bidderRequestWithGPP = Object.assign({gppConsent: false}, bidderRequest); const request = spec.buildRequests(bidRequests, bidderRequestWithGPP); expect(request.data.params).to.be.an('object'); - expect(request.data.params).to.not.have.property('gppString'); - expect(request.data.params).to.not.have.property('gppSid'); + expect(request.data.params).to.not.have.property('gpp'); + expect(request.data.params).to.not.have.property('gpp_sid'); }); it('should send the gpp param if gppConsent is true in the bidRequest', function () { - const bidderRequestWithGPP = Object.assign({gppConsent: {gppString: 'test-consent-string', applicableSections: '123'}}, bidderRequest); + const bidderRequestWithGPP = Object.assign({gppConsent: {gppString: 'test-consent-string', applicableSections: [7]}}, bidderRequest); const request = spec.buildRequests(bidRequests, bidderRequestWithGPP); expect(request.data.params).to.be.an('object'); - expect(request.data.params).to.have.property('gppString', 'test-consent-string'); - expect(request.data.params).to.have.property('gppSid', '123'); + expect(request.data.params).to.have.property('gpp', 'test-consent-string'); + expect(request.data.params.gpp_sid).to.be.equal([7]); }); it('should have schain param if it is available in the bidRequest', () => { From ca6a0d88088d361b0c9a189b48665b42e9b127dd Mon Sep 17 00:00:00 2001 From: Inna Yaretsky <> Date: Mon, 5 Feb 2024 11:54:17 +0200 Subject: [PATCH 3/5] removed mm gpp support --- modules/minutemediaBidAdapter.js | 8 -------- test/spec/modules/minutemediaBidAdapter_spec.js | 16 ---------------- 2 files changed, 24 deletions(-) diff --git a/modules/minutemediaBidAdapter.js b/modules/minutemediaBidAdapter.js index af382a284b4..a4158e2abfa 100644 --- a/modules/minutemediaBidAdapter.js +++ b/modules/minutemediaBidAdapter.js @@ -460,14 +460,6 @@ function generateGeneralParams(generalObject, bidderRequest) { generalParams.gdpr_consent = bidderRequest.gdprConsent.consentString; } - if (bidderRequest.gppConsent) { - generalBidParams.gpp = bidderRequest.gppConsent.gppString; - generalBidParams.gpp_sid = bidderRequest.gppConsent.applicableSections; - } else if (bidderRequest.ortb2?.regs?.gpp) { - generalBidParams.gpp = bidderRequest.ortb2.regs.gpp; - generalBidParams.gpp_sid = bidderRequest.ortb2.regs.gpp_sid; - } - if (generalBidParams.ifa) { generalParams.ifa = generalBidParams.ifa; } diff --git a/test/spec/modules/minutemediaBidAdapter_spec.js b/test/spec/modules/minutemediaBidAdapter_spec.js index df9b14a8ecf..7e22114aeed 100644 --- a/test/spec/modules/minutemediaBidAdapter_spec.js +++ b/test/spec/modules/minutemediaBidAdapter_spec.js @@ -301,22 +301,6 @@ describe('minutemediaAdapter', function () { expect(request.data.params).to.have.property('gdpr_consent', 'test-consent-string'); }); - it('should not send the gpp param if gppConsent is false in the bidRequest', function () { - const bidderRequestWithGPP = Object.assign({gppConsent: false}, bidderRequest); - const request = spec.buildRequests(bidRequests, bidderRequestWithGPP); - expect(request.data.params).to.be.an('object'); - expect(request.data.params).to.not.have.property('gpp'); - expect(request.data.params).to.not.have.property('gpp_sid'); - }); - - it('should send the gpp param if gppConsent is true in the bidRequest', function () { - const bidderRequestWithGPP = Object.assign({gppConsent: {gppString: 'test-consent-string', applicableSections: [7]}}, bidderRequest); - const request = spec.buildRequests(bidRequests, bidderRequestWithGPP); - expect(request.data.params).to.be.an('object'); - expect(request.data.params).to.have.property('gpp', 'test-consent-string'); - expect(request.data.params.gpp_sid).to.be.equal([7]); - }); - it('should have schain param if it is available in the bidRequest', () => { const schain = { ver: '1.0', From f0920e5bf51b499da2483a52ed39d94835340ebb Mon Sep 17 00:00:00 2001 From: Inna Yaretsky <> Date: Mon, 5 Feb 2024 12:25:13 +0200 Subject: [PATCH 4/5] updated rise test --- test/spec/modules/riseBidAdapter_spec.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/spec/modules/riseBidAdapter_spec.js b/test/spec/modules/riseBidAdapter_spec.js index 7ec596a5054..6e8ae6709c7 100644 --- a/test/spec/modules/riseBidAdapter_spec.js +++ b/test/spec/modules/riseBidAdapter_spec.js @@ -333,10 +333,10 @@ describe('riseAdapter', function () { }); it('should send the gpp param if gppConsent is true in the bidRequest', function () { - const bidderRequestWithGPP = Object.assign({gppConsent: {gppString: 'test-consent-string', applicableSections: [7]}}, bidderRequest); + const bidderRequestWithGPP = Object.assign({gppConsent: {gppString: 'gpp-consent', applicableSections: [7]}}, bidderRequest); const request = spec.buildRequests(bidRequests, bidderRequestWithGPP); expect(request.data.params).to.be.an('object'); - expect(request.data.params).to.have.property('gpp', 'test-consent-string'); + expect(request.data.params).to.have.property('gpp', 'gpp-consent'); expect(request.data.params.gpp_sid).to.be.equal([7]); }); From 7dbf49931ff205ba63219edca2716ca43baf4160 Mon Sep 17 00:00:00 2001 From: Inna Yaretsky <> Date: Mon, 5 Feb 2024 14:40:59 +0200 Subject: [PATCH 5/5] fix for gpp section --- modules/riseBidAdapter.js | 10 +++++----- test/spec/modules/riseBidAdapter_spec.js | 8 +++++--- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/modules/riseBidAdapter.js b/modules/riseBidAdapter.js index fb60146f1e5..82790805303 100644 --- a/modules/riseBidAdapter.js +++ b/modules/riseBidAdapter.js @@ -470,12 +470,12 @@ function generateGeneralParams(generalObject, bidderRequest) { generalParams.gdpr_consent = bidderRequest.gdprConsent.consentString; } - if (bidderRequest.gppConsent) { - generalBidParams.gpp = bidderRequest.gppConsent.gppString; - generalBidParams.gpp_sid = bidderRequest.gppConsent.applicableSections; + if (bidderRequest && bidderRequest.gppConsent) { + generalParams.gpp = bidderRequest.gppConsent.gppString; + generalParams.gpp_sid = bidderRequest.gppConsent.applicableSections; } else if (bidderRequest.ortb2?.regs?.gpp) { - generalBidParams.gpp = bidderRequest.ortb2.regs.gpp; - generalBidParams.gpp_sid = bidderRequest.ortb2.regs.gpp_sid; + generalParams.gpp = bidderRequest.ortb2.regs.gpp; + generalParams.gpp_sid = bidderRequest.ortb2.regs.gpp_sid; } if (generalBidParams.ifa) { diff --git a/test/spec/modules/riseBidAdapter_spec.js b/test/spec/modules/riseBidAdapter_spec.js index 6e8ae6709c7..ec9309fd4ae 100644 --- a/test/spec/modules/riseBidAdapter_spec.js +++ b/test/spec/modules/riseBidAdapter_spec.js @@ -325,8 +325,8 @@ describe('riseAdapter', function () { }); it('should not send the gpp param if gppConsent is false in the bidRequest', function () { - const bidderRequestWithGPP = Object.assign({gppConsent: false}, bidderRequest); - const request = spec.buildRequests(bidRequests, bidderRequestWithGPP); + const bidderRequestWithoutGPP = Object.assign({gppConsent: false}, bidderRequest); + const request = spec.buildRequests(bidRequests, bidderRequestWithoutGPP); expect(request.data.params).to.be.an('object'); expect(request.data.params).to.not.have.property('gpp'); expect(request.data.params).to.not.have.property('gpp_sid'); @@ -335,9 +335,11 @@ describe('riseAdapter', function () { it('should send the gpp param if gppConsent is true in the bidRequest', function () { const bidderRequestWithGPP = Object.assign({gppConsent: {gppString: 'gpp-consent', applicableSections: [7]}}, bidderRequest); const request = spec.buildRequests(bidRequests, bidderRequestWithGPP); + console.log('request.data.params'); + console.log(request.data.params); expect(request.data.params).to.be.an('object'); expect(request.data.params).to.have.property('gpp', 'gpp-consent'); - expect(request.data.params.gpp_sid).to.be.equal([7]); + expect(request.data.params.gpp_sid[0]).to.be.equal(7); }); it('should have schain param if it is available in the bidRequest', () => {