Skip to content

Commit ec35946

Browse files
committed
Add test cases for consented_providers_settings
1 parent 2de8e6b commit ec35946

File tree

3 files changed

+54
-0
lines changed

3 files changed

+54
-0
lines changed
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package org.prebid.server.functional.model.request.auction
2+
3+
import com.fasterxml.jackson.databind.PropertyNamingStrategies
4+
import com.fasterxml.jackson.databind.annotation.JsonNaming
5+
import groovy.transform.ToString
6+
7+
@ToString(includeNames = true, ignoreNulls = true)
8+
@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy)
9+
class ConsentedProvidersSettings {
10+
11+
String consentedProviders
12+
}

src/test/groovy/org/prebid/server/functional/model/request/auction/UserExt.groovy

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package org.prebid.server.functional.model.request.auction
22

3+
import com.fasterxml.jackson.annotation.JsonProperty
34
import groovy.transform.ToString
45

56
@ToString(includeNames = true, ignoreNulls = true)
@@ -11,6 +12,8 @@ class UserExt {
1112
UserTime time
1213
UserExtData data
1314
UserExtPrebid prebid
15+
@JsonProperty("consented_providers_settings")
16+
ConsentedProvidersSettings consentedProvidersSettings
1417

1518
static UserExt getFPDUserExt() {
1619
new UserExt(data: UserExtData.FPDUserExtData)

src/test/groovy/org/prebid/server/functional/tests/AmpSpec.groovy

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -180,4 +180,43 @@ class AmpSpec extends BaseSpec {
180180
assert bidderRequest.imp[0]?.banner?.format[0]?.weight == ampStoredRequest.imp[0].banner.format[0].weight
181181
assert bidderRequest.regs?.gdpr == ampStoredRequest.regs.gdpr
182182
}
183+
184+
def "PBS should pass addtl_consent to user.ext.consented_providers_settings.consented_providers"() {
185+
given: "Default amp request with addtlConsent"
186+
def randomAddtlConsent = PBSUtils.randomString
187+
def ampRequest = AmpRequest.defaultAmpRequest.tap {
188+
addtlConsent = randomAddtlConsent
189+
}
190+
191+
and: "Save storedRequest into DB"
192+
def ampStoredRequest = BidRequest.defaultBidRequest
193+
def storedRequest = StoredRequest.getStoredRequest(ampRequest, ampStoredRequest)
194+
storedRequestDao.save(storedRequest)
195+
196+
when: "PBS processes amp request"
197+
defaultPbsService.sendAmpRequest(ampRequest)
198+
199+
then: "Bidder request should contain addtl consent"
200+
def bidderRequest = bidder.getBidderRequest(ampStoredRequest.id)
201+
assert bidderRequest.user.ext.consentedProvidersSettings.consentedProviders == randomAddtlConsent
202+
}
203+
204+
def "PBS shouldn't pass addtl_consent to user.ext.consented_providers_settings.consented_providers when addtl_consent not specified"() {
205+
given: "Default amp request without addtl_consent"
206+
def ampRequest = AmpRequest.defaultAmpRequest.tap {
207+
addtlConsent = null
208+
}
209+
210+
and: "Save storedRequest into DB"
211+
def ampStoredRequest = BidRequest.defaultBidRequest
212+
def storedRequest = StoredRequest.getStoredRequest(ampRequest, ampStoredRequest)
213+
storedRequestDao.save(storedRequest)
214+
215+
when: "PBS processes amp request"
216+
defaultPbsService.sendAmpRequest(ampRequest)
217+
218+
then: "Bidder request shouldn't contain addtl consent"
219+
def bidderRequest = bidder.getBidderRequest(ampStoredRequest.id)
220+
assert !bidderRequest.user.ext.consentedProvidersSettings.consentedProviders
221+
}
183222
}

0 commit comments

Comments
 (0)