From ec35946b7a89350c1da41f2cd987259ddc68a64a Mon Sep 17 00:00:00 2001 From: markiian Date: Mon, 25 Nov 2024 16:27:15 +0200 Subject: [PATCH 1/5] Add test cases for consented_providers_settings --- .../auction/ConsentedProvidersSettings.groovy | 12 ++++++ .../model/request/auction/UserExt.groovy | 3 ++ .../server/functional/tests/AmpSpec.groovy | 39 +++++++++++++++++++ 3 files changed, 54 insertions(+) create mode 100644 src/test/groovy/org/prebid/server/functional/model/request/auction/ConsentedProvidersSettings.groovy diff --git a/src/test/groovy/org/prebid/server/functional/model/request/auction/ConsentedProvidersSettings.groovy b/src/test/groovy/org/prebid/server/functional/model/request/auction/ConsentedProvidersSettings.groovy new file mode 100644 index 00000000000..aa7bd511cb2 --- /dev/null +++ b/src/test/groovy/org/prebid/server/functional/model/request/auction/ConsentedProvidersSettings.groovy @@ -0,0 +1,12 @@ +package org.prebid.server.functional.model.request.auction + +import com.fasterxml.jackson.databind.PropertyNamingStrategies +import com.fasterxml.jackson.databind.annotation.JsonNaming +import groovy.transform.ToString + +@ToString(includeNames = true, ignoreNulls = true) +@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy) +class ConsentedProvidersSettings { + + String consentedProviders +} diff --git a/src/test/groovy/org/prebid/server/functional/model/request/auction/UserExt.groovy b/src/test/groovy/org/prebid/server/functional/model/request/auction/UserExt.groovy index e547d8f37ed..871d1133619 100644 --- a/src/test/groovy/org/prebid/server/functional/model/request/auction/UserExt.groovy +++ b/src/test/groovy/org/prebid/server/functional/model/request/auction/UserExt.groovy @@ -1,5 +1,6 @@ package org.prebid.server.functional.model.request.auction +import com.fasterxml.jackson.annotation.JsonProperty import groovy.transform.ToString @ToString(includeNames = true, ignoreNulls = true) @@ -11,6 +12,8 @@ class UserExt { UserTime time UserExtData data UserExtPrebid prebid + @JsonProperty("consented_providers_settings") + ConsentedProvidersSettings consentedProvidersSettings static UserExt getFPDUserExt() { new UserExt(data: UserExtData.FPDUserExtData) diff --git a/src/test/groovy/org/prebid/server/functional/tests/AmpSpec.groovy b/src/test/groovy/org/prebid/server/functional/tests/AmpSpec.groovy index ac3ba146010..f8e668ff3b0 100644 --- a/src/test/groovy/org/prebid/server/functional/tests/AmpSpec.groovy +++ b/src/test/groovy/org/prebid/server/functional/tests/AmpSpec.groovy @@ -180,4 +180,43 @@ class AmpSpec extends BaseSpec { assert bidderRequest.imp[0]?.banner?.format[0]?.weight == ampStoredRequest.imp[0].banner.format[0].weight assert bidderRequest.regs?.gdpr == ampStoredRequest.regs.gdpr } + + def "PBS should pass addtl_consent to user.ext.consented_providers_settings.consented_providers"() { + given: "Default amp request with addtlConsent" + def randomAddtlConsent = PBSUtils.randomString + def ampRequest = AmpRequest.defaultAmpRequest.tap { + addtlConsent = randomAddtlConsent + } + + and: "Save storedRequest into DB" + def ampStoredRequest = BidRequest.defaultBidRequest + def storedRequest = StoredRequest.getStoredRequest(ampRequest, ampStoredRequest) + storedRequestDao.save(storedRequest) + + when: "PBS processes amp request" + defaultPbsService.sendAmpRequest(ampRequest) + + then: "Bidder request should contain addtl consent" + def bidderRequest = bidder.getBidderRequest(ampStoredRequest.id) + assert bidderRequest.user.ext.consentedProvidersSettings.consentedProviders == randomAddtlConsent + } + + def "PBS shouldn't pass addtl_consent to user.ext.consented_providers_settings.consented_providers when addtl_consent not specified"() { + given: "Default amp request without addtl_consent" + def ampRequest = AmpRequest.defaultAmpRequest.tap { + addtlConsent = null + } + + and: "Save storedRequest into DB" + def ampStoredRequest = BidRequest.defaultBidRequest + def storedRequest = StoredRequest.getStoredRequest(ampRequest, ampStoredRequest) + storedRequestDao.save(storedRequest) + + when: "PBS processes amp request" + defaultPbsService.sendAmpRequest(ampRequest) + + then: "Bidder request shouldn't contain addtl consent" + def bidderRequest = bidder.getBidderRequest(ampStoredRequest.id) + assert !bidderRequest.user.ext.consentedProvidersSettings.consentedProviders + } } From d9d83bc53344d00e5fbf454e60a2363191a41432 Mon Sep 17 00:00:00 2001 From: markiian Date: Tue, 3 Dec 2024 16:06:01 +0200 Subject: [PATCH 2/5] Increase tests coverage --- .../model/request/auction/UserExt.groovy | 6 +- .../server/functional/tests/AmpSpec.groovy | 68 ++++++++++++++++++- 2 files changed, 70 insertions(+), 4 deletions(-) diff --git a/src/test/groovy/org/prebid/server/functional/model/request/auction/UserExt.groovy b/src/test/groovy/org/prebid/server/functional/model/request/auction/UserExt.groovy index 871d1133619..a516d2ec0a9 100644 --- a/src/test/groovy/org/prebid/server/functional/model/request/auction/UserExt.groovy +++ b/src/test/groovy/org/prebid/server/functional/model/request/auction/UserExt.groovy @@ -1,9 +1,12 @@ package org.prebid.server.functional.model.request.auction import com.fasterxml.jackson.annotation.JsonProperty +import com.fasterxml.jackson.databind.PropertyNamingStrategies +import com.fasterxml.jackson.databind.annotation.JsonNaming import groovy.transform.ToString @ToString(includeNames = true, ignoreNulls = true) +@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy) class UserExt { String consent @@ -12,8 +15,9 @@ class UserExt { UserTime time UserExtData data UserExtPrebid prebid - @JsonProperty("consented_providers_settings") ConsentedProvidersSettings consentedProvidersSettings + @JsonProperty("ConsentedProvidersSettings") + ConsentedProvidersSettings consentedProvidersSettingsKebabCase static UserExt getFPDUserExt() { new UserExt(data: UserExtData.FPDUserExtData) diff --git a/src/test/groovy/org/prebid/server/functional/tests/AmpSpec.groovy b/src/test/groovy/org/prebid/server/functional/tests/AmpSpec.groovy index f8e668ff3b0..4fb105da993 100644 --- a/src/test/groovy/org/prebid/server/functional/tests/AmpSpec.groovy +++ b/src/test/groovy/org/prebid/server/functional/tests/AmpSpec.groovy @@ -4,9 +4,12 @@ import org.prebid.server.functional.model.db.StoredRequest import org.prebid.server.functional.model.db.StoredResponse import org.prebid.server.functional.model.request.amp.AmpRequest import org.prebid.server.functional.model.request.auction.BidRequest +import org.prebid.server.functional.model.request.auction.ConsentedProvidersSettings import org.prebid.server.functional.model.request.auction.DistributionChannel import org.prebid.server.functional.model.request.auction.Site import org.prebid.server.functional.model.request.auction.StoredAuctionResponse +import org.prebid.server.functional.model.request.auction.User +import org.prebid.server.functional.model.request.auction.UserExt import org.prebid.server.functional.model.response.auction.SeatBid import org.prebid.server.functional.service.PrebidServerException import org.prebid.server.functional.util.PBSUtils @@ -56,7 +59,7 @@ class AmpSpec extends BaseSpec { assert exception.responseBody == "Invalid request format: request.${channel.value.toLowerCase()} must not exist in AMP stored requests." where: - channel << [DistributionChannel.APP, DistributionChannel.DOOH] + channel << [DistributionChannel.APP, DistributionChannel.DOOH] } def "PBS should return info from the stored response when it's defined in the stored request"() { @@ -189,7 +192,36 @@ class AmpSpec extends BaseSpec { } and: "Save storedRequest into DB" - def ampStoredRequest = BidRequest.defaultBidRequest + def ampStoredRequest = BidRequest.defaultBidRequest.tap { + user = new User(ext: new UserExt( + consentedProvidersSettingsKebabCase: new ConsentedProvidersSettings(consentedProviders: PBSUtils.randomString), + consentedProvidersSettings: new ConsentedProvidersSettings(consentedProviders: PBSUtils.randomString))) + } + def storedRequest = StoredRequest.getStoredRequest(ampRequest, ampStoredRequest) + storedRequestDao.save(storedRequest) + + when: "PBS processes amp request" + defaultPbsService.sendAmpRequest(ampRequest) + + then: "Bidder request should contain addtl consent" + def bidderRequest = bidder.getBidderRequest(ampStoredRequest.id) + assert bidderRequest.user.ext.consentedProvidersSettingsKebabCase.consentedProviders == randomAddtlConsent + assert bidderRequest.user.ext.consentedProvidersSettings.consentedProviders == randomAddtlConsent + } + + def "PBS should pass addtl_consent to user.ext.ConsentedProvidersSettings.consented_providers"() { + given: "Default amp request with addtlConsent" + def randomAddtlConsent = PBSUtils.randomString + def ampRequest = AmpRequest.defaultAmpRequest.tap { + addtlConsent = randomAddtlConsent + } + + and: "Save storedRequest into DB" + def ampStoredRequest = BidRequest.defaultBidRequest.tap { + user = new User(ext: new UserExt( + consentedProvidersSettingsKebabCase: new ConsentedProvidersSettings(consentedProviders: PBSUtils.randomString), + consentedProvidersSettings: new ConsentedProvidersSettings(consentedProviders: PBSUtils.randomString))) + } def storedRequest = StoredRequest.getStoredRequest(ampRequest, ampStoredRequest) storedRequestDao.save(storedRequest) @@ -198,6 +230,7 @@ class AmpSpec extends BaseSpec { then: "Bidder request should contain addtl consent" def bidderRequest = bidder.getBidderRequest(ampStoredRequest.id) + assert bidderRequest.user.ext.consentedProvidersSettingsKebabCase.consentedProviders == randomAddtlConsent assert bidderRequest.user.ext.consentedProvidersSettings.consentedProviders == randomAddtlConsent } @@ -208,7 +241,35 @@ class AmpSpec extends BaseSpec { } and: "Save storedRequest into DB" - def ampStoredRequest = BidRequest.defaultBidRequest + def ampStoredRequest = BidRequest.defaultBidRequest.tap { + user = new User(ext: new UserExt( + consentedProvidersSettingsKebabCase: new ConsentedProvidersSettings(consentedProviders: PBSUtils.randomString), + consentedProvidersSettings: new ConsentedProvidersSettings(consentedProviders: PBSUtils.randomString))) + } + def storedRequest = StoredRequest.getStoredRequest(ampRequest, ampStoredRequest) + storedRequestDao.save(storedRequest) + + when: "PBS processes amp request" + defaultPbsService.sendAmpRequest(ampRequest) + + then: "Bidder request shouldn't contain addtl consent" + def bidderRequest = bidder.getBidderRequest(ampStoredRequest.id) + assert !bidderRequest.user.ext.consentedProvidersSettings.consentedProviders + assert !bidderRequest.user.ext.consentedProvidersSettingsKebabCase.consentedProviders + } + + def "PBS shouldn't pass addtl_consent to user.ext.ConsentedProvidersSettings.consented_providers when addtl_consent not specified"() { + given: "Default amp request without addtl_consent" + def ampRequest = AmpRequest.defaultAmpRequest.tap { + addtlConsent = null + } + + and: "Save storedRequest into DB" + def ampStoredRequest = BidRequest.defaultBidRequest.tap { + user = new User(ext: new UserExt( + consentedProvidersSettingsKebabCase: new ConsentedProvidersSettings(consentedProviders: PBSUtils.randomString), + consentedProvidersSettings: new ConsentedProvidersSettings(consentedProviders: PBSUtils.randomString))) + } def storedRequest = StoredRequest.getStoredRequest(ampRequest, ampStoredRequest) storedRequestDao.save(storedRequest) @@ -218,5 +279,6 @@ class AmpSpec extends BaseSpec { then: "Bidder request shouldn't contain addtl consent" def bidderRequest = bidder.getBidderRequest(ampStoredRequest.id) assert !bidderRequest.user.ext.consentedProvidersSettings.consentedProviders + assert !bidderRequest.user.ext.consentedProvidersSettingsKebabCase.consentedProviders } } From e0848e89e7190986570d460771d4e4d0bae6e31f Mon Sep 17 00:00:00 2001 From: markiian Date: Tue, 3 Dec 2024 16:10:49 +0200 Subject: [PATCH 3/5] Minor update --- .../server/functional/tests/AmpSpec.groovy | 55 +------------------ 1 file changed, 3 insertions(+), 52 deletions(-) diff --git a/src/test/groovy/org/prebid/server/functional/tests/AmpSpec.groovy b/src/test/groovy/org/prebid/server/functional/tests/AmpSpec.groovy index 4fb105da993..61726d1d189 100644 --- a/src/test/groovy/org/prebid/server/functional/tests/AmpSpec.groovy +++ b/src/test/groovy/org/prebid/server/functional/tests/AmpSpec.groovy @@ -184,7 +184,7 @@ class AmpSpec extends BaseSpec { assert bidderRequest.regs?.gdpr == ampStoredRequest.regs.gdpr } - def "PBS should pass addtl_consent to user.ext.consented_providers_settings.consented_providers"() { + def "PBS should pass addtl_consent to user.ext.{consented_providers_settings/ConsentedProvidersSettings}.consented_providers"() { given: "Default amp request with addtlConsent" def randomAddtlConsent = PBSUtils.randomString def ampRequest = AmpRequest.defaultAmpRequest.tap { @@ -209,33 +209,8 @@ class AmpSpec extends BaseSpec { assert bidderRequest.user.ext.consentedProvidersSettings.consentedProviders == randomAddtlConsent } - def "PBS should pass addtl_consent to user.ext.ConsentedProvidersSettings.consented_providers"() { + def "PBS shouldn't pass addtl_consent to user.ext.{consented_providers_settings/ConsentedProvidersSettings}.consented_providers"() { given: "Default amp request with addtlConsent" - def randomAddtlConsent = PBSUtils.randomString - def ampRequest = AmpRequest.defaultAmpRequest.tap { - addtlConsent = randomAddtlConsent - } - - and: "Save storedRequest into DB" - def ampStoredRequest = BidRequest.defaultBidRequest.tap { - user = new User(ext: new UserExt( - consentedProvidersSettingsKebabCase: new ConsentedProvidersSettings(consentedProviders: PBSUtils.randomString), - consentedProvidersSettings: new ConsentedProvidersSettings(consentedProviders: PBSUtils.randomString))) - } - def storedRequest = StoredRequest.getStoredRequest(ampRequest, ampStoredRequest) - storedRequestDao.save(storedRequest) - - when: "PBS processes amp request" - defaultPbsService.sendAmpRequest(ampRequest) - - then: "Bidder request should contain addtl consent" - def bidderRequest = bidder.getBidderRequest(ampStoredRequest.id) - assert bidderRequest.user.ext.consentedProvidersSettingsKebabCase.consentedProviders == randomAddtlConsent - assert bidderRequest.user.ext.consentedProvidersSettings.consentedProviders == randomAddtlConsent - } - - def "PBS shouldn't pass addtl_consent to user.ext.consented_providers_settings.consented_providers when addtl_consent not specified"() { - given: "Default amp request without addtl_consent" def ampRequest = AmpRequest.defaultAmpRequest.tap { addtlConsent = null } @@ -252,33 +227,9 @@ class AmpSpec extends BaseSpec { when: "PBS processes amp request" defaultPbsService.sendAmpRequest(ampRequest) - then: "Bidder request shouldn't contain addtl consent" + then: "Bidder request should contain addtl consent" def bidderRequest = bidder.getBidderRequest(ampStoredRequest.id) - assert !bidderRequest.user.ext.consentedProvidersSettings.consentedProviders assert !bidderRequest.user.ext.consentedProvidersSettingsKebabCase.consentedProviders - } - - def "PBS shouldn't pass addtl_consent to user.ext.ConsentedProvidersSettings.consented_providers when addtl_consent not specified"() { - given: "Default amp request without addtl_consent" - def ampRequest = AmpRequest.defaultAmpRequest.tap { - addtlConsent = null - } - - and: "Save storedRequest into DB" - def ampStoredRequest = BidRequest.defaultBidRequest.tap { - user = new User(ext: new UserExt( - consentedProvidersSettingsKebabCase: new ConsentedProvidersSettings(consentedProviders: PBSUtils.randomString), - consentedProvidersSettings: new ConsentedProvidersSettings(consentedProviders: PBSUtils.randomString))) - } - def storedRequest = StoredRequest.getStoredRequest(ampRequest, ampStoredRequest) - storedRequestDao.save(storedRequest) - - when: "PBS processes amp request" - defaultPbsService.sendAmpRequest(ampRequest) - - then: "Bidder request shouldn't contain addtl consent" - def bidderRequest = bidder.getBidderRequest(ampStoredRequest.id) assert !bidderRequest.user.ext.consentedProvidersSettings.consentedProviders - assert !bidderRequest.user.ext.consentedProvidersSettingsKebabCase.consentedProviders } } From 09654b106d38c6a5f5b277b0173ed86cdb3bab2d Mon Sep 17 00:00:00 2001 From: markiian Date: Tue, 3 Dec 2024 18:00:57 +0200 Subject: [PATCH 4/5] Minor update --- .../server/functional/tests/AmpSpec.groovy | 32 +++++++++++++++++-- 1 file changed, 29 insertions(+), 3 deletions(-) diff --git a/src/test/groovy/org/prebid/server/functional/tests/AmpSpec.groovy b/src/test/groovy/org/prebid/server/functional/tests/AmpSpec.groovy index 61726d1d189..59a69b32384 100644 --- a/src/test/groovy/org/prebid/server/functional/tests/AmpSpec.groovy +++ b/src/test/groovy/org/prebid/server/functional/tests/AmpSpec.groovy @@ -209,6 +209,32 @@ class AmpSpec extends BaseSpec { assert bidderRequest.user.ext.consentedProvidersSettings.consentedProviders == randomAddtlConsent } + def "PBS should leave requested user.ext.{consented_providers_settings/ConsentedProvidersSettings}.consented_providers as is"() { + given: "Default amp request with addtlConsent" + def ampRequest = AmpRequest.defaultAmpRequest.tap { + addtlConsent = null + } + + and: "Save storedRequest into DB" + def consentProvidersKebabCase = PBSUtils.randomString + def consentProviders = PBSUtils.randomString + def ampStoredRequest = BidRequest.defaultBidRequest.tap { + user = new User(ext: new UserExt( + consentedProvidersSettingsKebabCase: new ConsentedProvidersSettings(consentedProviders: consentProvidersKebabCase), + consentedProvidersSettings: new ConsentedProvidersSettings(consentedProviders: consentProviders))) + } + def storedRequest = StoredRequest.getStoredRequest(ampRequest, ampStoredRequest) + storedRequestDao.save(storedRequest) + + when: "PBS processes amp request" + defaultPbsService.sendAmpRequest(ampRequest) + + then: "Bidder request should contain requested consent" + def bidderRequest = bidder.getBidderRequest(ampStoredRequest.id) + assert bidderRequest.user.ext.consentedProvidersSettingsKebabCase.consentedProviders == consentProvidersKebabCase + assert bidderRequest.user.ext.consentedProvidersSettings.consentedProviders == consentProviders + } + def "PBS shouldn't pass addtl_consent to user.ext.{consented_providers_settings/ConsentedProvidersSettings}.consented_providers"() { given: "Default amp request with addtlConsent" def ampRequest = AmpRequest.defaultAmpRequest.tap { @@ -218,8 +244,8 @@ class AmpSpec extends BaseSpec { and: "Save storedRequest into DB" def ampStoredRequest = BidRequest.defaultBidRequest.tap { user = new User(ext: new UserExt( - consentedProvidersSettingsKebabCase: new ConsentedProvidersSettings(consentedProviders: PBSUtils.randomString), - consentedProvidersSettings: new ConsentedProvidersSettings(consentedProviders: PBSUtils.randomString))) + consentedProvidersSettingsKebabCase: new ConsentedProvidersSettings(consentedProviders: null), + consentedProvidersSettings: new ConsentedProvidersSettings(consentedProviders: null))) } def storedRequest = StoredRequest.getStoredRequest(ampRequest, ampStoredRequest) storedRequestDao.save(storedRequest) @@ -227,7 +253,7 @@ class AmpSpec extends BaseSpec { when: "PBS processes amp request" defaultPbsService.sendAmpRequest(ampRequest) - then: "Bidder request should contain addtl consent" + then: "Bidder request shouldn't contain consent" def bidderRequest = bidder.getBidderRequest(ampStoredRequest.id) assert !bidderRequest.user.ext.consentedProvidersSettingsKebabCase.consentedProviders assert !bidderRequest.user.ext.consentedProvidersSettings.consentedProviders From 8ea4c0914ad6792d581b0a0a6ffda0c35e6997cb Mon Sep 17 00:00:00 2001 From: markiian Date: Wed, 4 Dec 2024 10:37:36 +0200 Subject: [PATCH 5/5] Update after review --- .../model/request/auction/UserExt.groovy | 2 +- .../server/functional/tests/AmpSpec.groovy | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/test/groovy/org/prebid/server/functional/model/request/auction/UserExt.groovy b/src/test/groovy/org/prebid/server/functional/model/request/auction/UserExt.groovy index a516d2ec0a9..af07e197c28 100644 --- a/src/test/groovy/org/prebid/server/functional/model/request/auction/UserExt.groovy +++ b/src/test/groovy/org/prebid/server/functional/model/request/auction/UserExt.groovy @@ -17,7 +17,7 @@ class UserExt { UserExtPrebid prebid ConsentedProvidersSettings consentedProvidersSettings @JsonProperty("ConsentedProvidersSettings") - ConsentedProvidersSettings consentedProvidersSettingsKebabCase + ConsentedProvidersSettings consentedProvidersSettingsCamelCase static UserExt getFPDUserExt() { new UserExt(data: UserExtData.FPDUserExtData) diff --git a/src/test/groovy/org/prebid/server/functional/tests/AmpSpec.groovy b/src/test/groovy/org/prebid/server/functional/tests/AmpSpec.groovy index 59a69b32384..96a78df89a8 100644 --- a/src/test/groovy/org/prebid/server/functional/tests/AmpSpec.groovy +++ b/src/test/groovy/org/prebid/server/functional/tests/AmpSpec.groovy @@ -194,7 +194,7 @@ class AmpSpec extends BaseSpec { and: "Save storedRequest into DB" def ampStoredRequest = BidRequest.defaultBidRequest.tap { user = new User(ext: new UserExt( - consentedProvidersSettingsKebabCase: new ConsentedProvidersSettings(consentedProviders: PBSUtils.randomString), + consentedProvidersSettingsCamelCase: new ConsentedProvidersSettings(consentedProviders: PBSUtils.randomString), consentedProvidersSettings: new ConsentedProvidersSettings(consentedProviders: PBSUtils.randomString))) } def storedRequest = StoredRequest.getStoredRequest(ampRequest, ampStoredRequest) @@ -205,11 +205,11 @@ class AmpSpec extends BaseSpec { then: "Bidder request should contain addtl consent" def bidderRequest = bidder.getBidderRequest(ampStoredRequest.id) - assert bidderRequest.user.ext.consentedProvidersSettingsKebabCase.consentedProviders == randomAddtlConsent + assert bidderRequest.user.ext.consentedProvidersSettingsCamelCase.consentedProviders == randomAddtlConsent assert bidderRequest.user.ext.consentedProvidersSettings.consentedProviders == randomAddtlConsent } - def "PBS should leave requested user.ext.{consented_providers_settings/ConsentedProvidersSettings}.consented_providers as is"() { + def "PBS should process original user.ext.{consented_providers_settings/ConsentedProvidersSettings}.consented_providers when ampRequest doesn't contain addtl_consent"() { given: "Default amp request with addtlConsent" def ampRequest = AmpRequest.defaultAmpRequest.tap { addtlConsent = null @@ -220,7 +220,7 @@ class AmpSpec extends BaseSpec { def consentProviders = PBSUtils.randomString def ampStoredRequest = BidRequest.defaultBidRequest.tap { user = new User(ext: new UserExt( - consentedProvidersSettingsKebabCase: new ConsentedProvidersSettings(consentedProviders: consentProvidersKebabCase), + consentedProvidersSettingsCamelCase: new ConsentedProvidersSettings(consentedProviders: consentProvidersKebabCase), consentedProvidersSettings: new ConsentedProvidersSettings(consentedProviders: consentProviders))) } def storedRequest = StoredRequest.getStoredRequest(ampRequest, ampStoredRequest) @@ -231,11 +231,11 @@ class AmpSpec extends BaseSpec { then: "Bidder request should contain requested consent" def bidderRequest = bidder.getBidderRequest(ampStoredRequest.id) - assert bidderRequest.user.ext.consentedProvidersSettingsKebabCase.consentedProviders == consentProvidersKebabCase + assert bidderRequest.user.ext.consentedProvidersSettingsCamelCase.consentedProviders == consentProvidersKebabCase assert bidderRequest.user.ext.consentedProvidersSettings.consentedProviders == consentProviders } - def "PBS shouldn't pass addtl_consent to user.ext.{consented_providers_settings/ConsentedProvidersSettings}.consented_providers"() { + def "PBS should left user.ext.{consented_providers_settings/ConsentedProvidersSettings}.consented_providers empty when addtl_consent and original fields are empty"() { given: "Default amp request with addtlConsent" def ampRequest = AmpRequest.defaultAmpRequest.tap { addtlConsent = null @@ -244,7 +244,7 @@ class AmpSpec extends BaseSpec { and: "Save storedRequest into DB" def ampStoredRequest = BidRequest.defaultBidRequest.tap { user = new User(ext: new UserExt( - consentedProvidersSettingsKebabCase: new ConsentedProvidersSettings(consentedProviders: null), + consentedProvidersSettingsCamelCase: new ConsentedProvidersSettings(consentedProviders: null), consentedProvidersSettings: new ConsentedProvidersSettings(consentedProviders: null))) } def storedRequest = StoredRequest.getStoredRequest(ampRequest, ampStoredRequest) @@ -255,7 +255,7 @@ class AmpSpec extends BaseSpec { then: "Bidder request shouldn't contain consent" def bidderRequest = bidder.getBidderRequest(ampStoredRequest.id) - assert !bidderRequest.user.ext.consentedProvidersSettingsKebabCase.consentedProviders + assert !bidderRequest.user.ext.consentedProvidersSettingsCamelCase.consentedProviders assert !bidderRequest.user.ext.consentedProvidersSettings.consentedProviders } }